@corellium/corellium-cli 1.0.3 → 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 (672) hide show
  1. package/README.md +4 -16
  2. package/example/WebPlayerSample.js +93 -37
  3. package/jenkinsbuild/build.sh +1 -1
  4. package/node_modules/@babel/cli/node_modules/commander/package.json +27 -58
  5. package/node_modules/@babel/cli/node_modules/make-dir/package.json +62 -93
  6. package/node_modules/@babel/cli/node_modules/pify/package.json +54 -85
  7. package/node_modules/@babel/cli/node_modules/semver/package.json +20 -51
  8. package/node_modules/@babel/cli/node_modules/slash/package.json +37 -68
  9. package/node_modules/@babel/cli/package.json +37 -69
  10. package/node_modules/@corellium/client-api/package.json +15 -40
  11. package/node_modules/@jridgewell/resolve-uri/package.json +40 -75
  12. package/node_modules/@jridgewell/sourcemap-codec/package.json +43 -74
  13. package/node_modules/@jridgewell/trace-mapping/package.json +40 -72
  14. package/node_modules/@mapbox/node-pre-gyp/package.json +27 -61
  15. package/node_modules/@nicolo-ribaudo/chokidar-2/package.json +22 -55
  16. package/node_modules/abbrev/package.json +18 -52
  17. package/node_modules/agent-base/package.json +33 -62
  18. package/node_modules/ansi-regex/package.json +58 -89
  19. package/node_modules/ansi-styles/package.json +59 -95
  20. package/node_modules/anymatch/package.json +28 -56
  21. package/node_modules/aproba/package.json +23 -50
  22. package/node_modules/are-we-there-yet/node_modules/readable-stream/package.json +32 -60
  23. package/node_modules/are-we-there-yet/package.json +32 -62
  24. package/node_modules/ascii-art/package.json +51 -83
  25. package/node_modules/ascii-art-ansi/package.json +30 -61
  26. package/node_modules/ascii-art-braille/package.json +7 -32
  27. package/node_modules/ascii-art-font/package.json +17 -47
  28. package/node_modules/ascii-art-graph/package.json +10 -34
  29. package/node_modules/ascii-art-image/node_modules/ascii-art-braille/package.json +7 -32
  30. package/node_modules/ascii-art-image/package.json +11 -36
  31. package/node_modules/ascii-art-table/package.json +10 -35
  32. package/node_modules/ascii-art-utf/package.json +18 -47
  33. package/node_modules/async/package.json +29 -55
  34. package/node_modules/async-arrays/package.json +34 -62
  35. package/node_modules/asynckit/package.json +45 -74
  36. package/node_modules/axios/package.json +46 -72
  37. package/node_modules/balanced-match/package.json +22 -49
  38. package/node_modules/binary-extensions/package.json +41 -73
  39. package/node_modules/brace-expansion/package.json +23 -50
  40. package/node_modules/braces/package.json +30 -76
  41. package/node_modules/call-bind/package.json +83 -125
  42. package/node_modules/canvas/package.json +43 -86
  43. package/node_modules/chokidar/package.json +40 -74
  44. package/node_modules/chownr/package.json +24 -56
  45. package/node_modules/cli/package.json +23 -70
  46. package/node_modules/cliui/package.json +53 -87
  47. package/node_modules/color/node_modules/color-convert/package.json +26 -60
  48. package/node_modules/color/node_modules/color-name/package.json +18 -45
  49. package/node_modules/color/package.json +26 -57
  50. package/node_modules/color-convert/package.json +25 -59
  51. package/node_modules/color-difference/package.json +26 -52
  52. package/node_modules/color-model/package.json +17 -44
  53. package/node_modules/color-name/package.json +32 -60
  54. package/node_modules/color-string/package.json +26 -67
  55. package/node_modules/color-support/package.json +26 -60
  56. package/node_modules/combined-stream/package.json +19 -52
  57. package/node_modules/component-emitter/package.json +17 -45
  58. package/node_modules/concat-map/package.json +45 -89
  59. package/node_modules/console-control-strings/package.json +22 -55
  60. package/node_modules/convert-source-map/package.json +28 -55
  61. package/node_modules/cookiejar/package.json +16 -44
  62. package/node_modules/core-util-is/package.json +21 -51
  63. package/node_modules/d3/package.json +43 -70
  64. package/node_modules/d3-array/package.json +24 -55
  65. package/node_modules/d3-axis/package.json +27 -54
  66. package/node_modules/d3-brush/package.json +33 -60
  67. package/node_modules/d3-chord/package.json +28 -55
  68. package/node_modules/d3-collection/package.json +25 -54
  69. package/node_modules/d3-color/package.json +2 -2
  70. package/node_modules/d3-contour/package.json +27 -54
  71. package/node_modules/d3-dispatch/package.json +28 -60
  72. package/node_modules/d3-drag/package.json +32 -61
  73. package/node_modules/d3-dsv/node_modules/commander/package.json +25 -56
  74. package/node_modules/d3-dsv/package.json +36 -64
  75. package/node_modules/d3-ease/package.json +28 -56
  76. package/node_modules/d3-fetch/package.json +31 -58
  77. package/node_modules/d3-force/package.json +30 -57
  78. package/node_modules/d3-format/package.json +29 -57
  79. package/node_modules/d3-geo/package.json +35 -62
  80. package/node_modules/d3-hierarchy/package.json +33 -60
  81. package/node_modules/d3-interpolate/package.json +31 -63
  82. package/node_modules/d3-path/package.json +28 -57
  83. package/node_modules/d3-polygon/package.json +28 -55
  84. package/node_modules/d3-quadtree/package.json +29 -57
  85. package/node_modules/d3-random/package.json +26 -53
  86. package/node_modules/d3-scale/package.json +29 -56
  87. package/node_modules/d3-scale-chromatic/package.json +33 -60
  88. package/node_modules/d3-selection/package.json +29 -60
  89. package/node_modules/d3-shape/package.json +32 -59
  90. package/node_modules/d3-time/package.json +28 -57
  91. package/node_modules/d3-time-format/package.json +33 -61
  92. package/node_modules/d3-timer/package.json +28 -57
  93. package/node_modules/d3-transition/package.json +35 -64
  94. package/node_modules/d3-voronoi/package.json +24 -51
  95. package/node_modules/d3-zoom/package.json +34 -61
  96. package/node_modules/debug/package.json +37 -87
  97. package/node_modules/decompress-response/package.json +53 -84
  98. package/node_modules/delayed-stream/package.json +19 -53
  99. package/node_modules/delegates/package.json +11 -45
  100. package/node_modules/detect-libc/package.json +26 -60
  101. package/node_modules/dirname-shim/package.json +26 -60
  102. package/node_modules/dotenv/package.json +37 -64
  103. package/node_modules/duplexer/package.json +18 -49
  104. package/node_modules/emoji-regex/package.json +32 -58
  105. package/node_modules/escalade/package.json +28 -59
  106. package/node_modules/extended-emitter/package.json +37 -65
  107. package/node_modules/fast-safe-stringify/package.json +33 -73
  108. package/node_modules/fill-range/package.json +28 -72
  109. package/node_modules/follow-redirects/package.json +42 -77
  110. package/node_modules/form-data/package.json +42 -74
  111. package/node_modules/formidable/package.json +22 -52
  112. package/node_modules/fs-minipass/package.json +24 -52
  113. package/node_modules/fs-readdir-recursive/package.json +20 -50
  114. package/node_modules/fs.realpath/package.json +21 -53
  115. package/node_modules/fsevents/package.json +38 -63
  116. package/node_modules/ftp-response-parser/node_modules/isarray/package.json +22 -54
  117. package/node_modules/ftp-response-parser/node_modules/readable-stream/package.json +22 -55
  118. package/node_modules/ftp-response-parser/node_modules/string_decoder/package.json +17 -45
  119. package/node_modules/ftp-response-parser/package.json +23 -64
  120. package/node_modules/function-bind/package.json +28 -61
  121. package/node_modules/gauge/package.json +25 -52
  122. package/node_modules/generate-password/package.json +28 -54
  123. package/node_modules/get-caller-file/package.json +27 -53
  124. package/node_modules/get-intrinsic/package.json +91 -124
  125. package/node_modules/glob/package.json +34 -68
  126. package/node_modules/glob-parent/package.json +27 -70
  127. package/node_modules/has/package.json +26 -55
  128. package/node_modules/has-symbols/package.json +104 -133
  129. package/node_modules/has-unicode/package.json +25 -52
  130. package/node_modules/https-proxy-agent/package.json +30 -59
  131. package/node_modules/iconv-lite/package.json +48 -77
  132. package/node_modules/inflight/package.json +20 -48
  133. package/node_modules/inherits/package.json +17 -54
  134. package/node_modules/is-binary-path/package.json +43 -75
  135. package/node_modules/is-extglob/package.json +22 -52
  136. package/node_modules/is-fullwidth-code-point/package.json +45 -79
  137. package/node_modules/is-glob/package.json +26 -68
  138. package/node_modules/is-number/package.json +26 -65
  139. package/node_modules/jsftp/node_modules/debug/package.json +28 -67
  140. package/node_modules/jsftp/package.json +22 -59
  141. package/node_modules/json2csv/node_modules/commander/package.json +25 -56
  142. package/node_modules/json2csv/package.json +37 -64
  143. package/node_modules/jsonparse/package.json +18 -53
  144. package/node_modules/lodash/package.json +15 -61
  145. package/node_modules/lodash.get/package.json +16 -67
  146. package/node_modules/lru-cache/package.json +27 -61
  147. package/node_modules/make-dir/node_modules/semver/package.json +20 -51
  148. package/node_modules/make-dir/package.json +62 -93
  149. package/node_modules/maplex/package.json +22 -54
  150. package/node_modules/methods/package.json +22 -64
  151. package/node_modules/mime/package.json +20 -48
  152. package/node_modules/mime-db/package.json +25 -67
  153. package/node_modules/mime-types/package.json +20 -64
  154. package/node_modules/mimic-response/package.json +45 -76
  155. package/node_modules/minimatch/package.json +25 -61
  156. package/node_modules/minipass/package.json +30 -64
  157. package/node_modules/minizlib/package.json +27 -59
  158. package/node_modules/mkdirp/package.json +27 -57
  159. package/node_modules/ms/package.json +24 -58
  160. package/node_modules/multi-progress/package.json +20 -46
  161. package/node_modules/nan/package.json +27 -87
  162. package/node_modules/node-fetch/package.json +77 -104
  163. package/node_modules/nopt/package.json +22 -54
  164. package/node_modules/normalize-path/package.json +25 -63
  165. package/node_modules/npmlog/package.json +23 -55
  166. package/node_modules/object-assign/package.json +20 -51
  167. package/node_modules/object-inspect/package.json +53 -81
  168. package/node_modules/once/package.json +19 -56
  169. package/node_modules/parse-listing/package.json +27 -56
  170. package/node_modules/path-is-absolute/package.json +16 -47
  171. package/node_modules/picomatch/package.json +28 -60
  172. package/node_modules/progress/package.json +21 -65
  173. package/node_modules/qs/package.json +78 -105
  174. package/node_modules/readdirp/package.json +47 -83
  175. package/node_modules/require-directory/package.json +29 -57
  176. package/node_modules/rimraf/package.json +23 -61
  177. package/node_modules/rw/package.json +19 -46
  178. package/node_modules/safe-buffer/package.json +10 -38
  179. package/node_modules/safer-buffer/package.json +18 -43
  180. package/node_modules/semver/package.json +36 -70
  181. package/node_modules/set-blocking/package.json +29 -56
  182. package/node_modules/side-channel/package.json +70 -98
  183. package/node_modules/sift/package.json +30 -62
  184. package/node_modules/signal-exit/package.json +29 -58
  185. package/node_modules/simple-concat/package.json +22 -46
  186. package/node_modules/simple-get/package.json +9 -33
  187. package/node_modules/simple-swizzle/node_modules/is-arrayish/package.json +28 -59
  188. package/node_modules/simple-swizzle/package.json +23 -57
  189. package/node_modules/strangler/package.json +39 -67
  190. package/node_modules/stream-combiner/package.json +15 -48
  191. package/node_modules/string-tools/package.json +16 -50
  192. package/node_modules/string-width/package.json +59 -97
  193. package/node_modules/string_decoder/package.json +18 -47
  194. package/node_modules/strip-ansi/package.json +57 -94
  195. package/node_modules/superagent/node_modules/form-data/package.json +42 -74
  196. package/node_modules/superagent/node_modules/readable-stream/package.json +32 -60
  197. package/node_modules/superagent/package.json +13 -59
  198. package/node_modules/tar/package.json +27 -59
  199. package/node_modules/through/package.json +17 -50
  200. package/node_modules/to-regex-range/package.json +25 -61
  201. package/node_modules/tr46/package.json +24 -51
  202. package/node_modules/unorm/package.json +34 -75
  203. package/node_modules/util-deprecate/package.json +19 -49
  204. package/node_modules/uuid/package.json +74 -102
  205. package/node_modules/webidl-conversions/package.json +18 -53
  206. package/node_modules/whatwg-url/package.json +15 -49
  207. package/node_modules/wide-align/package.json +21 -53
  208. package/node_modules/wolfy87-eventemitter/package.json +25 -49
  209. package/node_modules/wrap-ansi/package.json +65 -97
  210. package/node_modules/wrappy/package.json +21 -50
  211. package/node_modules/y18n/package.json +43 -73
  212. package/node_modules/yallist/package.json +20 -55
  213. package/node_modules/yargs/package.json +72 -99
  214. package/node_modules/yargs-parser/package.json +52 -83
  215. package/package.json +2 -3
  216. package/src/TrialAccount.js +76 -0
  217. package/src/commands/agent/Agent.js +10 -19
  218. package/src/commands/agent/index.js +1 -0
  219. package/src/commands/agent/ready.js +42 -0
  220. package/src/commands/instances/list.js +8 -3
  221. package/src/commands/signup.js +14 -5
  222. package/src/commands/webplayer/WebPlayer.js +2 -1
  223. package/src/commands/webplayer/create.js +6 -0
  224. package/src/commands/webplayer/list.js +17 -16
  225. package/src/logging.js +1 -1
  226. package/src/profile.js +12 -9
  227. package/src/resumable.js +1314 -0
  228. package/src/table.js +7 -2
  229. package/src/upload.js +64 -2
  230. package/test/test.js +89 -0
  231. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  232. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  233. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  234. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  235. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  236. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  237. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  238. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  239. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  240. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  241. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  242. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  243. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  244. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  245. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  246. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  247. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  248. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  249. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  250. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  251. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  252. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  253. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  254. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  255. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  256. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  257. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  258. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  259. package/node_modules/@corellium/corellium-api/package.json +0 -106
  260. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  261. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  262. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  263. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  264. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  265. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  266. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  267. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  268. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  269. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  270. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  271. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  272. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  273. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  274. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  275. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  276. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  277. package/node_modules/async-limiter/.eslintignore +0 -2
  278. package/node_modules/async-limiter/.nycrc +0 -10
  279. package/node_modules/async-limiter/.travis.yml +0 -9
  280. package/node_modules/async-limiter/LICENSE +0 -8
  281. package/node_modules/async-limiter/index.js +0 -67
  282. package/node_modules/async-limiter/package.json +0 -72
  283. package/node_modules/async-limiter/readme.md +0 -132
  284. package/node_modules/buffer-crc32/LICENSE +0 -19
  285. package/node_modules/buffer-crc32/README.md +0 -47
  286. package/node_modules/buffer-crc32/index.js +0 -111
  287. package/node_modules/buffer-crc32/package.json +0 -72
  288. package/node_modules/cross-fetch/LICENSE +0 -21
  289. package/node_modules/cross-fetch/README.md +0 -169
  290. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  291. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  292. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  293. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  294. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  295. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  296. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  297. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  298. package/node_modules/cross-fetch/index.d.ts +0 -14
  299. package/node_modules/cross-fetch/package.json +0 -160
  300. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  301. package/node_modules/duplexify/.travis.yml +0 -6
  302. package/node_modules/duplexify/LICENSE +0 -21
  303. package/node_modules/duplexify/README.md +0 -97
  304. package/node_modules/duplexify/example.js +0 -21
  305. package/node_modules/duplexify/index.js +0 -234
  306. package/node_modules/duplexify/package.json +0 -69
  307. package/node_modules/duplexify/test.js +0 -295
  308. package/node_modules/end-of-stream/LICENSE +0 -21
  309. package/node_modules/end-of-stream/README.md +0 -54
  310. package/node_modules/end-of-stream/index.js +0 -94
  311. package/node_modules/end-of-stream/package.json +0 -69
  312. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  313. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  314. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  315. package/node_modules/fast-stable-stringify/README.md +0 -81
  316. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  317. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  318. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  319. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  320. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  321. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  322. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  323. package/node_modules/fast-stable-stringify/index.js +0 -73
  324. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  325. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  326. package/node_modules/fast-stable-stringify/package.json +0 -77
  327. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  328. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  329. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  330. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  331. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  332. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  333. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  334. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  335. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  336. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  337. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  338. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  339. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  340. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  341. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  342. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  343. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  344. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  345. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  346. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  347. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  348. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  349. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  350. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  351. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  352. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  353. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  354. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  355. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  356. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  357. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  358. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  359. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  360. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  361. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  362. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  363. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  364. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  365. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  366. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  367. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  368. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  369. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  370. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  371. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  372. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  373. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  374. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  375. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  376. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  377. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  378. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  379. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  380. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  381. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  382. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  383. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  384. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  385. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  386. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  387. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  388. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  389. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  390. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  391. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  392. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  393. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  394. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  395. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  396. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  397. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  398. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  399. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  400. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  401. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  402. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  403. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  404. package/node_modules/hkdf/.npmignore +0 -2
  405. package/node_modules/hkdf/README.md +0 -23
  406. package/node_modules/hkdf/hkdf.py +0 -171
  407. package/node_modules/hkdf/hkdf.pyc +0 -0
  408. package/node_modules/hkdf/index.js +0 -1
  409. package/node_modules/hkdf/lib/hkdf.js +0 -55
  410. package/node_modules/hkdf/package.json +0 -55
  411. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  412. package/node_modules/hkdf/test/all-test.js +0 -79
  413. package/node_modules/hkdf/test.py +0 -11
  414. package/node_modules/immediate/LICENSE.txt +0 -20
  415. package/node_modules/immediate/README.md +0 -93
  416. package/node_modules/immediate/dist/immediate.js +0 -75
  417. package/node_modules/immediate/dist/immediate.min.js +0 -1
  418. package/node_modules/immediate/lib/browser.js +0 -69
  419. package/node_modules/immediate/lib/index.js +0 -73
  420. package/node_modules/immediate/package.json +0 -86
  421. package/node_modules/isarray/.npmignore +0 -1
  422. package/node_modules/isarray/.travis.yml +0 -4
  423. package/node_modules/isarray/Makefile +0 -6
  424. package/node_modules/isarray/README.md +0 -60
  425. package/node_modules/isarray/component.json +0 -19
  426. package/node_modules/isarray/index.js +0 -5
  427. package/node_modules/isarray/package.json +0 -77
  428. package/node_modules/isarray/test.js +0 -20
  429. package/node_modules/jszip/.codeclimate.yml +0 -16
  430. package/node_modules/jszip/.editorconfig +0 -8
  431. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  432. package/node_modules/jszip/.jshintignore +0 -1
  433. package/node_modules/jszip/.jshintrc +0 -21
  434. package/node_modules/jszip/.travis.yml +0 -17
  435. package/node_modules/jszip/CHANGES.md +0 -192
  436. package/node_modules/jszip/LICENSE.markdown +0 -651
  437. package/node_modules/jszip/README.markdown +0 -33
  438. package/node_modules/jszip/dist/jszip.js +0 -11583
  439. package/node_modules/jszip/dist/jszip.min.js +0 -13
  440. package/node_modules/jszip/index.d.ts +0 -335
  441. package/node_modules/jszip/lib/base64.js +0 -106
  442. package/node_modules/jszip/lib/compressedObject.js +0 -74
  443. package/node_modules/jszip/lib/compressions.js +0 -14
  444. package/node_modules/jszip/lib/crc32.js +0 -77
  445. package/node_modules/jszip/lib/defaults.js +0 -11
  446. package/node_modules/jszip/lib/external.js +0 -19
  447. package/node_modules/jszip/lib/flate.js +0 -85
  448. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  449. package/node_modules/jszip/lib/generate/index.js +0 -57
  450. package/node_modules/jszip/lib/index.js +0 -55
  451. package/node_modules/jszip/lib/license_header.js +0 -11
  452. package/node_modules/jszip/lib/load.js +0 -88
  453. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  454. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  455. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  456. package/node_modules/jszip/lib/object.js +0 -389
  457. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  458. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  459. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  460. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  461. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  462. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  463. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  464. package/node_modules/jszip/lib/signature.js +0 -7
  465. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  466. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  467. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  468. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  469. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  470. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  471. package/node_modules/jszip/lib/support.js +0 -38
  472. package/node_modules/jszip/lib/utf8.js +0 -275
  473. package/node_modules/jszip/lib/utils.js +0 -501
  474. package/node_modules/jszip/lib/zipEntries.js +0 -262
  475. package/node_modules/jszip/lib/zipEntry.js +0 -294
  476. package/node_modules/jszip/lib/zipObject.js +0 -133
  477. package/node_modules/jszip/package.json +0 -99
  478. package/node_modules/jszip/tsconfig.json +0 -101
  479. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  480. package/node_modules/lie/README.md +0 -62
  481. package/node_modules/lie/dist/lie.js +0 -350
  482. package/node_modules/lie/dist/lie.min.js +0 -1
  483. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  484. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  485. package/node_modules/lie/lib/browser.js +0 -273
  486. package/node_modules/lie/lib/index.js +0 -298
  487. package/node_modules/lie/license.md +0 -7
  488. package/node_modules/lie/lie.d.ts +0 -244
  489. package/node_modules/lie/package.json +0 -98
  490. package/node_modules/lie/polyfill.js +0 -4
  491. package/node_modules/p-finally/index.js +0 -15
  492. package/node_modules/p-finally/license +0 -21
  493. package/node_modules/p-finally/package.json +0 -77
  494. package/node_modules/p-finally/readme.md +0 -47
  495. package/node_modules/p-retry/index.js +0 -52
  496. package/node_modules/p-retry/license +0 -9
  497. package/node_modules/p-retry/package.json +0 -83
  498. package/node_modules/p-retry/readme.md +0 -109
  499. package/node_modules/p-timeout/index.d.ts +0 -72
  500. package/node_modules/p-timeout/index.js +0 -57
  501. package/node_modules/p-timeout/license +0 -9
  502. package/node_modules/p-timeout/package.json +0 -80
  503. package/node_modules/p-timeout/readme.md +0 -87
  504. package/node_modules/pako/CHANGELOG.md +0 -164
  505. package/node_modules/pako/LICENSE +0 -21
  506. package/node_modules/pako/README.md +0 -191
  507. package/node_modules/pako/dist/pako.js +0 -6818
  508. package/node_modules/pako/dist/pako.min.js +0 -1
  509. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  510. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  511. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  512. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  513. package/node_modules/pako/index.js +0 -14
  514. package/node_modules/pako/lib/deflate.js +0 -400
  515. package/node_modules/pako/lib/inflate.js +0 -423
  516. package/node_modules/pako/lib/utils/common.js +0 -105
  517. package/node_modules/pako/lib/utils/strings.js +0 -187
  518. package/node_modules/pako/lib/zlib/README +0 -59
  519. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  520. package/node_modules/pako/lib/zlib/constants.js +0 -68
  521. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  522. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  523. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  524. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  525. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  526. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  527. package/node_modules/pako/lib/zlib/messages.js +0 -32
  528. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  529. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  530. package/node_modules/pako/package.json +0 -94
  531. package/node_modules/process-nextick-args/index.js +0 -45
  532. package/node_modules/process-nextick-args/license.md +0 -19
  533. package/node_modules/process-nextick-args/package.json +0 -53
  534. package/node_modules/process-nextick-args/readme.md +0 -18
  535. package/node_modules/readable-stream/.travis.yml +0 -34
  536. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  537. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  538. package/node_modules/readable-stream/LICENSE +0 -47
  539. package/node_modules/readable-stream/README.md +0 -58
  540. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  541. package/node_modules/readable-stream/duplex-browser.js +0 -1
  542. package/node_modules/readable-stream/duplex.js +0 -1
  543. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  544. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  545. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  546. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  547. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  548. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  549. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  550. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  551. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  552. package/node_modules/readable-stream/package.json +0 -86
  553. package/node_modules/readable-stream/passthrough.js +0 -1
  554. package/node_modules/readable-stream/readable-browser.js +0 -7
  555. package/node_modules/readable-stream/readable.js +0 -19
  556. package/node_modules/readable-stream/transform.js +0 -1
  557. package/node_modules/readable-stream/writable-browser.js +0 -1
  558. package/node_modules/readable-stream/writable.js +0 -8
  559. package/node_modules/retry/.npmignore +0 -3
  560. package/node_modules/retry/.travis.yml +0 -15
  561. package/node_modules/retry/License +0 -21
  562. package/node_modules/retry/Makefile +0 -18
  563. package/node_modules/retry/README.md +0 -227
  564. package/node_modules/retry/equation.gif +0 -0
  565. package/node_modules/retry/example/dns.js +0 -31
  566. package/node_modules/retry/example/stop.js +0 -40
  567. package/node_modules/retry/index.js +0 -1
  568. package/node_modules/retry/lib/retry.js +0 -100
  569. package/node_modules/retry/lib/retry_operation.js +0 -158
  570. package/node_modules/retry/package.json +0 -67
  571. package/node_modules/retry/test/common.js +0 -10
  572. package/node_modules/retry/test/integration/test-forever.js +0 -24
  573. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  574. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  575. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  576. package/node_modules/setimmediate/LICENSE.txt +0 -20
  577. package/node_modules/setimmediate/package.json +0 -77
  578. package/node_modules/setimmediate/setImmediate.js +0 -186
  579. package/node_modules/split/.npmignore +0 -3
  580. package/node_modules/split/.travis.yml +0 -3
  581. package/node_modules/split/LICENCE +0 -22
  582. package/node_modules/split/examples/pretty.js +0 -26
  583. package/node_modules/split/index.js +0 -63
  584. package/node_modules/split/package.json +0 -65
  585. package/node_modules/split/readme.markdown +0 -72
  586. package/node_modules/split/test/options.asynct.js +0 -46
  587. package/node_modules/split/test/partitioned_unicode.js +0 -34
  588. package/node_modules/split/test/split.asynct.js +0 -137
  589. package/node_modules/split/test/try_catch.asynct.js +0 -51
  590. package/node_modules/stream-shift/.travis.yml +0 -6
  591. package/node_modules/stream-shift/LICENSE +0 -21
  592. package/node_modules/stream-shift/README.md +0 -25
  593. package/node_modules/stream-shift/index.js +0 -20
  594. package/node_modules/stream-shift/package.json +0 -56
  595. package/node_modules/stream-shift/test.js +0 -48
  596. package/node_modules/ultron/LICENSE +0 -22
  597. package/node_modules/ultron/README.md +0 -113
  598. package/node_modules/ultron/index.js +0 -136
  599. package/node_modules/ultron/package.json +0 -71
  600. package/node_modules/websocket-stream/LICENSE +0 -8
  601. package/node_modules/websocket-stream/collaborators.md +0 -11
  602. package/node_modules/websocket-stream/echo-server.js +0 -51
  603. package/node_modules/websocket-stream/index.d.ts +0 -27
  604. package/node_modules/websocket-stream/index.js +0 -6
  605. package/node_modules/websocket-stream/package.json +0 -82
  606. package/node_modules/websocket-stream/readme.md +0 -148
  607. package/node_modules/websocket-stream/server.js +0 -29
  608. package/node_modules/websocket-stream/stream.js +0 -189
  609. package/node_modules/websocket-stream/test-client.js +0 -74
  610. package/node_modules/websocket-stream/test-server.js +0 -56
  611. package/node_modules/websocket-stream/test.js +0 -338
  612. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  613. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  614. package/node_modules/ws/LICENSE +0 -21
  615. package/node_modules/ws/README.md +0 -341
  616. package/node_modules/ws/index.js +0 -15
  617. package/node_modules/ws/lib/.DS_Store +0 -0
  618. package/node_modules/ws/lib/BufferUtil.js +0 -71
  619. package/node_modules/ws/lib/Constants.js +0 -10
  620. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  621. package/node_modules/ws/lib/EventTarget.js +0 -151
  622. package/node_modules/ws/lib/Extensions.js +0 -203
  623. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  624. package/node_modules/ws/lib/Receiver.js +0 -553
  625. package/node_modules/ws/lib/Sender.js +0 -412
  626. package/node_modules/ws/lib/Validation.js +0 -17
  627. package/node_modules/ws/lib/WebSocket.js +0 -717
  628. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  629. package/node_modules/ws/package.json +0 -83
  630. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  631. package/node_modules/xhr2/Cakefile +0 -131
  632. package/node_modules/xhr2/LICENSE.txt +0 -19
  633. package/node_modules/xhr2/README.md +0 -142
  634. package/node_modules/xhr2/lib/browser.js +0 -1
  635. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  636. package/node_modules/xhr2/package.json +0 -103
  637. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  638. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  639. package/node_modules/xhr2/src/errors.coffee +0 -31
  640. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  641. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  642. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  643. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  644. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  645. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  646. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  647. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  648. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  649. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  650. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  651. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  652. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  653. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  654. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  655. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  656. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  657. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  658. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  659. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  660. package/node_modules/xtend/.jshintrc +0 -30
  661. package/node_modules/xtend/LICENSE +0 -20
  662. package/node_modules/xtend/README.md +0 -32
  663. package/node_modules/xtend/immutable.js +0 -19
  664. package/node_modules/xtend/mutable.js +0 -17
  665. package/node_modules/xtend/package.json +0 -89
  666. package/node_modules/xtend/test.js +0 -103
  667. package/node_modules/yazl/LICENSE +0 -21
  668. package/node_modules/yazl/README.md +0 -389
  669. package/node_modules/yazl/index.js +0 -749
  670. package/node_modules/yazl/package.json +0 -69
  671. package/src/commands/CorelliumAPI.js +0 -76
  672. 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
- });