@datadog/datadog-ci 3.4.0 → 3.6.0

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 (397) hide show
  1. package/dist/cli.js.map +1 -1
  2. package/dist/commands/cloud-run/flare.js +14 -14
  3. package/dist/commands/cloud-run/flare.js.map +1 -1
  4. package/dist/commands/coverage/api.js +10 -0
  5. package/dist/commands/coverage/api.js.map +1 -1
  6. package/dist/commands/coverage/interfaces.d.ts +3 -0
  7. package/dist/commands/coverage/renderer.js +2 -2
  8. package/dist/commands/coverage/renderer.js.map +1 -1
  9. package/dist/commands/coverage/upload.d.ts +3 -0
  10. package/dist/commands/coverage/upload.js +59 -12
  11. package/dist/commands/coverage/upload.js.map +1 -1
  12. package/dist/commands/coverage/utils.js +2 -2
  13. package/dist/commands/coverage/utils.js.map +1 -1
  14. package/dist/commands/dsyms/renderer.js +3 -3
  15. package/dist/commands/dsyms/renderer.js.map +1 -1
  16. package/dist/commands/dsyms/upload.js +9 -9
  17. package/dist/commands/dsyms/upload.js.map +1 -1
  18. package/dist/commands/dsyms/utils.js +4 -4
  19. package/dist/commands/dsyms/utils.js.map +1 -1
  20. package/dist/commands/elf-symbols/upload.js +4 -4
  21. package/dist/commands/elf-symbols/upload.js.map +1 -1
  22. package/dist/commands/flutter-symbols/helpers.js +5 -25
  23. package/dist/commands/flutter-symbols/helpers.js.map +1 -1
  24. package/dist/commands/flutter-symbols/upload.js +2 -2
  25. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  26. package/dist/commands/gate/renderer.js +1 -1
  27. package/dist/commands/gate/renderer.js.map +1 -1
  28. package/dist/commands/git-metadata/git.d.ts +6 -0
  29. package/dist/commands/git-metadata/git.js +74 -2
  30. package/dist/commands/git-metadata/git.js.map +1 -1
  31. package/dist/commands/git-metadata/gitdb.js +4 -4
  32. package/dist/commands/git-metadata/gitdb.js.map +1 -1
  33. package/dist/commands/junit/api.js +2 -2
  34. package/dist/commands/junit/api.js.map +1 -1
  35. package/dist/commands/junit/renderer.js +2 -2
  36. package/dist/commands/junit/renderer.js.map +1 -1
  37. package/dist/commands/junit/upload.js +7 -7
  38. package/dist/commands/junit/upload.js.map +1 -1
  39. package/dist/commands/lambda/flare.js +18 -18
  40. package/dist/commands/lambda/flare.js.map +1 -1
  41. package/dist/commands/pe-symbols/upload.js +2 -3
  42. package/dist/commands/pe-symbols/upload.js.map +1 -1
  43. package/dist/commands/react-native/xcode.js +1 -2
  44. package/dist/commands/react-native/xcode.js.map +1 -1
  45. package/dist/commands/sarif/renderer.js +3 -3
  46. package/dist/commands/sarif/renderer.js.map +1 -1
  47. package/dist/commands/sarif/upload.js +5 -6
  48. package/dist/commands/sarif/upload.js.map +1 -1
  49. package/dist/commands/sourcemaps/upload.js +4 -5
  50. package/dist/commands/sourcemaps/upload.js.map +1 -1
  51. package/dist/commands/sourcemaps/utils.js +2 -2
  52. package/dist/commands/sourcemaps/utils.js.map +1 -1
  53. package/dist/commands/synthetics/api.d.ts +1 -1
  54. package/dist/commands/synthetics/api.js +40 -12
  55. package/dist/commands/synthetics/api.js.map +1 -1
  56. package/dist/commands/synthetics/base-command.d.ts +1 -1
  57. package/dist/commands/synthetics/base-command.js +12 -7
  58. package/dist/commands/synthetics/base-command.js.map +1 -1
  59. package/dist/commands/synthetics/batch.js +12 -11
  60. package/dist/commands/synthetics/batch.js.map +1 -1
  61. package/dist/commands/synthetics/build-and-test.d.ts +1 -1
  62. package/dist/commands/synthetics/build-and-test.js +11 -31
  63. package/dist/commands/synthetics/build-and-test.js.map +1 -1
  64. package/dist/commands/synthetics/deploy-tests-command.d.ts +1 -1
  65. package/dist/commands/synthetics/deploy-tests-command.js +8 -11
  66. package/dist/commands/synthetics/deploy-tests-command.js.map +1 -1
  67. package/dist/commands/synthetics/import-tests-command.js +10 -9
  68. package/dist/commands/synthetics/import-tests-command.js.map +1 -1
  69. package/dist/commands/synthetics/interfaces.d.ts +71 -35
  70. package/dist/commands/synthetics/interfaces.js.map +1 -1
  71. package/dist/commands/synthetics/multilocator.js +2 -2
  72. package/dist/commands/synthetics/multilocator.js.map +1 -1
  73. package/dist/commands/synthetics/reporters/default.js +10 -9
  74. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  75. package/dist/commands/synthetics/reporters/junit.js +74 -63
  76. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  77. package/dist/commands/synthetics/run-tests-command.js +26 -18
  78. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  79. package/dist/commands/synthetics/test.d.ts +2 -2
  80. package/dist/commands/synthetics/upload-application-command.d.ts +1 -1
  81. package/dist/commands/synthetics/upload-application-command.js +19 -5
  82. package/dist/commands/synthetics/upload-application-command.js.map +1 -1
  83. package/dist/commands/synthetics/utils/internal.d.ts +3 -3
  84. package/dist/commands/synthetics/utils/internal.js +1 -2
  85. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  86. package/dist/commands/synthetics/utils/public.d.ts +4 -4
  87. package/dist/commands/synthetics/utils/public.js +22 -11
  88. package/dist/commands/synthetics/utils/public.js.map +1 -1
  89. package/dist/commands/trace/test-utils.d.ts +4 -1
  90. package/dist/commands/trace/test-utils.js.map +1 -1
  91. package/dist/commands/unity-symbols/renderer.js +1 -1
  92. package/dist/commands/unity-symbols/upload.js +7 -7
  93. package/dist/commands/unity-symbols/upload.js.map +1 -1
  94. package/dist/helpers/ci.d.ts +1 -0
  95. package/dist/helpers/ci.js +3 -2
  96. package/dist/helpers/ci.js.map +1 -1
  97. package/dist/helpers/file-finder.js +3 -3
  98. package/dist/helpers/file-finder.js.map +1 -1
  99. package/dist/helpers/flare.js +4 -4
  100. package/dist/helpers/flare.js.map +1 -1
  101. package/dist/helpers/fs.js +3 -3
  102. package/dist/helpers/fs.js.map +1 -1
  103. package/dist/helpers/glob.d.ts +12 -0
  104. package/dist/helpers/glob.js +70 -0
  105. package/dist/helpers/glob.js.map +1 -0
  106. package/dist/helpers/interfaces.d.ts +7 -8
  107. package/dist/helpers/renderer.js +3 -3
  108. package/dist/helpers/renderer.js.map +1 -1
  109. package/dist/helpers/tags.d.ts +1 -0
  110. package/dist/helpers/tags.js +6 -4
  111. package/dist/helpers/tags.js.map +1 -1
  112. package/dist/helpers/utils.d.ts +5 -1
  113. package/dist/helpers/utils.js +6 -12
  114. package/dist/helpers/utils.js.map +1 -1
  115. package/package.json +6 -5
  116. package/dist/__tests__/cli.test.d.ts +0 -1
  117. package/dist/__tests__/cli.test.js +0 -93
  118. package/dist/__tests__/cli.test.js.map +0 -1
  119. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +0 -2
  120. package/dist/commands/cloud-run/__tests__/fixtures.js +0 -12
  121. package/dist/commands/cloud-run/__tests__/fixtures.js.map +0 -1
  122. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +0 -1
  123. package/dist/commands/cloud-run/__tests__/flare.test.js +0 -557
  124. package/dist/commands/cloud-run/__tests__/flare.test.js.map +0 -1
  125. package/dist/commands/coverage/__tests__/upload.test.d.ts +0 -1
  126. package/dist/commands/coverage/__tests__/upload.test.js +0 -291
  127. package/dist/commands/coverage/__tests__/upload.test.js.map +0 -1
  128. package/dist/commands/coverage/__tests__/utils.test.d.ts +0 -1
  129. package/dist/commands/coverage/__tests__/utils.test.js +0 -47
  130. package/dist/commands/coverage/__tests__/utils.test.js.map +0 -1
  131. package/dist/commands/deployment/__tests__/correlate.test.d.ts +0 -1
  132. package/dist/commands/deployment/__tests__/correlate.test.js +0 -106
  133. package/dist/commands/deployment/__tests__/correlate.test.js.map +0 -1
  134. package/dist/commands/deployment/__tests__/mark.test.d.ts +0 -1
  135. package/dist/commands/deployment/__tests__/mark.test.js +0 -97
  136. package/dist/commands/deployment/__tests__/mark.test.js.map +0 -1
  137. package/dist/commands/dora/__tests__/deployment.test.d.ts +0 -1
  138. package/dist/commands/dora/__tests__/deployment.test.js +0 -203
  139. package/dist/commands/dora/__tests__/deployment.test.js.map +0 -1
  140. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  141. package/dist/commands/dsyms/__tests__/upload.test.js +0 -346
  142. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  143. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  144. package/dist/commands/dsyms/__tests__/utils.test.js +0 -100
  145. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  146. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +0 -1
  147. package/dist/commands/elf-symbols/__tests__/elf.test.js +0 -822
  148. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +0 -1
  149. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +0 -1
  150. package/dist/commands/elf-symbols/__tests__/upload.test.js +0 -228
  151. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +0 -1
  152. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  153. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -617
  154. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  155. package/dist/commands/gate/__tests__/evaluate.test.d.ts +0 -1
  156. package/dist/commands/gate/__tests__/evaluate.test.js +0 -398
  157. package/dist/commands/gate/__tests__/evaluate.test.js.map +0 -1
  158. package/dist/commands/gate/__tests__/scope.test.d.ts +0 -1
  159. package/dist/commands/gate/__tests__/scope.test.js +0 -29
  160. package/dist/commands/gate/__tests__/scope.test.js.map +0 -1
  161. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  162. package/dist/commands/git-metadata/__tests__/git.test.js +0 -132
  163. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  164. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +0 -1
  165. package/dist/commands/git-metadata/__tests__/gitdb.test.js +0 -1386
  166. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +0 -1
  167. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  168. package/dist/commands/git-metadata/__tests__/library.test.js +0 -118
  169. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  170. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  171. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -52
  172. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  173. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  174. package/dist/commands/junit/__tests__/upload.test.js +0 -495
  175. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  176. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -51
  177. package/dist/commands/lambda/__tests__/fixtures.js +0 -146
  178. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  179. package/dist/commands/lambda/__tests__/flare.test.d.ts +0 -1
  180. package/dist/commands/lambda/__tests__/flare.test.js +0 -730
  181. package/dist/commands/lambda/__tests__/flare.test.js.map +0 -1
  182. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  183. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -791
  184. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  185. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  186. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -388
  187. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  188. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  189. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -732
  190. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  191. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  192. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -516
  193. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  194. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  195. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  196. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  197. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  198. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1606
  199. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  200. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  201. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -340
  202. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  203. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  204. package/dist/commands/lambda/__tests__/prompt.test.js +0 -206
  205. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  206. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  207. package/dist/commands/lambda/__tests__/tags.test.js +0 -305
  208. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  209. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  210. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -725
  211. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  212. package/dist/commands/measure/__tests__/measure.test.d.ts +0 -1
  213. package/dist/commands/measure/__tests__/measure.test.js +0 -102
  214. package/dist/commands/measure/__tests__/measure.test.js.map +0 -1
  215. package/dist/commands/pe-symbols/__tests__/pe.test.d.ts +0 -1
  216. package/dist/commands/pe-symbols/__tests__/pe.test.js +0 -81
  217. package/dist/commands/pe-symbols/__tests__/pe.test.js.map +0 -1
  218. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  219. package/dist/commands/react-native/__tests__/codepush.test.js +0 -196
  220. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  221. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  222. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -33
  223. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  224. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  225. package/dist/commands/react-native/__tests__/upload.test.js +0 -238
  226. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  227. package/dist/commands/react-native/__tests__/utils.test.d.ts +0 -1
  228. package/dist/commands/react-native/__tests__/utils.test.js +0 -69
  229. package/dist/commands/react-native/__tests__/utils.test.js.map +0 -1
  230. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  231. package/dist/commands/react-native/__tests__/xcode.test.js +0 -465
  232. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  233. package/dist/commands/sarif/__tests__/upload.test.d.ts +0 -1
  234. package/dist/commands/sarif/__tests__/upload.test.js +0 -291
  235. package/dist/commands/sarif/__tests__/upload.test.js.map +0 -1
  236. package/dist/commands/sarif/__tests__/utils.test.d.ts +0 -1
  237. package/dist/commands/sarif/__tests__/utils.test.js +0 -26
  238. package/dist/commands/sarif/__tests__/utils.test.js.map +0 -1
  239. package/dist/commands/sarif/__tests__/validation.test.d.ts +0 -1
  240. package/dist/commands/sarif/__tests__/validation.test.js +0 -19
  241. package/dist/commands/sarif/__tests__/validation.test.js.map +0 -1
  242. package/dist/commands/sbom/__tests__/payload.test.d.ts +0 -1
  243. package/dist/commands/sbom/__tests__/payload.test.js +0 -467
  244. package/dist/commands/sbom/__tests__/payload.test.js.map +0 -1
  245. package/dist/commands/sbom/__tests__/validation.test.d.ts +0 -1
  246. package/dist/commands/sbom/__tests__/validation.test.js +0 -145
  247. package/dist/commands/sbom/__tests__/validation.test.js.map +0 -1
  248. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  249. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  250. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  251. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  252. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  253. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  254. package/dist/commands/span/__tests__/span.test.d.ts +0 -1
  255. package/dist/commands/span/__tests__/span.test.js +0 -108
  256. package/dist/commands/span/__tests__/span.test.js.map +0 -1
  257. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +0 -1
  258. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +0 -210
  259. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +0 -1
  260. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +0 -6
  261. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +0 -45
  262. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +0 -1
  263. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +0 -5
  264. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +0 -19
  265. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +0 -1
  266. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +0 -1
  267. package/dist/commands/stepfunctions/__tests__/helpers.test.js +0 -501
  268. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +0 -1
  269. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +0 -1
  270. package/dist/commands/stepfunctions/__tests__/instrument.test.js +0 -431
  271. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +0 -1
  272. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +0 -1
  273. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +0 -166
  274. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +0 -1
  275. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  276. package/dist/commands/synthetics/__tests__/api.test.js +0 -416
  277. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  278. package/dist/commands/synthetics/__tests__/batch.test.d.ts +0 -1
  279. package/dist/commands/synthetics/__tests__/batch.test.js +0 -907
  280. package/dist/commands/synthetics/__tests__/batch.test.js.map +0 -1
  281. package/dist/commands/synthetics/__tests__/build-and-test.test.d.ts +0 -1
  282. package/dist/commands/synthetics/__tests__/build-and-test.test.js +0 -91
  283. package/dist/commands/synthetics/__tests__/build-and-test.test.js.map +0 -1
  284. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  285. package/dist/commands/synthetics/__tests__/cli.test.js +0 -1407
  286. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  287. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.d.ts +0 -1
  288. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.js +0 -112
  289. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.js.map +0 -1
  290. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -123
  291. package/dist/commands/synthetics/__tests__/fixtures.js +0 -493
  292. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  293. package/dist/commands/synthetics/__tests__/import-tests-lib.test.d.ts +0 -1
  294. package/dist/commands/synthetics/__tests__/import-tests-lib.test.js +0 -186
  295. package/dist/commands/synthetics/__tests__/import-tests-lib.test.js.map +0 -1
  296. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  297. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -376
  298. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  299. package/dist/commands/synthetics/__tests__/multilocator.test.d.ts +0 -1
  300. package/dist/commands/synthetics/__tests__/multilocator.test.js +0 -142
  301. package/dist/commands/synthetics/__tests__/multilocator.test.js.map +0 -1
  302. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  303. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -410
  304. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  305. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  306. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -354
  307. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  308. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +0 -1
  309. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +0 -232
  310. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +0 -1
  311. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +0 -1
  312. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +0 -698
  313. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +0 -1
  314. package/dist/commands/synthetics/__tests__/test.test.d.ts +0 -1
  315. package/dist/commands/synthetics/__tests__/test.test.js +0 -268
  316. package/dist/commands/synthetics/__tests__/test.test.js.map +0 -1
  317. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  318. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  319. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  320. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  321. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  322. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  323. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  324. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -109
  325. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  326. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +0 -1
  327. package/dist/commands/synthetics/__tests__/utils/internal.test.js +0 -161
  328. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +0 -1
  329. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +0 -1
  330. package/dist/commands/synthetics/__tests__/utils/public.test.js +0 -576
  331. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +0 -1
  332. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  333. package/dist/commands/tag/__tests__/tag.test.js +0 -85
  334. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  335. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  336. package/dist/commands/trace/__tests__/trace.test.js +0 -48
  337. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  338. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +0 -1
  339. package/dist/commands/unity-symbols/__tests__/upload.test.js +0 -369
  340. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +0 -1
  341. package/dist/helpers/__tests__/app.test.d.ts +0 -1
  342. package/dist/helpers/__tests__/app.test.js +0 -31
  343. package/dist/helpers/__tests__/app.test.js.map +0 -1
  344. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  345. package/dist/helpers/__tests__/ci.test.js +0 -344
  346. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  347. package/dist/helpers/__tests__/env.test.d.ts +0 -1
  348. package/dist/helpers/__tests__/env.test.js +0 -74
  349. package/dist/helpers/__tests__/env.test.js.map +0 -1
  350. package/dist/helpers/__tests__/fips.test.d.ts +0 -1
  351. package/dist/helpers/__tests__/fips.test.js +0 -30
  352. package/dist/helpers/__tests__/fips.test.js.map +0 -1
  353. package/dist/helpers/__tests__/fixtures.d.ts +0 -41
  354. package/dist/helpers/__tests__/fixtures.js +0 -80
  355. package/dist/helpers/__tests__/fixtures.js.map +0 -1
  356. package/dist/helpers/__tests__/flare.test.d.ts +0 -1
  357. package/dist/helpers/__tests__/flare.test.js +0 -227
  358. package/dist/helpers/__tests__/flare.test.js.map +0 -1
  359. package/dist/helpers/__tests__/fs.test.d.ts +0 -1
  360. package/dist/helpers/__tests__/fs.test.js +0 -189
  361. package/dist/helpers/__tests__/fs.test.js.map +0 -1
  362. package/dist/helpers/__tests__/id.test.d.ts +0 -1
  363. package/dist/helpers/__tests__/id.test.js +0 -24
  364. package/dist/helpers/__tests__/id.test.js.map +0 -1
  365. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  366. package/dist/helpers/__tests__/plist.test.js +0 -43
  367. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  368. package/dist/helpers/__tests__/prompt.test.d.ts +0 -1
  369. package/dist/helpers/__tests__/prompt.test.js +0 -71
  370. package/dist/helpers/__tests__/prompt.test.js.map +0 -1
  371. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  372. package/dist/helpers/__tests__/retry.test.js +0 -99
  373. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  374. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  375. package/dist/helpers/__tests__/tags.test.js +0 -362
  376. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  377. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  378. package/dist/helpers/__tests__/upload.test.js +0 -231
  379. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  380. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  381. package/dist/helpers/__tests__/user-provided-git.test.js +0 -119
  382. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  383. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  384. package/dist/helpers/__tests__/utils.test.js +0 -429
  385. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  386. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  387. package/dist/helpers/__tests__/validation.test.js +0 -25
  388. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  389. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  390. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -103
  391. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  392. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  393. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -121
  394. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  395. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  396. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -72
  397. package/dist/helpers/git/__tests__/get-git-data.test.js.map +0 -1
