@corellium/corellium-cli 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) hide show
  1. package/README.md +4 -16
  2. package/docs/OVERVIEW.md +2 -2
  3. package/example/WebPlayerSample.js +93 -37
  4. package/jenkinsbuild/build.sh +1 -1
  5. package/node_modules/@babel/cli/node_modules/commander/package.json +27 -58
  6. package/node_modules/@babel/cli/node_modules/make-dir/package.json +62 -93
  7. package/node_modules/@babel/cli/node_modules/pify/package.json +54 -85
  8. package/node_modules/@babel/cli/node_modules/semver/package.json +20 -51
  9. package/node_modules/@babel/cli/node_modules/slash/package.json +37 -68
  10. package/node_modules/@babel/cli/package.json +37 -69
  11. package/node_modules/@corellium/client-api/package.json +15 -40
  12. package/node_modules/@jridgewell/resolve-uri/package.json +40 -75
  13. package/node_modules/@jridgewell/sourcemap-codec/package.json +43 -74
  14. package/node_modules/@jridgewell/trace-mapping/package.json +40 -72
  15. package/node_modules/@mapbox/node-pre-gyp/package.json +27 -61
  16. package/node_modules/@nicolo-ribaudo/chokidar-2/package.json +22 -55
  17. package/node_modules/abbrev/package.json +18 -52
  18. package/node_modules/agent-base/package.json +33 -62
  19. package/node_modules/ansi-regex/package.json +58 -89
  20. package/node_modules/ansi-styles/package.json +59 -95
  21. package/node_modules/anymatch/package.json +28 -56
  22. package/node_modules/aproba/package.json +23 -50
  23. package/node_modules/are-we-there-yet/node_modules/readable-stream/package.json +32 -60
  24. package/node_modules/are-we-there-yet/package.json +32 -62
  25. package/node_modules/ascii-art/package.json +51 -83
  26. package/node_modules/ascii-art-ansi/package.json +30 -61
  27. package/node_modules/ascii-art-braille/package.json +7 -32
  28. package/node_modules/ascii-art-font/package.json +17 -47
  29. package/node_modules/ascii-art-graph/package.json +10 -34
  30. package/node_modules/ascii-art-image/node_modules/ascii-art-braille/package.json +7 -32
  31. package/node_modules/ascii-art-image/package.json +11 -36
  32. package/node_modules/ascii-art-table/package.json +10 -35
  33. package/node_modules/ascii-art-utf/package.json +18 -47
  34. package/node_modules/async/package.json +29 -55
  35. package/node_modules/async-arrays/package.json +34 -62
  36. package/node_modules/asynckit/package.json +45 -74
  37. package/node_modules/axios/package.json +46 -72
  38. package/node_modules/balanced-match/package.json +22 -49
  39. package/node_modules/binary-extensions/package.json +41 -73
  40. package/node_modules/brace-expansion/package.json +23 -50
  41. package/node_modules/braces/package.json +30 -76
  42. package/node_modules/call-bind/package.json +83 -125
  43. package/node_modules/canvas/package.json +43 -86
  44. package/node_modules/chokidar/package.json +40 -74
  45. package/node_modules/chownr/package.json +24 -56
  46. package/node_modules/cli/package.json +23 -70
  47. package/node_modules/cliui/package.json +53 -87
  48. package/node_modules/color/node_modules/color-convert/package.json +26 -60
  49. package/node_modules/color/node_modules/color-name/package.json +18 -45
  50. package/node_modules/color/package.json +26 -57
  51. package/node_modules/color-convert/package.json +25 -59
  52. package/node_modules/color-difference/package.json +26 -52
  53. package/node_modules/color-model/package.json +17 -44
  54. package/node_modules/color-name/package.json +32 -60
  55. package/node_modules/color-string/package.json +26 -67
  56. package/node_modules/color-support/package.json +26 -60
  57. package/node_modules/combined-stream/package.json +19 -52
  58. package/node_modules/component-emitter/package.json +17 -45
  59. package/node_modules/concat-map/package.json +45 -89
  60. package/node_modules/console-control-strings/package.json +22 -55
  61. package/node_modules/convert-source-map/package.json +28 -55
  62. package/node_modules/cookiejar/package.json +16 -44
  63. package/node_modules/core-util-is/package.json +21 -51
  64. package/node_modules/d3/package.json +43 -70
  65. package/node_modules/d3-array/package.json +24 -55
  66. package/node_modules/d3-axis/package.json +27 -54
  67. package/node_modules/d3-brush/package.json +33 -60
  68. package/node_modules/d3-chord/package.json +28 -55
  69. package/node_modules/d3-collection/package.json +25 -54
  70. package/node_modules/d3-color/package.json +2 -2
  71. package/node_modules/d3-contour/package.json +27 -54
  72. package/node_modules/d3-dispatch/package.json +28 -60
  73. package/node_modules/d3-drag/package.json +32 -61
  74. package/node_modules/d3-dsv/node_modules/commander/package.json +25 -56
  75. package/node_modules/d3-dsv/package.json +36 -64
  76. package/node_modules/d3-ease/package.json +28 -56
  77. package/node_modules/d3-fetch/package.json +31 -58
  78. package/node_modules/d3-force/package.json +30 -57
  79. package/node_modules/d3-format/package.json +29 -57
  80. package/node_modules/d3-geo/package.json +35 -62
  81. package/node_modules/d3-hierarchy/package.json +33 -60
  82. package/node_modules/d3-interpolate/package.json +31 -63
  83. package/node_modules/d3-path/package.json +28 -57
  84. package/node_modules/d3-polygon/package.json +28 -55
  85. package/node_modules/d3-quadtree/package.json +29 -57
  86. package/node_modules/d3-random/package.json +26 -53
  87. package/node_modules/d3-scale/package.json +29 -56
  88. package/node_modules/d3-scale-chromatic/package.json +33 -60
  89. package/node_modules/d3-selection/package.json +29 -60
  90. package/node_modules/d3-shape/package.json +32 -59
  91. package/node_modules/d3-time/package.json +28 -57
  92. package/node_modules/d3-time-format/package.json +33 -61
  93. package/node_modules/d3-timer/package.json +28 -57
  94. package/node_modules/d3-transition/package.json +35 -64
  95. package/node_modules/d3-voronoi/package.json +24 -51
  96. package/node_modules/d3-zoom/package.json +34 -61
  97. package/node_modules/debug/package.json +37 -87
  98. package/node_modules/decompress-response/package.json +53 -84
  99. package/node_modules/delayed-stream/package.json +19 -53
  100. package/node_modules/delegates/package.json +11 -45
  101. package/node_modules/detect-libc/package.json +26 -60
  102. package/node_modules/dirname-shim/package.json +26 -60
  103. package/node_modules/dotenv/package.json +37 -64
  104. package/node_modules/duplexer/package.json +18 -49
  105. package/node_modules/emoji-regex/package.json +32 -58
  106. package/node_modules/escalade/package.json +28 -59
  107. package/node_modules/extended-emitter/package.json +37 -65
  108. package/node_modules/fast-safe-stringify/package.json +33 -73
  109. package/node_modules/fill-range/package.json +28 -72
  110. package/node_modules/follow-redirects/package.json +42 -77
  111. package/node_modules/form-data/package.json +42 -74
  112. package/node_modules/formidable/package.json +22 -52
  113. package/node_modules/fs-minipass/package.json +24 -52
  114. package/node_modules/fs-readdir-recursive/package.json +20 -50
  115. package/node_modules/fs.realpath/package.json +21 -53
  116. package/node_modules/fsevents/package.json +38 -63
  117. package/node_modules/ftp-response-parser/node_modules/isarray/package.json +22 -54
  118. package/node_modules/ftp-response-parser/node_modules/readable-stream/package.json +22 -55
  119. package/node_modules/ftp-response-parser/node_modules/string_decoder/package.json +17 -45
  120. package/node_modules/ftp-response-parser/package.json +23 -64
  121. package/node_modules/function-bind/package.json +28 -61
  122. package/node_modules/gauge/package.json +25 -52
  123. package/node_modules/generate-password/package.json +28 -54
  124. package/node_modules/get-caller-file/package.json +27 -53
  125. package/node_modules/get-intrinsic/package.json +91 -124
  126. package/node_modules/glob/package.json +34 -68
  127. package/node_modules/glob-parent/package.json +27 -70
  128. package/node_modules/has/package.json +26 -55
  129. package/node_modules/has-symbols/package.json +104 -133
  130. package/node_modules/has-unicode/package.json +25 -52
  131. package/node_modules/https-proxy-agent/package.json +30 -59
  132. package/node_modules/iconv-lite/package.json +48 -77
  133. package/node_modules/inflight/package.json +20 -48
  134. package/node_modules/inherits/package.json +17 -54
  135. package/node_modules/is-binary-path/package.json +43 -75
  136. package/node_modules/is-extglob/package.json +22 -52
  137. package/node_modules/is-fullwidth-code-point/package.json +45 -79
  138. package/node_modules/is-glob/package.json +26 -68
  139. package/node_modules/is-number/package.json +26 -65
  140. package/node_modules/jsftp/node_modules/debug/package.json +28 -67
  141. package/node_modules/jsftp/package.json +22 -59
  142. package/node_modules/json2csv/node_modules/commander/package.json +25 -56
  143. package/node_modules/json2csv/package.json +37 -64
  144. package/node_modules/jsonparse/package.json +18 -53
  145. package/node_modules/lodash/package.json +15 -61
  146. package/node_modules/lodash.get/package.json +16 -67
  147. package/node_modules/lru-cache/package.json +27 -61
  148. package/node_modules/make-dir/node_modules/semver/package.json +20 -51
  149. package/node_modules/make-dir/package.json +62 -93
  150. package/node_modules/maplex/package.json +22 -54
  151. package/node_modules/methods/package.json +22 -64
  152. package/node_modules/mime/package.json +20 -48
  153. package/node_modules/mime-db/package.json +25 -67
  154. package/node_modules/mime-types/package.json +20 -64
  155. package/node_modules/mimic-response/package.json +45 -76
  156. package/node_modules/minimatch/package.json +25 -61
  157. package/node_modules/minipass/package.json +30 -64
  158. package/node_modules/minizlib/package.json +27 -59
  159. package/node_modules/mkdirp/package.json +27 -57
  160. package/node_modules/ms/package.json +24 -58
  161. package/node_modules/multi-progress/package.json +20 -46
  162. package/node_modules/nan/package.json +27 -87
  163. package/node_modules/node-fetch/package.json +77 -104
  164. package/node_modules/nopt/package.json +22 -54
  165. package/node_modules/normalize-path/package.json +25 -63
  166. package/node_modules/npmlog/package.json +23 -55
  167. package/node_modules/object-assign/package.json +20 -51
  168. package/node_modules/object-inspect/package.json +53 -81
  169. package/node_modules/once/package.json +19 -56
  170. package/node_modules/parse-listing/package.json +27 -56
  171. package/node_modules/path-is-absolute/package.json +16 -47
  172. package/node_modules/picomatch/package.json +28 -60
  173. package/node_modules/progress/package.json +21 -65
  174. package/node_modules/qs/package.json +78 -105
  175. package/node_modules/readdirp/package.json +47 -83
  176. package/node_modules/require-directory/package.json +29 -57
  177. package/node_modules/rimraf/package.json +23 -61
  178. package/node_modules/rw/package.json +19 -46
  179. package/node_modules/safe-buffer/package.json +10 -38
  180. package/node_modules/safer-buffer/package.json +18 -43
  181. package/node_modules/semver/package.json +36 -70
  182. package/node_modules/set-blocking/package.json +29 -56
  183. package/node_modules/side-channel/package.json +70 -98
  184. package/node_modules/sift/package.json +30 -62
  185. package/node_modules/signal-exit/package.json +29 -58
  186. package/node_modules/simple-concat/package.json +22 -46
  187. package/node_modules/simple-get/package.json +9 -33
  188. package/node_modules/simple-swizzle/node_modules/is-arrayish/package.json +28 -59
  189. package/node_modules/simple-swizzle/package.json +23 -57
  190. package/node_modules/strangler/package.json +39 -67
  191. package/node_modules/stream-combiner/package.json +15 -48
  192. package/node_modules/string-tools/package.json +16 -50
  193. package/node_modules/string-width/package.json +59 -97
  194. package/node_modules/string_decoder/package.json +18 -47
  195. package/node_modules/strip-ansi/package.json +57 -94
  196. package/node_modules/superagent/node_modules/form-data/package.json +42 -74
  197. package/node_modules/superagent/node_modules/readable-stream/package.json +32 -60
  198. package/node_modules/superagent/package.json +13 -59
  199. package/node_modules/tar/package.json +27 -59
  200. package/node_modules/through/package.json +17 -50
  201. package/node_modules/to-regex-range/package.json +25 -61
  202. package/node_modules/tr46/package.json +24 -51
  203. package/node_modules/unorm/package.json +34 -75
  204. package/node_modules/util-deprecate/package.json +19 -49
  205. package/node_modules/uuid/package.json +74 -102
  206. package/node_modules/webidl-conversions/package.json +18 -53
  207. package/node_modules/whatwg-url/package.json +15 -49
  208. package/node_modules/wide-align/package.json +21 -53
  209. package/node_modules/wolfy87-eventemitter/package.json +25 -49
  210. package/node_modules/wrap-ansi/package.json +65 -97
  211. package/node_modules/wrappy/package.json +21 -50
  212. package/node_modules/y18n/package.json +43 -73
  213. package/node_modules/yallist/package.json +20 -55
  214. package/node_modules/yargs/package.json +72 -99
  215. package/node_modules/yargs-parser/package.json +52 -83
  216. package/package.json +2 -3
  217. package/src/TrialAccount.js +76 -0
  218. package/src/commands/agent/Agent.js +10 -19
  219. package/src/commands/agent/index.js +1 -0
  220. package/src/commands/agent/ready.js +42 -0
  221. package/src/commands/instances/list.js +8 -3
  222. package/src/commands/signup.js +14 -5
  223. package/src/commands/webplayer/WebPlayer.js +2 -1
  224. package/src/commands/webplayer/create.js +6 -0
  225. package/src/commands/webplayer/list.js +17 -16
  226. package/src/logging.js +1 -1
  227. package/src/profile.js +12 -9
  228. package/src/resumable.js +1314 -0
  229. package/src/table.js +7 -2
  230. package/src/upload.js +64 -2
  231. package/test/test.js +89 -0
  232. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  233. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  234. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  235. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  236. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  237. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  238. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  239. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  240. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  241. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  242. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  243. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  244. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  245. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  246. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  247. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  248. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  249. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  250. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  251. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  252. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  253. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  254. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  255. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  256. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  257. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  258. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  259. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  260. package/node_modules/@corellium/corellium-api/package.json +0 -106
  261. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  262. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  263. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  264. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  265. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  266. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  267. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  268. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  269. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  270. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  271. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  272. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  273. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  274. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  275. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  276. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  277. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  278. package/node_modules/async-limiter/.eslintignore +0 -2
  279. package/node_modules/async-limiter/.nycrc +0 -10
  280. package/node_modules/async-limiter/.travis.yml +0 -9
  281. package/node_modules/async-limiter/LICENSE +0 -8
  282. package/node_modules/async-limiter/index.js +0 -67
  283. package/node_modules/async-limiter/package.json +0 -72
  284. package/node_modules/async-limiter/readme.md +0 -132
  285. package/node_modules/buffer-crc32/LICENSE +0 -19
  286. package/node_modules/buffer-crc32/README.md +0 -47
  287. package/node_modules/buffer-crc32/index.js +0 -111
  288. package/node_modules/buffer-crc32/package.json +0 -72
  289. package/node_modules/cross-fetch/LICENSE +0 -21
  290. package/node_modules/cross-fetch/README.md +0 -169
  291. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  292. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  293. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  294. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  295. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  296. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  297. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  298. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  299. package/node_modules/cross-fetch/index.d.ts +0 -14
  300. package/node_modules/cross-fetch/package.json +0 -160
  301. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  302. package/node_modules/duplexify/.travis.yml +0 -6
  303. package/node_modules/duplexify/LICENSE +0 -21
  304. package/node_modules/duplexify/README.md +0 -97
  305. package/node_modules/duplexify/example.js +0 -21
  306. package/node_modules/duplexify/index.js +0 -234
  307. package/node_modules/duplexify/package.json +0 -69
  308. package/node_modules/duplexify/test.js +0 -295
  309. package/node_modules/end-of-stream/LICENSE +0 -21
  310. package/node_modules/end-of-stream/README.md +0 -54
  311. package/node_modules/end-of-stream/index.js +0 -94
  312. package/node_modules/end-of-stream/package.json +0 -69
  313. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  314. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  315. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  316. package/node_modules/fast-stable-stringify/README.md +0 -81
  317. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  318. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  319. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  320. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  321. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  322. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  323. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  324. package/node_modules/fast-stable-stringify/index.js +0 -73
  325. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  326. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  327. package/node_modules/fast-stable-stringify/package.json +0 -77
  328. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  329. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  330. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  331. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  332. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  333. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  334. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  335. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  336. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  337. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  338. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  339. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  340. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  341. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  342. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  343. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  344. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  345. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  346. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  347. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  348. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  349. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  350. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  351. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  352. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  353. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  354. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  355. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  356. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  357. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  358. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  359. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  360. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  361. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  362. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  363. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  364. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  365. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  366. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  367. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  368. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  369. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  370. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  371. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  372. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  373. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  374. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  375. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  376. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  377. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  378. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  379. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  380. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  381. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  382. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  383. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  384. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  385. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  386. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  387. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  388. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  389. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  390. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  391. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  392. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  393. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  394. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  395. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  396. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  397. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  398. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  399. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  400. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  401. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  402. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  403. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  404. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  405. package/node_modules/hkdf/.npmignore +0 -2
  406. package/node_modules/hkdf/README.md +0 -23
  407. package/node_modules/hkdf/hkdf.py +0 -171
  408. package/node_modules/hkdf/hkdf.pyc +0 -0
  409. package/node_modules/hkdf/index.js +0 -1
  410. package/node_modules/hkdf/lib/hkdf.js +0 -55
  411. package/node_modules/hkdf/package.json +0 -55
  412. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  413. package/node_modules/hkdf/test/all-test.js +0 -79
  414. package/node_modules/hkdf/test.py +0 -11
  415. package/node_modules/immediate/LICENSE.txt +0 -20
  416. package/node_modules/immediate/README.md +0 -93
  417. package/node_modules/immediate/dist/immediate.js +0 -75
  418. package/node_modules/immediate/dist/immediate.min.js +0 -1
  419. package/node_modules/immediate/lib/browser.js +0 -69
  420. package/node_modules/immediate/lib/index.js +0 -73
  421. package/node_modules/immediate/package.json +0 -86
  422. package/node_modules/isarray/.npmignore +0 -1
  423. package/node_modules/isarray/.travis.yml +0 -4
  424. package/node_modules/isarray/Makefile +0 -6
  425. package/node_modules/isarray/README.md +0 -60
  426. package/node_modules/isarray/component.json +0 -19
  427. package/node_modules/isarray/index.js +0 -5
  428. package/node_modules/isarray/package.json +0 -77
  429. package/node_modules/isarray/test.js +0 -20
  430. package/node_modules/jszip/.codeclimate.yml +0 -16
  431. package/node_modules/jszip/.editorconfig +0 -8
  432. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  433. package/node_modules/jszip/.jshintignore +0 -1
  434. package/node_modules/jszip/.jshintrc +0 -21
  435. package/node_modules/jszip/.travis.yml +0 -17
  436. package/node_modules/jszip/CHANGES.md +0 -192
  437. package/node_modules/jszip/LICENSE.markdown +0 -651
  438. package/node_modules/jszip/README.markdown +0 -33
  439. package/node_modules/jszip/dist/jszip.js +0 -11583
  440. package/node_modules/jszip/dist/jszip.min.js +0 -13
  441. package/node_modules/jszip/index.d.ts +0 -335
  442. package/node_modules/jszip/lib/base64.js +0 -106
  443. package/node_modules/jszip/lib/compressedObject.js +0 -74
  444. package/node_modules/jszip/lib/compressions.js +0 -14
  445. package/node_modules/jszip/lib/crc32.js +0 -77
  446. package/node_modules/jszip/lib/defaults.js +0 -11
  447. package/node_modules/jszip/lib/external.js +0 -19
  448. package/node_modules/jszip/lib/flate.js +0 -85
  449. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  450. package/node_modules/jszip/lib/generate/index.js +0 -57
  451. package/node_modules/jszip/lib/index.js +0 -55
  452. package/node_modules/jszip/lib/license_header.js +0 -11
  453. package/node_modules/jszip/lib/load.js +0 -88
  454. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  455. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  456. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  457. package/node_modules/jszip/lib/object.js +0 -389
  458. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  459. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  460. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  461. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  462. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  463. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  464. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  465. package/node_modules/jszip/lib/signature.js +0 -7
  466. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  467. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  468. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  469. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  470. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  471. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  472. package/node_modules/jszip/lib/support.js +0 -38
  473. package/node_modules/jszip/lib/utf8.js +0 -275
  474. package/node_modules/jszip/lib/utils.js +0 -501
  475. package/node_modules/jszip/lib/zipEntries.js +0 -262
  476. package/node_modules/jszip/lib/zipEntry.js +0 -294
  477. package/node_modules/jszip/lib/zipObject.js +0 -133
  478. package/node_modules/jszip/package.json +0 -99
  479. package/node_modules/jszip/tsconfig.json +0 -101
  480. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  481. package/node_modules/lie/README.md +0 -62
  482. package/node_modules/lie/dist/lie.js +0 -350
  483. package/node_modules/lie/dist/lie.min.js +0 -1
  484. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  485. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  486. package/node_modules/lie/lib/browser.js +0 -273
  487. package/node_modules/lie/lib/index.js +0 -298
  488. package/node_modules/lie/license.md +0 -7
  489. package/node_modules/lie/lie.d.ts +0 -244
  490. package/node_modules/lie/package.json +0 -98
  491. package/node_modules/lie/polyfill.js +0 -4
  492. package/node_modules/p-finally/index.js +0 -15
  493. package/node_modules/p-finally/license +0 -21
  494. package/node_modules/p-finally/package.json +0 -77
  495. package/node_modules/p-finally/readme.md +0 -47
  496. package/node_modules/p-retry/index.js +0 -52
  497. package/node_modules/p-retry/license +0 -9
  498. package/node_modules/p-retry/package.json +0 -83
  499. package/node_modules/p-retry/readme.md +0 -109
  500. package/node_modules/p-timeout/index.d.ts +0 -72
  501. package/node_modules/p-timeout/index.js +0 -57
  502. package/node_modules/p-timeout/license +0 -9
  503. package/node_modules/p-timeout/package.json +0 -80
  504. package/node_modules/p-timeout/readme.md +0 -87
  505. package/node_modules/pako/CHANGELOG.md +0 -164
  506. package/node_modules/pako/LICENSE +0 -21
  507. package/node_modules/pako/README.md +0 -191
  508. package/node_modules/pako/dist/pako.js +0 -6818
  509. package/node_modules/pako/dist/pako.min.js +0 -1
  510. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  511. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  512. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  513. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  514. package/node_modules/pako/index.js +0 -14
  515. package/node_modules/pako/lib/deflate.js +0 -400
  516. package/node_modules/pako/lib/inflate.js +0 -423
  517. package/node_modules/pako/lib/utils/common.js +0 -105
  518. package/node_modules/pako/lib/utils/strings.js +0 -187
  519. package/node_modules/pako/lib/zlib/README +0 -59
  520. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  521. package/node_modules/pako/lib/zlib/constants.js +0 -68
  522. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  523. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  524. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  525. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  526. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  527. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  528. package/node_modules/pako/lib/zlib/messages.js +0 -32
  529. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  530. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  531. package/node_modules/pako/package.json +0 -94
  532. package/node_modules/process-nextick-args/index.js +0 -45
  533. package/node_modules/process-nextick-args/license.md +0 -19
  534. package/node_modules/process-nextick-args/package.json +0 -53
  535. package/node_modules/process-nextick-args/readme.md +0 -18
  536. package/node_modules/readable-stream/.travis.yml +0 -34
  537. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  538. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  539. package/node_modules/readable-stream/LICENSE +0 -47
  540. package/node_modules/readable-stream/README.md +0 -58
  541. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  542. package/node_modules/readable-stream/duplex-browser.js +0 -1
  543. package/node_modules/readable-stream/duplex.js +0 -1
  544. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  545. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  546. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  547. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  548. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  549. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  550. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  551. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  552. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  553. package/node_modules/readable-stream/package.json +0 -86
  554. package/node_modules/readable-stream/passthrough.js +0 -1
  555. package/node_modules/readable-stream/readable-browser.js +0 -7
  556. package/node_modules/readable-stream/readable.js +0 -19
  557. package/node_modules/readable-stream/transform.js +0 -1
  558. package/node_modules/readable-stream/writable-browser.js +0 -1
  559. package/node_modules/readable-stream/writable.js +0 -8
  560. package/node_modules/retry/.npmignore +0 -3
  561. package/node_modules/retry/.travis.yml +0 -15
  562. package/node_modules/retry/License +0 -21
  563. package/node_modules/retry/Makefile +0 -18
  564. package/node_modules/retry/README.md +0 -227
  565. package/node_modules/retry/equation.gif +0 -0
  566. package/node_modules/retry/example/dns.js +0 -31
  567. package/node_modules/retry/example/stop.js +0 -40
  568. package/node_modules/retry/index.js +0 -1
  569. package/node_modules/retry/lib/retry.js +0 -100
  570. package/node_modules/retry/lib/retry_operation.js +0 -158
  571. package/node_modules/retry/package.json +0 -67
  572. package/node_modules/retry/test/common.js +0 -10
  573. package/node_modules/retry/test/integration/test-forever.js +0 -24
  574. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  575. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  576. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  577. package/node_modules/setimmediate/LICENSE.txt +0 -20
  578. package/node_modules/setimmediate/package.json +0 -77
  579. package/node_modules/setimmediate/setImmediate.js +0 -186
  580. package/node_modules/split/.npmignore +0 -3
  581. package/node_modules/split/.travis.yml +0 -3
  582. package/node_modules/split/LICENCE +0 -22
  583. package/node_modules/split/examples/pretty.js +0 -26
  584. package/node_modules/split/index.js +0 -63
  585. package/node_modules/split/package.json +0 -65
  586. package/node_modules/split/readme.markdown +0 -72
  587. package/node_modules/split/test/options.asynct.js +0 -46
  588. package/node_modules/split/test/partitioned_unicode.js +0 -34
  589. package/node_modules/split/test/split.asynct.js +0 -137
  590. package/node_modules/split/test/try_catch.asynct.js +0 -51
  591. package/node_modules/stream-shift/.travis.yml +0 -6
  592. package/node_modules/stream-shift/LICENSE +0 -21
  593. package/node_modules/stream-shift/README.md +0 -25
  594. package/node_modules/stream-shift/index.js +0 -20
  595. package/node_modules/stream-shift/package.json +0 -56
  596. package/node_modules/stream-shift/test.js +0 -48
  597. package/node_modules/ultron/LICENSE +0 -22
  598. package/node_modules/ultron/README.md +0 -113
  599. package/node_modules/ultron/index.js +0 -136
  600. package/node_modules/ultron/package.json +0 -71
  601. package/node_modules/websocket-stream/LICENSE +0 -8
  602. package/node_modules/websocket-stream/collaborators.md +0 -11
  603. package/node_modules/websocket-stream/echo-server.js +0 -51
  604. package/node_modules/websocket-stream/index.d.ts +0 -27
  605. package/node_modules/websocket-stream/index.js +0 -6
  606. package/node_modules/websocket-stream/package.json +0 -82
  607. package/node_modules/websocket-stream/readme.md +0 -148
  608. package/node_modules/websocket-stream/server.js +0 -29
  609. package/node_modules/websocket-stream/stream.js +0 -189
  610. package/node_modules/websocket-stream/test-client.js +0 -74
  611. package/node_modules/websocket-stream/test-server.js +0 -56
  612. package/node_modules/websocket-stream/test.js +0 -338
  613. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  614. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  615. package/node_modules/ws/LICENSE +0 -21
  616. package/node_modules/ws/README.md +0 -341
  617. package/node_modules/ws/index.js +0 -15
  618. package/node_modules/ws/lib/.DS_Store +0 -0
  619. package/node_modules/ws/lib/BufferUtil.js +0 -71
  620. package/node_modules/ws/lib/Constants.js +0 -10
  621. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  622. package/node_modules/ws/lib/EventTarget.js +0 -151
  623. package/node_modules/ws/lib/Extensions.js +0 -203
  624. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  625. package/node_modules/ws/lib/Receiver.js +0 -553
  626. package/node_modules/ws/lib/Sender.js +0 -412
  627. package/node_modules/ws/lib/Validation.js +0 -17
  628. package/node_modules/ws/lib/WebSocket.js +0 -717
  629. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  630. package/node_modules/ws/package.json +0 -83
  631. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  632. package/node_modules/xhr2/Cakefile +0 -131
  633. package/node_modules/xhr2/LICENSE.txt +0 -19
  634. package/node_modules/xhr2/README.md +0 -142
  635. package/node_modules/xhr2/lib/browser.js +0 -1
  636. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  637. package/node_modules/xhr2/package.json +0 -103
  638. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  639. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  640. package/node_modules/xhr2/src/errors.coffee +0 -31
  641. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  642. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  643. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  644. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  645. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  646. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  647. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  648. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  649. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  650. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  651. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  652. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  653. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  654. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  655. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  656. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  657. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  658. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  659. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  660. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  661. package/node_modules/xtend/.jshintrc +0 -30
  662. package/node_modules/xtend/LICENSE +0 -20
  663. package/node_modules/xtend/README.md +0 -32
  664. package/node_modules/xtend/immutable.js +0 -19
  665. package/node_modules/xtend/mutable.js +0 -17
  666. package/node_modules/xtend/package.json +0 -89
  667. package/node_modules/xtend/test.js +0 -103
  668. package/node_modules/yazl/LICENSE +0 -21
  669. package/node_modules/yazl/README.md +0 -389
  670. package/node_modules/yazl/index.js +0 -749
  671. package/node_modules/yazl/package.json +0 -69
  672. package/src/commands/CorelliumAPI.js +0 -76
  673. package/src/subscriberInvite.js +0 -140
@@ -1,1292 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("assert");
4
- const fs = require("fs");
5
- const path = require("path");
6
- const stream = require("stream");
7
-
8
- const wtfnode = require("wtfnode");
9
-
10
- const Corellium = require("../src/corellium").Corellium;
11
- const { Input } = require("../src/input");
12
-
13
- const CONFIGURATION = require("./config.json");
14
-
15
- /** @typedef {import('../src/instance.js')} Instance */
16
- /** @typedef {import('../src/project.js')} Project */
17
-
18
- process.title = "integration-tests";
19
- process.on("SIGUSR2", () => wtfnode.dump());
20
-
21
- global.hookOrTestFailed = false;
22
-
23
- function setFlagIfHookFailedDecorator(fn) {
24
- return function () {
25
- return Promise.resolve(fn.apply(this, arguments)).catch((error) => {
26
- global.hookOrTestFailed = true;
27
- throw error;
28
- });
29
- };
30
- }
31
-
32
- async function turnOff(instance) {
33
- await instance.stop();
34
- await instance.waitForState("off");
35
- assert.strictEqual(instance.state, "off");
36
- assert.notEqual(instance.stateChanged, null);
37
- }
38
-
39
- async function turnOn(instance) {
40
- await instance.start();
41
- await instance.waitForState("on");
42
- assert.strictEqual(instance.state, "on");
43
- assert.notEqual(instance.stateChanged, null);
44
- }
45
-
46
- describe("Corellium API", function () {
47
- let BASE_LIFECYCLE_TIMEOUT = 0;
48
- let BASE_SNAPSHOT_TIMEOUT = 0;
49
- let INSTANCE_VERSIONS = [];
50
- if (CONFIGURATION.testFlavor === "ranchu") {
51
- this.slow(10000);
52
- this.timeout(20000);
53
-
54
- BASE_LIFECYCLE_TIMEOUT = 40000;
55
- BASE_SNAPSHOT_TIMEOUT = 20000;
56
- INSTANCE_VERSIONS = ["7.1.2", "8.1.0", "9.0.0", "10.0.0", "11.0.0", "12.0.0"];
57
- } else {
58
- this.slow(40000);
59
- this.timeout(50000);
60
-
61
- BASE_LIFECYCLE_TIMEOUT = 700000;
62
- BASE_SNAPSHOT_TIMEOUT = 300000;
63
- INSTANCE_VERSIONS = ["10.3.3", "11.4.1", "12.4.1", "13.7", "14.1"];
64
- }
65
-
66
- const instanceMap = new Map();
67
- let corellium = null;
68
- let loggedIn = false;
69
-
70
- before(
71
- "should have a configuration",
72
- setFlagIfHookFailedDecorator(function () {
73
- if (
74
- !CONFIGURATION.endpoint ||
75
- !CONFIGURATION.project ||
76
- !CONFIGURATION.testFlavor ||
77
- (!(CONFIGURATION.username && CONFIGURATION.password) && !CONFIGURATION.apiToken)
78
- ) {
79
- throw new Error(
80
- "The configuration must include endpoint, project and testFlavor as well as username and password or apiToken properties.",
81
- );
82
- }
83
- }),
84
- );
85
-
86
- before(
87
- "should log in",
88
- setFlagIfHookFailedDecorator(async function () {
89
- corellium = new Corellium(CONFIGURATION);
90
- await corellium.login();
91
-
92
- const token = await corellium.token;
93
- assert(token && token.token, "Token was never set, login must have silently failed");
94
-
95
- loggedIn = true;
96
- }),
97
- );
98
-
99
- INSTANCE_VERSIONS.forEach((instanceVersion) => {
100
- after(
101
- setFlagIfHookFailedDecorator(async function () {
102
- this.timeout(80000);
103
-
104
- const instance = instanceMap.get(instanceVersion);
105
- if (!instance) {
106
- return;
107
- }
108
-
109
- // To facilitate debugging, don't destroy instances if a test or hook failed.
110
- if (global.hookOrTestFailed) {
111
- // Stop updating the instance. Otherwise the updater keeps at it and the
112
- // integration tests don't terminate.
113
- instance.project.updater.remove(instance);
114
- return;
115
- }
116
-
117
- await instance.destroy();
118
- await instance.waitForState("deleted");
119
- }),
120
- );
121
- });
122
-
123
- describe("projects", function () {
124
- let project = /** @type {Project} */ (null);
125
-
126
- before(
127
- "should be logged in",
128
- setFlagIfHookFailedDecorator(function () {
129
- assert(loggedIn, "All tests will fail as login failed");
130
- }),
131
- );
132
-
133
- it("lists projects", async function () {
134
- project = await corellium.projects().then((projects) => {
135
- const foundProject = projects.find(
136
- (project) => project.info.name === CONFIGURATION.project,
137
- );
138
- assert(
139
- foundProject !== undefined,
140
- new Error(
141
- `Your test configuration specifies a project named "${CONFIGURATION.project}", but no such project was found on ${CONFIGURATION.endpoint}`,
142
- ),
143
- );
144
- return foundProject;
145
- });
146
- });
147
-
148
- it("lists files", async function () {
149
- const files = await corellium.files();
150
- assert(Array.isArray(files));
151
- });
152
-
153
- it(`has room for ${INSTANCE_VERSIONS.length} new VMs (get quota / quotasUsed)`, async function () {
154
- assert(project, "Unable to test as no project was returned from previous tests");
155
- assert(project.quotas !== project.quotasUsed);
156
- if (project.quotas.cores - project.quotasUsed.cores < 2 * INSTANCE_VERSIONS.length)
157
- throw new Error(
158
- `no room for an extra device to be made, please free at least ${
159
- 2 * INSTANCE_VERSIONS.length
160
- } cores`,
161
- );
162
- });
163
-
164
- INSTANCE_VERSIONS.forEach((instanceVersion) => {
165
- it(`can start create ${instanceVersion}`, async function () {
166
- assert(project, "Unable to test as no project was returned from previous tests");
167
- const name = `API Test ${instanceVersion}`;
168
- let instanceConfig = {};
169
- if (CONFIGURATION.testFlavor === "ranchu") {
170
- instanceConfig = {
171
- flavor: CONFIGURATION.testFlavor,
172
- name: name,
173
- os: instanceVersion,
174
- };
175
- } else {
176
- instanceConfig = {
177
- flavor: CONFIGURATION.testFlavor,
178
- name: name,
179
- os: instanceVersion,
180
- bootOptions: {
181
- udid: "9564a02c6255d8c449a3f691aeb8296dd352f3d6",
182
- },
183
- };
184
- }
185
- const instance = await project.createInstance(instanceConfig);
186
-
187
- instanceMap.set(instanceVersion, instance);
188
-
189
- await instance.waitForState("creating");
190
- assert.strictEqual(instance.flavor, CONFIGURATION.testFlavor);
191
- assert.strictEqual(instance.name, name);
192
- });
193
- });
194
-
195
- it("can list supported devices", async function () {
196
- const supportedDevices = await corellium.supported();
197
- const firmware = supportedDevices.find(
198
- (device) => device.name === CONFIGURATION.testFlavor,
199
- );
200
- assert(firmware);
201
- });
202
-
203
- it("can get teams and users", async function () {
204
- let teamsAndUsers = await corellium.getTeamsAndUsers();
205
- teamsAndUsers.users.forEach((value, key) => {
206
- assert.strictEqual(value, corellium._users.get(key));
207
- });
208
-
209
- teamsAndUsers.teams.forEach((value, key) => {
210
- assert.strictEqual(value, corellium._teams.get(key));
211
- });
212
- });
213
-
214
- it("can get roles", async function () {
215
- const roles = await corellium.roles();
216
- assert(roles, "Roles should not be undefined, even if there have been no roles");
217
- });
218
-
219
- // Not visible to cloud users with one project:
220
- it("can add and remove keys", async function () {
221
- let keyInfo = await project
222
- .addKey(
223
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqpvRmc/JQoH9P6XVlHnod0wRCg+7iSGfpyoBoe+nWwp2iEqPyM7A2RzW7ZIX2FZmlD5ldR6Oj5Z+LUR/GXfCFQvpQkidL5htzGMoI59SwntpSMvHlFLOcbyS7VmI4MKbdIF+UrelPCcCJjOaZIFOJfNtuLWDx0L14jW/4wflzcj6Fd1rBTVh2SB3mvhsraOuv9an74zr/PMSHtpFnt5m4SYWpE4HLTf0FJksEe/Qda9jQu5i86Mhu6ewSAVccUDLzgz6E4i8hvSqfctcYGT7asqxsubPTpTPfuOkc3WOxlqZYnnAbpGh8NvCu9uC+5gfWRcLoyRBE4J2Y3wcfOueP example-key",
224
- )
225
- .then((projectKey) => {
226
- assert(
227
- projectKey.label === "example-key",
228
- "label defaults to public key comment",
229
- );
230
- assert(
231
- projectKey.fingerprint ===
232
- "9c:71:e5:40:08:fb:cd:88:1b:6d:8e:4f:c0:4c:0f:dd",
233
- );
234
- return projectKey;
235
- })
236
- .catch((error) => {
237
- throw error;
238
- });
239
-
240
- const keys = await project.keys();
241
- assert(!!keys.find((key) => key.identifier === keyInfo.identifier));
242
-
243
- await project.deleteKey(keyInfo.identifier);
244
- });
245
-
246
- it("can refresh", async function () {
247
- let tempName = project.info.name;
248
- await project.refresh();
249
- assert(tempName === project.info.name);
250
- });
251
-
252
- INSTANCE_VERSIONS.forEach((instanceVersion) => {
253
- it(`can getInstance ${instanceVersion}`, async function () {
254
- const instanceFromMap = instanceMap.get(instanceVersion);
255
- assert(instanceFromMap, "Instance failed to create, test will fail");
256
- const instance = await project.getInstance(instanceFromMap.id);
257
- assert(instance.id === instanceFromMap.id);
258
- });
259
- });
260
-
261
- it("can get openvpn profile", async function () {
262
- let expected = Buffer.from("client");
263
-
264
- await project
265
- .vpnConfig("ovpn", undefined)
266
- .then((profile) => {
267
- assert(profile.length > expected.length);
268
- assert(profile.compare(expected, 0, expected.length, 0, expected.length) === 0);
269
- return profile;
270
- })
271
- .catch((error) => {
272
- // Hack to ignore onsite installs for this test
273
- if (!error.toString().includes("500 Internal Server Error")) {
274
- throw error;
275
- }
276
- console.log(
277
- "Forcing pass, this does not appear to be a server which supports vpns",
278
- );
279
- return undefined;
280
- });
281
- });
282
-
283
- it("can get tunnelblick profile", async function () {
284
- let expected = Buffer.from("504b0304", "hex");
285
-
286
- await project
287
- .vpnConfig("tblk", undefined)
288
- .then((profile) => {
289
- assert(profile.length > expected.length);
290
- assert(profile.compare(expected, 0, expected.length, 0, expected.length) === 0);
291
- return profile;
292
- })
293
- .catch((error) => {
294
- // Hack to ignore onsite installs for this test
295
- if (!error.toString().includes("500 Internal Server Error")) {
296
- throw error;
297
- }
298
- console.log(
299
- "Forcing pass, this does not appear to be a server which supports vpns",
300
- );
301
- return undefined;
302
- });
303
- });
304
-
305
- INSTANCE_VERSIONS.forEach((instanceVersion) => {
306
- it(`can finish create ${instanceVersion}`, async function () {
307
- this.slow(BASE_LIFECYCLE_TIMEOUT);
308
- this.timeout(BASE_LIFECYCLE_TIMEOUT + 30000);
309
-
310
- const instance = instanceMap.get(instanceVersion);
311
- assert(instance, "Instance failed to create, test will fail");
312
- await instance.finishRestore();
313
- });
314
- });
315
- });
316
-
317
- INSTANCE_VERSIONS.forEach((instanceVersion) => {
318
- describe(`panics ${instanceVersion}`, function () {
319
- before(
320
- "should have an instance",
321
- setFlagIfHookFailedDecorator(function () {
322
- assert(
323
- instanceMap.get(instanceVersion),
324
- "No instances available for testing, tests will fail",
325
- );
326
- }),
327
- );
328
-
329
- it("can request panics", async function () {
330
- const instance = instanceMap.get(instanceVersion);
331
- const panics = instance.panics();
332
- assert(panics, "Panics should not be undefined, even if there have been no panics");
333
- });
334
-
335
- it("can clear panics", async function () {
336
- const instance = instanceMap.get(instanceVersion);
337
- instance.clearPanics();
338
- });
339
- });
340
- });
341
-
342
- INSTANCE_VERSIONS.forEach((instanceVersion) => {
343
- describe(`instances ${instanceVersion}`, function () {
344
- before(
345
- "should have an instance",
346
- setFlagIfHookFailedDecorator(async function () {
347
- assert(
348
- instanceMap.get(instanceVersion),
349
- "No instances available for testing, tests will fail",
350
- );
351
- const instance = instanceMap.get(instanceVersion);
352
- await instance.waitForState("on");
353
- }),
354
- );
355
-
356
- describe(`billing ${instanceVersion}`, function () {
357
- it("can get rate information", async function () {
358
- const instance = instanceMap.get(instanceVersion);
359
- const rate = await instance.rate();
360
-
361
- assert.strictEqual(
362
- ((rate.onRateMicrocents * (60 * 60 * 24)) / 1000000 / 100).toFixed(2) > 0,
363
- true,
364
- `'On' rate should be larger than 0`,
365
- );
366
- assert.strictEqual(
367
- ((rate.offRateMicrocents * (60 * 60 * 24)) / 1000000 / 100).toFixed(2) > 0,
368
- true,
369
- `'Off' rate should be larger than 0`,
370
- );
371
- });
372
- });
373
-
374
- describe(`device lifecycle ${instanceVersion}`, function () {
375
- this.slow(BASE_LIFECYCLE_TIMEOUT / 2);
376
- this.timeout(BASE_LIFECYCLE_TIMEOUT);
377
-
378
- beforeEach(async function () {
379
- const instance = instanceMap.get(instanceVersion);
380
- await instance.update();
381
- });
382
-
383
- it("can pause", async function () {
384
- const instance = instanceMap.get(instanceVersion);
385
- await instance.waitForState("on");
386
- await instance.pause();
387
- await instance.waitForState("paused");
388
- });
389
-
390
- it("can unpause", async function () {
391
- const instance = instanceMap.get(instanceVersion);
392
- if (instance.state !== "paused") {
393
- await instance.pause();
394
- await instance.waitForState("paused");
395
- }
396
-
397
- await instance.unpause();
398
- await instance.waitForState("on");
399
- });
400
-
401
- it("can reboot", async function () {
402
- const instance = instanceMap.get(instanceVersion);
403
- await instance.reboot();
404
- });
405
-
406
- it("can stop", async function () {
407
- const instance = instanceMap.get(instanceVersion);
408
- if (instance.state !== "on") {
409
- await turnOn(instance);
410
- }
411
- await turnOff(instance);
412
- });
413
-
414
- it("can start", async function () {
415
- const instance = instanceMap.get(instanceVersion);
416
- if (instance.state !== "off") {
417
- await turnOff(instance);
418
- }
419
- await turnOn(instance);
420
- });
421
- });
422
-
423
- describe(`snapshots ${instanceVersion}`, function () {
424
- this.slow(BASE_SNAPSHOT_TIMEOUT);
425
- this.timeout(BASE_SNAPSHOT_TIMEOUT * 2);
426
-
427
- before(
428
- "should have an up-to-date instance",
429
- setFlagIfHookFailedDecorator(async function () {
430
- const instance = instanceMap.get(instanceVersion);
431
- await instance.update();
432
- }),
433
- );
434
-
435
- it("has a fresh snapshot", async function () {
436
- const instance = instanceMap.get(instanceVersion);
437
- const snapshots = await instance.snapshots();
438
- const fresh = snapshots.find((snap) => snap.fresh);
439
- assert(fresh.status.created === true);
440
- // MIDDLEWARE-672 : Ensure snapshot has an actual date object
441
- assert(isNaN(fresh.created.getDate()) === false);
442
- });
443
-
444
- let latestSnapshot;
445
- if (CONFIGURATION.testFlavor === "ranchu") {
446
- it("refuses to take snapshot if instance is on", async function () {
447
- const instance = instanceMap.get(instanceVersion);
448
- if (instance.state !== "on") {
449
- await turnOn(instance);
450
- }
451
- await assert.rejects(() => instance.takeSnapshot());
452
- });
453
-
454
- it("can take snapshot if instance is off", async function () {
455
- const instance = instanceMap.get(instanceVersion);
456
- if (instance.state !== "off") {
457
- await turnOff(instance);
458
- }
459
-
460
- latestSnapshot = await instance.takeSnapshot();
461
-
462
- while (latestSnapshot.status.created !== true) {
463
- await latestSnapshot.update();
464
- }
465
- });
466
- } else {
467
- it("can take snapshot if instance is on", async function () {
468
- const instance = instanceMap.get(instanceVersion);
469
- latestSnapshot = await instance.takeSnapshot();
470
-
471
- while (latestSnapshot.status.created !== true) {
472
- await latestSnapshot.update();
473
- }
474
- });
475
- }
476
-
477
- it("can restore a snapshot", async function () {
478
- assert(
479
- latestSnapshot,
480
- "This test cannot run because there is no latestSnapshot to use",
481
- );
482
- const instance = instanceMap.get(instanceVersion);
483
- if (CONFIGURATION.testFlavor === "ranchu") {
484
- await latestSnapshot.restore();
485
- } else {
486
- await instance.pause();
487
- await instance.waitForState("paused");
488
- await latestSnapshot.restore();
489
- await instance.waitForAgentReady();
490
- }
491
- });
492
-
493
- it("can delete a snapshot", async function () {
494
- assert(
495
- latestSnapshot,
496
- "This test cannot run because there is no latestSnapshot to use",
497
- );
498
-
499
- const instance = instanceMap.get(instanceVersion);
500
- assert(
501
- (await instance.snapshots()).some(
502
- (snapshot) => snapshot.id === latestSnapshot.id,
503
- ),
504
- );
505
-
506
- await latestSnapshot.delete();
507
-
508
- while (
509
- (await instance.snapshots()).some(
510
- (snapshot) => snapshot.id === latestSnapshot.id,
511
- )
512
- );
513
- });
514
-
515
- after("should be on", async function () {
516
- const instance = instanceMap.get(instanceVersion);
517
- await instance.update();
518
- await turnOn(instance);
519
- });
520
- });
521
-
522
- it("can take a screenshot", async function () {
523
- const expected = Buffer.from("89504E470D0A1A0A", "hex");
524
- const instance = instanceMap.get(instanceVersion);
525
- await instance.takeScreenshot().then((png) => {
526
- assert(png.length > expected.length);
527
- assert(png.compare(expected, 0, expected.length, 0, expected.length) === 0);
528
- });
529
- });
530
-
531
- it("can rename", async function () {
532
- const instance = instanceMap.get(instanceVersion);
533
- const instanceName = instance.name;
534
- async function rename(name) {
535
- await instance.rename(name);
536
- await instance.update();
537
- assert.strictEqual(instance.name, name);
538
- }
539
- await rename("test rename foo");
540
- await rename(instanceName);
541
- });
542
-
543
- it("has a console log", async function () {
544
- const instance = instanceMap.get(instanceVersion);
545
- const log = await instance.consoleLog();
546
- if (log === undefined) {
547
- throw new Error("Unable to acquire any console log");
548
- }
549
- });
550
-
551
- it("has a console", async function () {
552
- const instance = instanceMap.get(instanceVersion);
553
- const consoleStream = await instance.console();
554
- // Wait for the socket to open before killing it,
555
- // otherwise this will throw an error
556
- consoleStream.socket.on("open", function () {
557
- consoleStream.socket.close();
558
- });
559
- // When the socket closes, it will be safe to destroy the console duplexify object
560
- consoleStream.socket.on("close", function () {
561
- consoleStream.destroy();
562
- });
563
- });
564
-
565
- it("can send input", async function () {
566
- const input = new Input();
567
- const instance = instanceMap.get(instanceVersion);
568
- instance.sendInput(input.pressRelease("home"));
569
- });
570
-
571
- if (CONFIGURATION.testFlavor === "ranchu") {
572
- // Peripherals/sensor are only supported for android currently
573
- describe(`peripherals ${instanceVersion}`, function () {
574
- before(
575
- setFlagIfHookFailedDecorator(async function () {
576
- this.timeout(BASE_LIFECYCLE_TIMEOUT + 60000);
577
-
578
- const instance = instanceMap.get(instanceVersion);
579
- await instance.waitForState("on");
580
- }),
581
- );
582
-
583
- it("can get peripheral data", async function () {
584
- const instance = instanceMap.get(instanceVersion);
585
- let peripheralData = await instance.getPeripherals();
586
- assert(
587
- peripheralData !== undefined && Object.keys(peripheralData).length > 0,
588
- );
589
- });
590
-
591
- it("can set and get updated peripheral data", async function () {
592
- const instance = instanceMap.get(instanceVersion);
593
- await instance.modifyPeripherals({ batteryCapacity: "42" });
594
- let peripheralData = await instance.getPeripherals();
595
- assert(
596
- peripheralData !== undefined &&
597
- parseInt(peripheralData.batteryCapacity) === 42,
598
- );
599
- });
600
- });
601
- }
602
-
603
- describe(`agent ${instanceVersion}`, function () {
604
- let agent;
605
- let installSuccess = false;
606
-
607
- before(
608
- setFlagIfHookFailedDecorator(async function () {
609
- this.timeout(BASE_LIFECYCLE_TIMEOUT + 60000);
610
-
611
- const instance = instanceMap.get(instanceVersion);
612
- await instance.waitForState("on");
613
- await instance.waitForAgentReady();
614
- }),
615
- );
616
-
617
- beforeEach(async function () {
618
- const instance = instanceMap.get(instanceVersion);
619
- if (agent === undefined || !agent.connected) {
620
- agent = await instance.agent();
621
- await agent.ready();
622
- }
623
- });
624
-
625
- after(
626
- setFlagIfHookFailedDecorator(async function () {
627
- if (agent !== undefined && agent.connected) agent.disconnect();
628
- }),
629
- );
630
-
631
- it("can list device apps", async function () {
632
- let appList = await agent.appList();
633
- assert(appList !== undefined && appList.length > 0);
634
- });
635
-
636
- it("can use shellExec", async function () {
637
- let uname = await agent.shellExec("uname");
638
- assert(uname.output !== undefined && uname.output.length > 0);
639
- assert(uname["success"], true);
640
- });
641
-
642
- describe(`Files ${instanceVersion}`, function () {
643
- let expectedData = Buffer.from("D1FF", "hex");
644
- let testPath;
645
-
646
- it("can get temp file", async function () {
647
- testPath = await agent.tempFile();
648
- });
649
-
650
- it("can upload a file", async function () {
651
- let rs = stream.Readable.from(expectedData);
652
-
653
- let lastStatus;
654
- try {
655
- await agent.upload(testPath, rs, (_progress, status) => {
656
- lastStatus = status;
657
- });
658
- } catch (err) {
659
- assert(
660
- false,
661
- `Error uploading file during '${lastStatus} stage: ${err}`,
662
- );
663
- }
664
- });
665
-
666
- it("can stat a file", async function () {
667
- let stat = await agent.stat(testPath);
668
- assert.strictEqual(stat.name, testPath);
669
- });
670
-
671
- it("can change a files attributes", async function () {
672
- await agent.changeFileAttributes(testPath, { mode: 511 });
673
- let stat = await agent.stat(testPath);
674
- assert.strictEqual(stat.mode, 33279);
675
- });
676
-
677
- it("can download files", async function () {
678
- try {
679
- let downloaded = await new Promise((resolve) => {
680
- const rs = agent.download(testPath);
681
- let bufs = [];
682
- rs.on("data", function (chunk) {
683
- bufs.push(chunk);
684
- });
685
- rs.on("end", function () {
686
- resolve(Buffer.concat(bufs));
687
- });
688
- });
689
-
690
- assert(Buffer.compare(downloaded, expectedData) === 0);
691
- } catch (err) {
692
- assert(false, `Error reading downloadable file ${err}`);
693
- }
694
- });
695
-
696
- it("can delete files", async function () {
697
- await agent.deleteFile(testPath).then((path) => {
698
- assert(path === undefined);
699
- });
700
-
701
- // We should get an OperationFailed since the file is gone
702
- try {
703
- await agent.stat(testPath);
704
- } catch (error) {
705
- if (CONFIGURATION.testFlavor === "ranchu") {
706
- assert(error.toString().includes("No such file or directory"));
707
- } else {
708
- assert(
709
- error
710
- .toString()
711
- .includes("Stat of file '" + testPath + "' failed."),
712
- );
713
- }
714
- }
715
- });
716
- });
717
-
718
- describe(`configuration profiles ${instanceVersion}`, function () {
719
- if (CONFIGURATION.testFlavor === "ranchu") {
720
- // These are unimplemented on ranchu devices
721
- it("cannot use profile/list", async function () {
722
- assert.rejects(() => agent.profileList());
723
- });
724
-
725
- it("cannot use profile/install", async function () {
726
- assert.rejects(() => agent.installProfile("test"));
727
- });
728
-
729
- it("cannot use profile/remove", async function () {
730
- assert.rejects(() => agent.removeProfile("test"));
731
- });
732
-
733
- it("cannot use profile/get", async function () {
734
- assert.rejects(() => agent.getProfile("test"));
735
- });
736
- } else {
737
- let profileID = "TBA";
738
-
739
- it.skip("can use profile/list", async function () {
740
- await agent.profileList();
741
- });
742
-
743
- it.skip("can use profile/install", async function () {
744
- var profile = fs.readFileSync(path.join(__dirname, "TBA.mobileconfig"));
745
- await agent.installProfile(profile);
746
- });
747
-
748
- it.skip("can use profile/get", async function () {
749
- await agent.getProfile(profileID);
750
- });
751
-
752
- it.skip("can use profile/remove", async function () {
753
- await agent.removeProfile(profileID);
754
- });
755
- }
756
- });
757
-
758
- describe(`provisioning profiles ${instanceVersion}`, function () {
759
- if (CONFIGURATION.testFlavor === "ranchu") {
760
- // These are unimplemented on ranchu devices
761
- it("cannot use provisioning/list", async function () {
762
- assert.rejects(() => agent.listProvisioningProfiles());
763
- });
764
-
765
- it("cannot use provisioning/install", async function () {
766
- assert.rejects(() => agent.installProvisioningProfile("test", true));
767
- });
768
-
769
- it("cannot use provisioning/remove", async function () {
770
- assert.rejects(() => agent.removeProvisioningProfile("test"));
771
- });
772
-
773
- it("cannot use provisioning/preapprove", async function () {
774
- assert.rejects(() => agent.preApproveProvisioningProfile());
775
- });
776
- } else {
777
- let certID = "TBA";
778
- let profileID = "TBA";
779
-
780
- it.skip("can use provisioning/install", async function () {
781
- var profile = fs.readFileSync(
782
- path.join(__dirname, "embedded.mobileprovision"),
783
- );
784
- await agent.installProvisioningProfile(profile, true);
785
- });
786
-
787
- it.skip("can use provisioning/list", async function () {
788
- await agent.listProvisioningProfiles();
789
- });
790
-
791
- it.skip("can use provisioning/remove", async function () {
792
- await agent.removeProvisioningProfile(profileID);
793
- });
794
-
795
- it.skip("can use provisioning/preapprove", async function () {
796
- await agent.preApproveProvisioningProfile(certID, profileID);
797
- });
798
- }
799
- });
800
-
801
- describe(`locks ${instanceVersion}`, function () {
802
- if (CONFIGURATION.testFlavor === "ranchu") {
803
- // These are unimplemented on ranchu devices
804
- it("cannot use lock", async function () {
805
- assert.rejects(() => agent.lockDevice());
806
- });
807
-
808
- it("cannot use unlock", async function () {
809
- assert.rejects(() => agent.unlockDevice());
810
- });
811
-
812
- it("cannot use acquireDisableAutolockAssertion", async function () {
813
- assert.rejects(() => agent.acquireDisableAutolockAssertion());
814
- });
815
-
816
- it("cannot use releaseDisableAutolockAssertion", async function () {
817
- assert.rejects(() => agent.releaseDisableAutolockAssertion());
818
- });
819
- } else {
820
- it("can use lock", async function () {
821
- await agent.lockDevice();
822
- });
823
-
824
- it("can use unlock", async function () {
825
- await agent.unlockDevice();
826
- });
827
-
828
- it("can use acquireDisableAutolockAssertion", async function () {
829
- await agent.acquireDisableAutolockAssertion();
830
- });
831
-
832
- it("can use releaseDisableAutolockAssertion", async function () {
833
- await agent.releaseDisableAutolockAssertion();
834
- });
835
- }
836
- });
837
-
838
- describe(`UI automation ${instanceVersion}`, function () {
839
- if (CONFIGURATION.testFlavor === "ranchu") {
840
- // These are unimplemented on ranchu devices
841
- it("cannot use enableUIAutomation", async function () {
842
- assert.rejects(() => agent.enableUIAutomation());
843
- });
844
-
845
- it("cannot use disableUIAutomation", async function () {
846
- assert.rejects(() => agent.disableUIAutomation());
847
- });
848
- } else {
849
- it("can use enableUIAutomation", async function () {
850
- await agent.enableUIAutomation();
851
- });
852
-
853
- it("can use disableUIAutomation", async function () {
854
- await agent.disableUIAutomation();
855
- });
856
- }
857
- });
858
-
859
- describe(`WiFi ${instanceVersion}`, function () {
860
- if (CONFIGURATION.testFlavor === "ranchu") {
861
- // These are unimplemented on ranchu devices
862
- it("cannot use connectToWifi", async function () {
863
- assert.rejects(() => agent.connectToWifi());
864
- });
865
-
866
- it("cannot use disconnectFromWifi", async function () {
867
- assert.rejects(() => agent.disconnectFromWifi());
868
- });
869
- } else {
870
- it("can use disconnectFromWifi", async function () {
871
- await agent.disconnectFromWifi();
872
-
873
- // Wait a bit to avoid WiFi connection race on some devices
874
- await new Promise((resolve) => setTimeout(resolve, 1000));
875
- });
876
-
877
- it("can use connectToWifi", async function () {
878
- await agent.connectToWifi();
879
- });
880
- }
881
- });
882
-
883
- let bundleID = "";
884
- if (CONFIGURATION.testFlavor === "ranchu") bundleID = "com.corellium.test.app";
885
- else bundleID = "com.corellium.Red";
886
- describe(`Applications ${instanceVersion}`, function () {
887
- it("can install a signed apk/ipa", function () {
888
- this.slow(50000);
889
- this.timeout(100000);
890
-
891
- let appFile = "";
892
- if (CONFIGURATION.testFlavor === "ranchu") {
893
- appFile = "api-test.apk";
894
- } else {
895
- appFile = "Red.ipa";
896
- }
897
- return agent
898
- .installFile(fs.createReadStream(path.join(__dirname, appFile)))
899
- .then(() => (installSuccess = true));
900
- });
901
-
902
- it("can run an app", async function () {
903
- assert(
904
- installSuccess,
905
- "This test cannot run because application installation failed",
906
- );
907
- await agent.run(bundleID);
908
- });
909
-
910
- it("can kill an app", async function () {
911
- assert(
912
- installSuccess,
913
- "This test cannot run because application installation failed",
914
- );
915
- await agent.kill(bundleID);
916
- });
917
- });
918
-
919
- describe(`crash watcher ${instanceVersion}`, function () {
920
- let crashListener;
921
-
922
- before(
923
- setFlagIfHookFailedDecorator(async function () {
924
- const instance = instanceMap.get(instanceVersion);
925
- await instance.waitForState("on");
926
- await instance.waitForAgentReady();
927
- crashListener = await instance.newAgent();
928
- }),
929
- );
930
-
931
- after(
932
- setFlagIfHookFailedDecorator(async function () {
933
- if (crashListener !== undefined && crashListener.connected)
934
- crashListener.disconnect();
935
- }),
936
- );
937
-
938
- it("can catch an expected crash", function () {
939
- return new Promise((resolve) => {
940
- assert(
941
- installSuccess,
942
- "This test cannot run because application installation failed",
943
- );
944
- let targetLine = "";
945
- if (CONFIGURATION.testFlavor === "ranchu") {
946
- targetLine = "com.corellium.test.app";
947
- } else {
948
- targetLine = "com.apple.Maps";
949
- }
950
- return crashListener.ready().then(() => {
951
- crashListener
952
- .crashes(targetLine, (err, crashReport) => {
953
- assert(!err, err);
954
- assert(
955
- crashReport !== undefined,
956
- "The crash report is undefined",
957
- );
958
- assert(
959
- crashReport.includes(targetLine),
960
- `The crash reported doesn't include "${targetLine}":\n\n${crashReport}`,
961
- );
962
- resolve();
963
- })
964
- .catch((error) => {
965
- if (
966
- error.message &&
967
- error.message.includes("disconnected")
968
- ) {
969
- return;
970
- }
971
- throw error;
972
- });
973
- if (CONFIGURATION.testFlavor === "ranchu") {
974
- return agent.runActivity(
975
- "com.corellium.test.app",
976
- "com.corellium.test.app/com.corellium.test.app.CrashActivity",
977
- );
978
- } else {
979
- return agent.run("com.apple.Maps");
980
- }
981
- });
982
- });
983
- });
984
- });
985
-
986
- describe(`SSL pinning control ${instanceVersion}`, function () {
987
- if (CONFIGURATION.testFlavor === "ranchu") {
988
- // These are unimplemented on ranchu devices
989
- it("cannot use enableSSLPinning", async function () {
990
- assert.rejects(() => agent.enableSSLPinning());
991
- });
992
-
993
- it("cannot use isSSLPinningEnabled", async function () {
994
- assert.rejects(() => agent.isSSLPinningEnabled());
995
- });
996
-
997
- it("cannot use disableSSLPinning", async function () {
998
- assert.rejects(() => agent.disableSSLPinning());
999
- });
1000
- } else {
1001
- it("can use enableSSLPinning", async function () {
1002
- await agent.enableSSLPinning();
1003
- });
1004
-
1005
- it("can use isSSLPinningEnabled", async function () {
1006
- assert(await agent.isSSLPinningEnabled());
1007
- });
1008
-
1009
- it("can use disableSSLPinning", async function () {
1010
- await agent.disableSSLPinning();
1011
- });
1012
- }
1013
- });
1014
-
1015
- describe(`Network Monitor ${instanceVersion}`, function () {
1016
- let netmon;
1017
-
1018
- after(
1019
- "disconnect network monitor",
1020
- setFlagIfHookFailedDecorator(function () {
1021
- if (CONFIGURATION.testFlavor !== "ranchu") {
1022
- agent.kill("com.saurik.Cydia");
1023
- }
1024
-
1025
- netmon.disconnect();
1026
- }),
1027
- );
1028
-
1029
- it("can get monitor", async function () {
1030
- const instance = instanceMap.get(instanceVersion);
1031
- netmon = await instance.newNetworkMonitor();
1032
- assert.strictEqual(
1033
- netmon !== undefined,
1034
- true,
1035
- `Expected monitor to be returned`,
1036
- );
1037
- });
1038
-
1039
- it("can start monitor", async function () {
1040
- assert.strictEqual(
1041
- await netmon.start(),
1042
- true,
1043
- `Expected the network monitor to start and return true`,
1044
- );
1045
- });
1046
-
1047
- it("can monitor data", async function () {
1048
- assert(
1049
- installSuccess,
1050
- `This test can't run because application installation failed.`,
1051
- );
1052
-
1053
- return new Promise((resolve) => {
1054
- this.slow(80000);
1055
- this.timeout(100000);
1056
-
1057
- netmon.handleMessage((message) => {
1058
- const hostHeader = message.request.headers.find(
1059
- (header) => header.key === "Host",
1060
- );
1061
- if (CONFIGURATION.testFlavor === "ranchu") {
1062
- if (hostHeader.value === "corellium.com") {
1063
- netmon.handleMessage(null);
1064
- resolve();
1065
- }
1066
- } else {
1067
- if (hostHeader.value === "cydia.zodttd.com") {
1068
- netmon.handleMessage(null);
1069
- resolve();
1070
- }
1071
- }
1072
- });
1073
-
1074
- // The test application gets ECONNREFUSEDs if it's run too soon after
1075
- // Network Monitor starts.
1076
- return new Promise((resolve) => setTimeout(resolve, 1000 * 5)).then(
1077
- async () => {
1078
- if (CONFIGURATION.testFlavor === "ranchu") {
1079
- await agent.runActivity(
1080
- "com.corellium.test.app",
1081
- "com.corellium.test.app/com.corellium.test.app.NetworkActivity",
1082
- );
1083
- resolve();
1084
- } else {
1085
- return agent.run("com.saurik.Cydia");
1086
- }
1087
- },
1088
- );
1089
- });
1090
- });
1091
-
1092
- it("can stop monitor", async function () {
1093
- assert.strictEqual(
1094
- await netmon.stop(),
1095
- true,
1096
- `Expected the network monitor to stop and return true`,
1097
- );
1098
- });
1099
-
1100
- it("can clear log", async function () {
1101
- await netmon.clearLog();
1102
- });
1103
- });
1104
-
1105
- describe(`Frida ${instanceVersion}`, function () {
1106
- let pid = 0;
1107
- let name = "";
1108
-
1109
- if (CONFIGURATION.testFlavor === "ranchu") {
1110
- it("can get process list", async function () {
1111
- let procList = await agent.runFridaPs();
1112
- let lines = procList.output.trim().split("\n");
1113
- lines.shift();
1114
- lines.shift();
1115
- for (const line of lines) {
1116
- [pid, name] = line.trim().split(/\s+/);
1117
- if (name === "keystore") {
1118
- break;
1119
- }
1120
- }
1121
- assert(pid != 0);
1122
- });
1123
- } else {
1124
- it("cannot get process list", async function () {
1125
- assert.rejects(() => agent.runFridaPs());
1126
- });
1127
- }
1128
-
1129
- it("can get console", async function () {
1130
- const instance = instanceMap.get(instanceVersion);
1131
- const consoleStream = await instance.fridaConsole();
1132
-
1133
- consoleStream.socket.on("close", function () {
1134
- consoleStream.destroy();
1135
- });
1136
- consoleStream.socket.close();
1137
- });
1138
-
1139
- describe("frida attaching and execution", function () {
1140
- if (CONFIGURATION.testFlavor === "ranchu") {
1141
- it("can attach frida", async function () {
1142
- if (name === "") {
1143
- name = "keystore";
1144
- }
1145
- await agent.runFrida(pid, name);
1146
- let processList;
1147
- do {
1148
- processList = await agent.runFridaPs();
1149
- } while (
1150
- !(
1151
- processList.attached &&
1152
- processList.attached.target_name === name
1153
- )
1154
- );
1155
- });
1156
-
1157
- it("can get frida scripts", async function () {
1158
- let fridaScripts = await agent.stat(
1159
- "/data/corellium/frida/scripts/",
1160
- );
1161
- let scriptList = fridaScripts.entries.map((entry) => entry.name);
1162
- let s = "";
1163
- for (s of scriptList) {
1164
- if (s === "hook_native.js") break;
1165
- }
1166
- assert(s != "");
1167
- });
1168
-
1169
- it.skip("can execute script", async function () {
1170
- const instance = instanceMap.get(instanceVersion);
1171
- await instance.executeFridaScript(
1172
- "/data/corellium/frida/scripts/hook_native.js",
1173
- );
1174
- await new Promise((resolve) => setTimeout(resolve, 5000));
1175
-
1176
- let fridaConsole = await instance.fridaConsole();
1177
- let fridaOutput = await new Promise((resolve) => {
1178
- const w = new stream.Writable({
1179
- write(chunk, _encoding, _callback) {
1180
- fridaConsole.socket.close();
1181
- resolve(chunk);
1182
- },
1183
- });
1184
- fridaConsole.pipe(w);
1185
- });
1186
- assert(fridaOutput.toString().includes("Hook android_log_write()"));
1187
- });
1188
-
1189
- it("can detach frida", async function () {
1190
- await agent.runFridaKill();
1191
- });
1192
- } else {
1193
- it("cannot attach frida", async function () {
1194
- assert.rejects(() => agent.runFrida(1, "launchd"));
1195
- });
1196
-
1197
- it("cannot get frida scripts", async function () {
1198
- assert.rejects(() => agent.stat("/data/corellium/frida/scripts/"));
1199
- });
1200
-
1201
- it.skip("cannot execute script", async function () {
1202
- const instance = instanceMap.get(instanceVersion);
1203
- await instance.executeFridaScript(
1204
- "/data/corellium/frida/scripts/hook_native.js",
1205
- );
1206
- });
1207
-
1208
- it("cannot detach frida", async function () {
1209
- assert.rejects(() => agent.runFridaKill());
1210
- });
1211
- }
1212
- });
1213
- });
1214
-
1215
- describe(`app clean up ${instanceVersion}`, function () {
1216
- it("can uninstall an app", async function () {
1217
- assert(
1218
- installSuccess,
1219
- "This test cannot run because application installation failed",
1220
- );
1221
-
1222
- let lastStatus;
1223
- try {
1224
- await agent.uninstall("com.corellium.test.app", (_progress, status) => {
1225
- lastStatus = status;
1226
- });
1227
- } catch (err) {
1228
- assert(
1229
- false,
1230
- `Error uninstalling app during '${lastStatus} stage: ${err}`,
1231
- );
1232
- }
1233
- });
1234
- });
1235
-
1236
- describe(`CoreTrace ${instanceVersion}`, function () {
1237
- let pid = 0;
1238
-
1239
- it("can get thread list", async function () {
1240
- const instance = instanceMap.get(instanceVersion);
1241
- let threadList = await instance.getCoreTraceThreadList();
1242
- for (let p of threadList) {
1243
- if (p.name.includes("corelliumd")) {
1244
- pid = p.pid;
1245
- break;
1246
- }
1247
- }
1248
- assert(pid != 0);
1249
- });
1250
-
1251
- it("can set filter", async function () {
1252
- const instance = instanceMap.get(instanceVersion);
1253
- await instance.setCoreTraceFilter([pid], [], []);
1254
- });
1255
-
1256
- it("can start capture", async function () {
1257
- const instance = instanceMap.get(instanceVersion);
1258
- await instance.startCoreTrace();
1259
- });
1260
-
1261
- it.skip("can capture data", async function () {
1262
- let statTarget = "";
1263
- const instance = instanceMap.get(instanceVersion);
1264
- if (CONFIGURATION.testFlavor === "ranchu")
1265
- statTarget = "/data/corellium/frida/scripts/";
1266
- else statTarget = "/var/mobile/Media";
1267
- await agent.stat(statTarget);
1268
- await new Promise((resolve) => setTimeout(resolve, 9000));
1269
- const log = await instance.downloadCoreTraceLog();
1270
- assert(log !== undefined);
1271
- assert(log.toString().includes(":corelliumd"));
1272
- });
1273
-
1274
- it("can stop capture", async function () {
1275
- const instance = instanceMap.get(instanceVersion);
1276
- await instance.stopCoreTrace();
1277
- });
1278
-
1279
- it("can clear filter", async function () {
1280
- const instance = instanceMap.get(instanceVersion);
1281
- await instance.clearCoreTraceFilter();
1282
- });
1283
-
1284
- it("can clear log", async function () {
1285
- const instance = instanceMap.get(instanceVersion);
1286
- await instance.clearCoreTraceLog();
1287
- });
1288
- });
1289
- });
1290
- });
1291
- });
1292
- });