@@ -1,142 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __rest = (this && this.__rest) || function (s, e) {
35
- var t = {};
36
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
37
- t[p] = s[p];
38
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
39
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
41
- t[p[i]] = s[p[i]];
42
- }
43
- return t;
44
- };
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- jest.mock('fs/promises');
47
- const fsPromises = __importStar(require("fs/promises"));
48
- const ci = __importStar(require("../../../helpers/ci"));
49
- const prompt = __importStar(require("../../../helpers/prompt"));
50
- const multilocator_1 = require("../multilocator");
51
- const tests = __importStar(require("../test"));
52
- const fixtures_1 = require("./fixtures");
53
- describe('multilocator', () => {
54
- let mockConfig;
55
- let mockResults;
56
- let mockTestConfig;
57
- const browserTest = (0, fixtures_1.getBrowserTest)('test-1');
58
- // eslint-disable-next-line @typescript-eslint/naming-convention
59
- const { message, monitor_id, status, tags } = browserTest, baseBrowserLTD = __rest(browserTest, ["message", "monitor_id", "status", "tags"]);
60
- beforeEach(() => {
61
- jest.restoreAllMocks();
62
- jest.clearAllMocks();
63
- mockConfig = { files: ['test.json'] };
64
- mockResults = [
65
- (0, fixtures_1.getBrowserResult)('result-1', browserTest, {
66
- stepDetails: [
67
- (0, fixtures_1.getStep)(),
68
- (0, fixtures_1.getStep)(),
69
- Object.assign(Object.assign({}, (0, fixtures_1.getStep)()), { stepElementUpdates: { multiLocator: { ab: 'xpath-1' } } }),
70
- ],
71
- }),
72
- ];
73
- mockTestConfig = {
74
- tests: [
75
- {
76
- localTestDefinition: Object.assign(Object.assign({}, baseBrowserLTD), { public_id: 'test-1', steps: [{ params: { element: {} } }, { params: { element: {} } }] }),
77
- },
78
- ],
79
- };
80
- jest.spyOn(tests, 'getTestConfigs').mockResolvedValue(mockTestConfig.tests);
81
- jest.spyOn(prompt, 'requestConfirmation').mockResolvedValue(true);
82
- jest.spyOn(ci, 'isInteractive').mockReturnValue(true);
83
- jest.spyOn(fsPromises, 'writeFile').mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () { return Promise.resolve(); }));
84
- });
85
- describe('updateLTDMultiLocators', () => {
86
- test('should update MultiLocators when updates exist and user confirms', () => __awaiter(void 0, void 0, void 0, function* () {
87
- var _a, _b;
88
- yield (0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults);
89
- expect(tests.getTestConfigs).toHaveBeenCalledWith(mockConfig, fixtures_1.mockReporter);
90
- const steps = (_a = mockTestConfig.tests[0].localTestDefinition.steps) !== null && _a !== void 0 ? _a : [];
91
- expect((_b = steps[1].params.element) === null || _b === void 0 ? void 0 : _b.multiLocator).toEqual({
92
- ab: 'xpath-1',
93
- });
94
- expect(fsPromises.writeFile).toHaveBeenCalledWith('test.json', expect.any(String), 'utf8');
95
- }));
96
- test('should not modify tests when no MultiLocators exist', () => __awaiter(void 0, void 0, void 0, function* () {
97
- mockResults = [
98
- (0, fixtures_1.getBrowserResult)('result-1', (0, fixtures_1.getBrowserTest)('test-1'), {
99
- stepDetails: [(0, fixtures_1.getStep)(), Object.assign(Object.assign({}, (0, fixtures_1.getStep)()), { stepElementUpdates: {} })], // No ML updates
100
- }),
101
- ];
102
- yield (0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults);
103
- expect(tests.getTestConfigs).not.toHaveBeenCalled();
104
- expect(fsPromises.writeFile).not.toHaveBeenCalled();
105
- expect(fixtures_1.mockReporter.log).toHaveBeenCalledWith(expect.stringContaining('No MultiLocator updates found. No changes will be made.'));
106
- }));
107
- test('should not overwrite file if user declines update prompt', () => __awaiter(void 0, void 0, void 0, function* () {
108
- jest.spyOn(prompt, 'requestConfirmation').mockResolvedValue(false);
109
- yield (0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults);
110
- expect(tests.getTestConfigs).not.toHaveBeenCalled();
111
- expect(fsPromises.writeFile).not.toHaveBeenCalled();
112
- expect(fixtures_1.mockReporter.log).toHaveBeenCalledWith(expect.stringContaining('MultiLocator updates aborted by user.'));
113
- }));
114
- test('should handle errors during file write gracefully', () => __awaiter(void 0, void 0, void 0, function* () {
115
- jest.spyOn(fsPromises, 'writeFile').mockRejectedValue(new Error('Write failed'));
116
- yield expect((0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults)).resolves.not.toThrow();
117
- expect(fsPromises.writeFile).toHaveBeenCalled();
118
- expect(fixtures_1.mockReporter.error).toHaveBeenCalledWith(expect.stringContaining('Error writing to file'));
119
- }));
120
- test('should throw an error if multiple LTDs with the same publicId are found', () => __awaiter(void 0, void 0, void 0, function* () {
121
- mockTestConfig.tests.push({
122
- localTestDefinition: Object.assign(Object.assign({}, baseBrowserLTD), { public_id: 'test-1', steps: [{ params: { element: {} } }] }),
123
- });
124
- yield expect((0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults)).rejects.toThrow(`Cannot have multiple local test definitions with same publicId: test-1.`);
125
- expect(fsPromises.writeFile).not.toHaveBeenCalled();
126
- }));
127
- test('should throw an error if no LTD with the publicId is found', () => __awaiter(void 0, void 0, void 0, function* () {
128
- jest.spyOn(tests, 'getTestConfigs').mockResolvedValue([]);
129
- yield expect((0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults)).rejects.toThrow(`No local test definition found with publicId test-1.`);
130
- expect(fsPromises.writeFile).not.toHaveBeenCalled();
131
- }));
132
- test('should exit early if not in interactive mode', () => __awaiter(void 0, void 0, void 0, function* () {
133
- jest.spyOn(ci, 'isInteractive').mockReturnValue(false);
134
- yield (0, multilocator_1.updateLTDMultiLocators)(fixtures_1.mockReporter, mockConfig, mockResults);
135
- expect(prompt.requestConfirmation).not.toHaveBeenCalled();
136
- expect(tests.getTestConfigs).not.toHaveBeenCalled();
137
- expect(fsPromises.writeFile).not.toHaveBeenCalled();
138
- expect(fixtures_1.mockReporter.log).toHaveBeenCalledWith(expect.stringContaining('MultiLocator updates found, but cannot apply them in non-interactive mode.'));
139
- }));
140
- });
141
- });
142
- //# sourceMappingURL=multilocator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multilocator.test.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/__tests__/multilocator.test.ts"],"names":[],"mappings":"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"}
@@ -1,410 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- jest.unmock('chalk');
13
- const fixtures_1 = require("../../../../helpers/__tests__/fixtures");
14
- const interfaces_1 = require("../../interfaces");
15
- const default_1 = require("../../reporters/default");
16
- const internal_1 = require("../../utils/internal");
17
- const fixtures_2 = require("../fixtures");
18
- /**
19
- * A good amount of these tests rely on Jest snapshot assertions.
20
- * If you make some changes in the output of the default reporter, chances are you
21
- * will also have to update the snapshots from `./__snapshots__/default.test.ts.snap`.
22
- * To do that, you can run the following command: `yarn test --updateSnapshot reporters/default.test.ts`.
23
- * More information on https://jestjs.io/docs/snapshot-testing.
24
- */
25
- describe('Default reporter', () => {
26
- const writeMock = jest.fn();
27
- const mockContext = {
28
- context: {
29
- stdout: {
30
- write: writeMock,
31
- },
32
- },
33
- };
34
- const reporter = new default_1.DefaultReporter(mockContext);
35
- afterEach(() => {
36
- reporter['removeSpinner']();
37
- });
38
- it('should log for each hook', () => {
39
- // `testWait`/`resultReceived` is skipped as nothing is logged for the default reporter.
40
- const calls = [
41
- ['error', ['error'], 1],
42
- ['initErrors', [['error']], 1],
43
- ['log', ['log'], 1],
44
- ['reportStart', [{ startTime: 0 }], 1],
45
- ['resultEnd', [(0, fixtures_2.getApiResult)('1', (0, fixtures_2.getApiTest)()), '', ''], 1],
46
- ['runEnd', [(0, fixtures_2.getSummary)(), ''], 1],
47
- ['testTrigger', [(0, fixtures_2.getApiTest)(), '', interfaces_1.ExecutionRule.BLOCKING, {}], 1],
48
- ['testsWait', [[(0, fixtures_2.getApiTest)()], '', ''], 2],
49
- ];
50
- for (const [fnName, args, calledTimes] of calls) {
51
- ;
52
- reporter[fnName](...args);
53
- expect(writeMock).toHaveBeenCalledTimes(calledTimes);
54
- writeMock.mockClear();
55
- }
56
- });
57
- describe('testTrigger', () => {
58
- beforeEach(() => {
59
- writeMock.mockClear();
60
- });
61
- const testObject = {
62
- name: 'Request on example.org',
63
- };
64
- const testId = 'aaa-bbb-ccc';
65
- const cases = [
66
- ['Blocking test, without test override', interfaces_1.ExecutionRule.BLOCKING, {}],
67
- ['Blocking test, with 1 test override', interfaces_1.ExecutionRule.BLOCKING, { startUrl: 'foo' }],
68
- ['Blocking test, with 2 test overrides', interfaces_1.ExecutionRule.BLOCKING, { startUrl: 'foo', body: 'hello' }],
69
- ['Non-blocking test from Datadog, without test override', interfaces_1.ExecutionRule.NON_BLOCKING, {}],
70
- ['Non-blocking test from Datadog, with 1 test override', interfaces_1.ExecutionRule.NON_BLOCKING, { startUrl: 'foo' }],
71
- [
72
- 'Non-blocking test from Datadog, with 2 test overrides',
73
- interfaces_1.ExecutionRule.NON_BLOCKING,
74
- { startUrl: 'foo', body: 'hello' },
75
- ],
76
- [
77
- 'Non-blocking test, with 1 test override',
78
- interfaces_1.ExecutionRule.NON_BLOCKING,
79
- { executionRule: interfaces_1.ExecutionRule.NON_BLOCKING },
80
- ],
81
- [
82
- 'Non-blocking test, with 2 test overrides',
83
- interfaces_1.ExecutionRule.NON_BLOCKING,
84
- { startUrl: 'foo', executionRule: interfaces_1.ExecutionRule.NON_BLOCKING },
85
- ],
86
- ['Skipped test, with 1 test override', interfaces_1.ExecutionRule.SKIPPED, { executionRule: interfaces_1.ExecutionRule.SKIPPED }],
87
- [
88
- 'Skipped test, with 2 test overrides',
89
- interfaces_1.ExecutionRule.SKIPPED,
90
- { startUrl: 'foo', executionRule: interfaces_1.ExecutionRule.SKIPPED },
91
- ],
92
- ['Skipped test from Datadog, without test override', interfaces_1.ExecutionRule.SKIPPED, {}],
93
- ['Skipped test from Datadog, with 1 test override', interfaces_1.ExecutionRule.SKIPPED, { startUrl: 'foo' }],
94
- ['Skipped test from Datadog, with 2 test overrides', interfaces_1.ExecutionRule.SKIPPED, { startUrl: 'foo', body: 'hello' }],
95
- ];
96
- test.each(cases)('%s', (title, executionRule, testOverrides) => {
97
- reporter.testTrigger(testObject, testId, executionRule, testOverrides);
98
- const mostRecentOutput = writeMock.mock.calls[writeMock.mock.calls.length - 1][0];
99
- expect(mostRecentOutput).toMatchSnapshot();
100
- });
101
- });
102
- describe('testsWait', () => {
103
- let initialCiEnv;
104
- beforeAll(() => {
105
- jest.useFakeTimers();
106
- initialCiEnv = process.env.CI;
107
- });
108
- afterAll(() => {
109
- jest.useRealTimers();
110
- if (initialCiEnv !== undefined) {
111
- process.env.CI = initialCiEnv;
112
- }
113
- else {
114
- delete process.env.CI;
115
- }
116
- });
117
- test('outputs triggered tests', () => __awaiter(void 0, void 0, void 0, function* () {
118
- reporter.testsWait(Array(11).fill((0, fixtures_2.getApiTest)()), fixtures_1.MOCK_BASE_URL, '123');
119
- const output = writeMock.mock.calls.map((c) => c[0]).join('\n');
120
- expect(output).toMatchSnapshot();
121
- }));
122
- test('outputs triggered tests with skipped count', () => __awaiter(void 0, void 0, void 0, function* () {
123
- reporter.testsWait(Array(11).fill((0, fixtures_2.getApiTest)()), fixtures_1.MOCK_BASE_URL, '123', 3);
124
- const output = writeMock.mock.calls.map((c) => c[0]).join('\n');
125
- expect(output).toMatchSnapshot();
126
- }));
127
- /* eslint-disable jest/no-conditional-expect */
128
- test.each([false, true])('the spinner text is updated and cleared at the end (in CI: %s)', (inCI) => __awaiter(void 0, void 0, void 0, function* () {
129
- var _a, _b;
130
- let simulatedTerminalOutput = '';
131
- const write = jest.fn().mockImplementation((text) => {
132
- // Ignore show/hide cursor ANSI codes.
133
- if (text.match(/\u001b\[\?25(l|h)/)) {
134
- return;
135
- }
136
- simulatedTerminalOutput += text;
137
- });
138
- const clearLine = jest.fn().mockImplementation(() => {
139
- simulatedTerminalOutput = simulatedTerminalOutput.split('\n').slice(0, -1).join('\n');
140
- });
141
- if (inCI) {
142
- process.env.CI = 'true';
143
- }
144
- else {
145
- delete process.env.CI;
146
- }
147
- const ttyContext = {
148
- context: {
149
- stdout: {
150
- isTTY: true,
151
- write,
152
- clearLine,
153
- cursorTo: jest.fn(),
154
- moveCursor: jest.fn(),
155
- },
156
- },
157
- };
158
- const ttyReporter = new default_1.DefaultReporter(ttyContext);
159
- clearLine.mockClear();
160
- ttyReporter.testsWait([(0, fixtures_2.getApiTest)('aaa-aaa-aaa'), (0, fixtures_2.getApiTest)('bbb-bbb-bbb')], fixtures_1.MOCK_BASE_URL, '123');
161
- ttyReporter.testsWait([(0, fixtures_2.getApiTest)('aaa-aaa-aaa'), (0, fixtures_2.getApiTest)('bbb-bbb-bbb')], fixtures_1.MOCK_BASE_URL, '123');
162
- // The same text is the same, so the spinner is not updated.
163
- expect(clearLine).not.toHaveBeenCalled();
164
- expect(simulatedTerminalOutput).toMatchSnapshot();
165
- clearLine.mockClear();
166
- ttyReporter.resultEnd((0, fixtures_2.getApiResult)('rid', (0, fixtures_2.getApiTest)('aaa-aaa-aaa')), fixtures_1.MOCK_BASE_URL, '123');
167
- if (inCI) {
168
- // In CI the spinner does not spin, so `resultEnd()` has no spinner text to clear.
169
- expect(clearLine).not.toHaveBeenCalled();
170
- }
171
- else {
172
- expect(clearLine).toHaveBeenCalled();
173
- }
174
- expect(simulatedTerminalOutput).toMatchSnapshot();
175
- clearLine.mockClear();
176
- ttyReporter.testsWait([(0, fixtures_2.getApiTest)('aaa-aaa-aaa')], fixtures_1.MOCK_BASE_URL, '123');
177
- (_a = ttyReporter['testWaitSpinner']) === null || _a === void 0 ? void 0 : _a.render(); // Simulate the next frame for the spinner.
178
- if (inCI) {
179
- // In CI, the old text from the spinner is not cleared, so that it's persisted in the CI logs.
180
- expect(clearLine).not.toHaveBeenCalled();
181
- }
182
- else {
183
- expect(clearLine).toHaveBeenCalled();
184
- }
185
- expect(simulatedTerminalOutput).toMatchSnapshot();
186
- clearLine.mockClear();
187
- ttyReporter.testsWait([], fixtures_1.MOCK_BASE_URL, '123');
188
- (_b = ttyReporter['testWaitSpinner']) === null || _b === void 0 ? void 0 : _b.render(); // Simulate the next frame for the spinner.
189
- if (inCI) {
190
- // In CI, the old text from the spinner is not cleared, so that it's persisted in the CI logs.
191
- expect(clearLine).not.toHaveBeenCalled();
192
- }
193
- else {
194
- expect(clearLine).toHaveBeenCalled();
195
- }
196
- expect(simulatedTerminalOutput).toMatchSnapshot();
197
- // Clean up
198
- ttyReporter['removeSpinner']();
199
- }));
200
- });
201
- /* eslint-enable jest/no-conditional-expect */
202
- describe('resultEnd', () => {
203
- const createFakeResult = (resultId, opts, test) => {
204
- const errorMessage = JSON.stringify([
205
- {
206
- actual: 1234,
207
- operator: 'lessThan',
208
- target: 1000,
209
- type: 'responseTime',
210
- },
211
- ]);
212
- const failure = { code: 'INCORRECT_ASSERTION', message: errorMessage };
213
- const { executionRule, incomplete, passed, retries, maxRetries, selectiveRerun, timedOut } = opts;
214
- const result = test.type === 'api' ? (0, fixtures_2.getApiResult)(resultId, test) : (0, fixtures_2.getBrowserResult)(resultId, test);
215
- if (passed !== undefined) {
216
- result.passed = passed;
217
- result.result = Object.assign(Object.assign(Object.assign({}, result.result), (passed ? {} : { failure })), { passed });
218
- }
219
- else if (executionRule === interfaces_1.ExecutionRule.SKIPPED) {
220
- delete result.result;
221
- }
222
- result.retries = retries !== null && retries !== void 0 ? retries : 0;
223
- result.maxRetries = maxRetries !== null && maxRetries !== void 0 ? maxRetries : 0;
224
- if (timedOut) {
225
- result.timedOut = true;
226
- result.passed = false; // `failOnTimeout` is assumed to be true
227
- if ((0, internal_1.isTimedOutRetry)(result.retries, result.maxRetries, timedOut)) {
228
- result.result.failure = { code: 'TIMEOUT', message: 'The batch timed out before receiving the retry.' };
229
- }
230
- else {
231
- result.result.failure = { code: 'TIMEOUT', message: 'The batch timed out before receiving the result.' };
232
- }
233
- }
234
- if (executionRule) {
235
- result.executionRule = executionRule;
236
- }
237
- if (selectiveRerun) {
238
- result.selectiveRerun = selectiveRerun;
239
- }
240
- if (incomplete) {
241
- result.result = (0, fixtures_2.getIncompleteServerResult)();
242
- }
243
- return result;
244
- };
245
- const apiTest = (0, fixtures_2.getApiTest)('aaa-aaa-aaa');
246
- const browserTest = (0, fixtures_2.getBrowserTest)('bbb-bbb-bbb');
247
- const cases = [
248
- {
249
- description: '1 API test, 1 location, 1 result: success',
250
- fixtures: {
251
- baseUrl: fixtures_1.MOCK_BASE_URL,
252
- results: [(0, fixtures_2.getApiResult)('1', apiTest)],
253
- },
254
- },
255
- {
256
- description: '1 API test, 1 location, 3 results: success, failed non-blocking, failed blocking',
257
- fixtures: {
258
- baseUrl: fixtures_1.MOCK_BASE_URL,
259
- results: [
260
- createFakeResult('1', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: true }, apiTest),
261
- createFakeResult('2', { executionRule: interfaces_1.ExecutionRule.NON_BLOCKING, passed: false }, apiTest),
262
- createFakeResult('3', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: false }, apiTest),
263
- ],
264
- },
265
- },
266
- {
267
- description: '3 Browser tests: failed blocking, timed out, global failure',
268
- fixtures: {
269
- baseUrl: fixtures_1.MOCK_BASE_URL,
270
- results: [
271
- (0, fixtures_2.getFailedBrowserResult)(),
272
- (0, fixtures_2.getTimedOutBrowserResult)(),
273
- Object.assign(Object.assign({}, (0, fixtures_2.getTimedOutBrowserResult)()), { result: {
274
- duration: 0,
275
- failure: { code: 'FAILURE_CODE', message: 'Failure message' },
276
- passed: false,
277
- steps: [],
278
- }, timedOut: false }),
279
- ],
280
- },
281
- },
282
- {
283
- description: '3 API tests, 2 passed (1 from previous CI run)',
284
- fixtures: {
285
- baseUrl: fixtures_1.MOCK_BASE_URL,
286
- results: [
287
- createFakeResult('1001', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: true }, apiTest),
288
- createFakeResult('0002', {
289
- executionRule: interfaces_1.ExecutionRule.SKIPPED,
290
- selectiveRerun: { decision: 'skip', reason: 'passed', linked_result_id: '0002' },
291
- }, apiTest),
292
- createFakeResult('1003', {
293
- executionRule: interfaces_1.ExecutionRule.BLOCKING,
294
- passed: true,
295
- selectiveRerun: { decision: 'run', reason: 'edited' }, // was re-run because edited, then it passed
296
- }, apiTest),
297
- ],
298
- },
299
- },
300
- {
301
- description: 'Retryable test - Usual case: passes after max retries',
302
- fixtures: {
303
- baseUrl: fixtures_1.MOCK_BASE_URL,
304
- results: [
305
- createFakeResult('0', { passed: false, retries: 0, maxRetries: 2 }, apiTest),
306
- createFakeResult('1', { passed: false, retries: 1, maxRetries: 2 }, apiTest),
307
- createFakeResult('2', { passed: true, retries: 2, maxRetries: 2 }, apiTest),
308
- ],
309
- },
310
- },
311
- {
312
- description: 'Retryable test - Usual case: passes after 1 retry only',
313
- fixtures: {
314
- baseUrl: fixtures_1.MOCK_BASE_URL,
315
- results: [
316
- createFakeResult('0', { passed: false, retries: 0, maxRetries: 2 }, apiTest),
317
- createFakeResult('1', { passed: true, retries: 1, maxRetries: 2 }, apiTest),
318
- ],
319
- },
320
- },
321
- {
322
- description: 'Retryable test - Edge case: fails, then retry times out',
323
- fixtures: {
324
- baseUrl: fixtures_1.MOCK_BASE_URL,
325
- results: [
326
- // The initial result ID is known from the beginning
327
- createFakeResult('0', { passed: false, retries: 0, maxRetries: 1 }, apiTest),
328
- // If the retry times out, the result ID stays the same
329
- createFakeResult('0', { timedOut: true, retries: 0, maxRetries: 1 }, apiTest),
330
- ],
331
- },
332
- },
333
- {
334
- description: 'Incomplete API and Browser tests - passed and failed',
335
- fixtures: {
336
- baseUrl: fixtures_1.MOCK_BASE_URL,
337
- results: [
338
- createFakeResult('1', { incomplete: true, passed: false }, apiTest),
339
- createFakeResult('2', { incomplete: true, passed: true }, apiTest),
340
- createFakeResult('3', { incomplete: true, passed: false }, browserTest),
341
- createFakeResult('4', { incomplete: true, passed: true }, browserTest),
342
- ],
343
- },
344
- },
345
- ];
346
- test.each(cases)('$description', (testCase) => {
347
- const { results, baseUrl } = testCase.fixtures;
348
- for (const result of results) {
349
- reporter.resultEnd(result, baseUrl, '123');
350
- }
351
- const output = writeMock.mock.calls.map((c) => c[0]).join('');
352
- expect(output).toMatchSnapshot();
353
- });
354
- });
355
- describe('runEnd', () => {
356
- beforeEach(() => {
357
- writeMock.mockClear();
358
- jest.useFakeTimers();
359
- reporter.reportStart({ startTime: Date.now() - 567890 }); // 9m 28s
360
- });
361
- const baseSummary = (0, fixtures_2.getSummary)();
362
- const complexSummary = {
363
- batchId: 'batch-id',
364
- testsNotFound: new Set(['ccc-ccc-ccc', 'ddd-ddd-ddd']),
365
- expected: 6,
366
- failed: 1,
367
- failedNonBlocking: 3,
368
- passed: 2,
369
- // The following fields are additional information, so they do not add to `.expected`.
370
- criticalErrors: 2,
371
- previouslyPassed: 1,
372
- skipped: 1,
373
- timedOut: 1,
374
- };
375
- const cases = [
376
- {
377
- description: 'Simple case with 1 test with 1 result (passed)',
378
- summary: Object.assign(Object.assign({}, baseSummary), { passed: 1 }),
379
- },
380
- {
381
- description: 'Complex case with all the tests and results outcomes possible',
382
- summary: complexSummary,
383
- },
384
- {
385
- description: 'Case where some outcomes are empty or missing',
386
- summary: Object.assign(Object.assign({}, baseSummary), { criticalErrors: 1, failedNonBlocking: 1, passed: 3, testsNotFound: new Set(['bbb-bbb-bbb']) }),
387
- },
388
- {
389
- description: 'Case with 2 passed results, of which 1 comes from previous CI run',
390
- summary: Object.assign(Object.assign({}, baseSummary), { expected: 2, passed: 2, previouslyPassed: 1 }),
391
- },
392
- ];
393
- test.each(cases)('$description', (testCase) => {
394
- reporter.runEnd(testCase.summary, fixtures_1.MOCK_BASE_URL);
395
- const mostRecentOutput = writeMock.mock.calls[writeMock.mock.calls.length - 1][0];
396
- expect(mostRecentOutput).toMatchSnapshot();
397
- });
398
- const onDemandConcurrencyCaps = [
399
- { cap: 0, description: 'does not communicate for uncapped orgs' },
400
- { cap: 1, description: 'communicates no parallelization (1 test at a time)' },
401
- { cap: 2, description: 'communicates 2 tests parallelization' },
402
- ];
403
- test.each(onDemandConcurrencyCaps)('$description', (testCase) => {
404
- reporter.runEnd(Object.assign(Object.assign({}, baseSummary), { passed: 1 }), fixtures_1.MOCK_BASE_URL, { onDemandConcurrencyCap: testCase.cap });
405
- const mostRecentOutput = writeMock.mock.calls[writeMock.mock.calls.length - 1][0];
406
- expect(mostRecentOutput).toMatchSnapshot();
407
- });
408
- });
409
- });
410
- //# sourceMappingURL=default.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.test.js","sourceRoot":"","sources":["../../../../../src/commands/synthetics/__tests__/reporters/default.test.ts"],"names":[],"mappings":"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"}