@datadog/datadog-ci 2.40.3 → 2.42.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 (294) hide show
  1. package/README.md +1 -0
  2. package/dist/commands/deployment/cli.js +2 -1
  3. package/dist/commands/deployment/cli.js.map +1 -1
  4. package/dist/commands/deployment/correlate.d.ts +18 -0
  5. package/dist/commands/deployment/correlate.js +154 -0
  6. package/dist/commands/deployment/correlate.js.map +1 -0
  7. package/dist/commands/dsyms/utils.js +2 -4
  8. package/dist/commands/dsyms/utils.js.map +1 -1
  9. package/dist/commands/elf-symbols/elf.d.ts +5 -3
  10. package/dist/commands/elf-symbols/elf.js +18 -16
  11. package/dist/commands/elf-symbols/elf.js.map +1 -1
  12. package/dist/commands/elf-symbols/helpers.js +1 -1
  13. package/dist/commands/elf-symbols/interfaces.d.ts +6 -2
  14. package/dist/commands/elf-symbols/upload.d.ts +3 -0
  15. package/dist/commands/elf-symbols/upload.js +46 -22
  16. package/dist/commands/elf-symbols/upload.js.map +1 -1
  17. package/dist/commands/sarif/renderer.d.ts +1 -1
  18. package/dist/commands/sarif/renderer.js +5 -2
  19. package/dist/commands/sarif/renderer.js.map +1 -1
  20. package/dist/commands/sarif/upload.d.ts +1 -0
  21. package/dist/commands/sarif/upload.js +12 -35
  22. package/dist/commands/sarif/upload.js.map +1 -1
  23. package/dist/commands/sarif/validation.d.ts +15 -0
  24. package/dist/commands/sarif/validation.js +78 -0
  25. package/dist/commands/sarif/validation.js.map +1 -0
  26. package/dist/commands/sbom/upload.d.ts +1 -0
  27. package/dist/commands/sbom/upload.js +6 -14
  28. package/dist/commands/sbom/upload.js.map +1 -1
  29. package/dist/commands/synthetics/batch.js +3 -2
  30. package/dist/commands/synthetics/batch.js.map +1 -1
  31. package/dist/commands/synthetics/compatibility.d.ts +2 -2
  32. package/dist/commands/synthetics/compatibility.js +26 -26
  33. package/dist/commands/synthetics/compatibility.js.map +1 -1
  34. package/dist/commands/synthetics/interfaces.d.ts +3 -2
  35. package/dist/commands/synthetics/interfaces.js.map +1 -1
  36. package/dist/commands/synthetics/reporters/junit.d.ts +1 -0
  37. package/dist/commands/synthetics/reporters/junit.js +1 -0
  38. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  39. package/dist/commands/synthetics/run-tests-command.d.ts +1 -0
  40. package/dist/commands/synthetics/run-tests-command.js +25 -17
  41. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  42. package/dist/commands/synthetics/utils/internal.d.ts +4 -0
  43. package/dist/commands/synthetics/utils/internal.js +37 -2
  44. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  45. package/dist/commands/synthetics/utils/public.d.ts +3 -0
  46. package/dist/commands/synthetics/utils/public.js +3 -0
  47. package/dist/commands/synthetics/utils/public.js.map +1 -1
  48. package/dist/helpers/git/get-git-data.d.ts +2 -0
  49. package/dist/helpers/git/get-git-data.js +11 -1
  50. package/dist/helpers/git/get-git-data.js.map +1 -1
  51. package/dist/helpers/tags.d.ts +2 -1
  52. package/dist/helpers/tags.js +3 -2
  53. package/dist/helpers/tags.js.map +1 -1
  54. package/package.json +14 -12
  55. package/dist/__tests__/cli.test.d.ts +0 -1
  56. package/dist/__tests__/cli.test.js +0 -41
  57. package/dist/__tests__/cli.test.js.map +0 -1
  58. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +0 -2
  59. package/dist/commands/cloud-run/__tests__/fixtures.js +0 -12
  60. package/dist/commands/cloud-run/__tests__/fixtures.js.map +0 -1
  61. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +0 -1
  62. package/dist/commands/cloud-run/__tests__/flare.test.js +0 -557
  63. package/dist/commands/cloud-run/__tests__/flare.test.js.map +0 -1
  64. package/dist/commands/deployment/__tests__/mark.test.d.ts +0 -1
  65. package/dist/commands/deployment/__tests__/mark.test.js +0 -47
  66. package/dist/commands/deployment/__tests__/mark.test.js.map +0 -1
  67. package/dist/commands/dora/__tests__/deployment.test.d.ts +0 -1
  68. package/dist/commands/dora/__tests__/deployment.test.js +0 -201
  69. package/dist/commands/dora/__tests__/deployment.test.js.map +0 -1
  70. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  71. package/dist/commands/dsyms/__tests__/upload.test.js +0 -346
  72. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  73. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  74. package/dist/commands/dsyms/__tests__/utils.test.js +0 -103
  75. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  76. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +0 -1
  77. package/dist/commands/elf-symbols/__tests__/elf.test.js +0 -813
  78. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +0 -1
  79. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +0 -1
  80. package/dist/commands/elf-symbols/__tests__/upload.test.js +0 -249
  81. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +0 -1
  82. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  83. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -617
  84. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  85. package/dist/commands/gate/__tests__/evaluate.test.d.ts +0 -1
  86. package/dist/commands/gate/__tests__/evaluate.test.js +0 -398
  87. package/dist/commands/gate/__tests__/evaluate.test.js.map +0 -1
  88. package/dist/commands/gate/__tests__/scope.test.d.ts +0 -1
  89. package/dist/commands/gate/__tests__/scope.test.js +0 -29
  90. package/dist/commands/gate/__tests__/scope.test.js.map +0 -1
  91. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  92. package/dist/commands/git-metadata/__tests__/git.test.js +0 -132
  93. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  94. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +0 -1
  95. package/dist/commands/git-metadata/__tests__/gitdb.test.js +0 -1386
  96. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +0 -1
  97. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  98. package/dist/commands/git-metadata/__tests__/library.test.js +0 -118
  99. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  100. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  101. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -52
  102. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  103. package/dist/commands/junit/__tests__/id.test.d.ts +0 -1
  104. package/dist/commands/junit/__tests__/id.test.js +0 -24
  105. package/dist/commands/junit/__tests__/id.test.js.map +0 -1
  106. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  107. package/dist/commands/junit/__tests__/upload.test.js +0 -495
  108. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  109. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -51
  110. package/dist/commands/lambda/__tests__/fixtures.js +0 -146
  111. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  112. package/dist/commands/lambda/__tests__/flare.test.d.ts +0 -1
  113. package/dist/commands/lambda/__tests__/flare.test.js +0 -730
  114. package/dist/commands/lambda/__tests__/flare.test.js.map +0 -1
  115. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  116. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -791
  117. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  118. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  119. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -386
  120. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  121. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  122. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -721
  123. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  124. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  125. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -513
  126. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  127. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  128. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  129. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  130. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  131. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1511
  132. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  133. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  134. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -340
  135. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  136. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  137. package/dist/commands/lambda/__tests__/prompt.test.js +0 -206
  138. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  139. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  140. package/dist/commands/lambda/__tests__/tags.test.js +0 -305
  141. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  142. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  143. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -722
  144. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  145. package/dist/commands/measure/__tests__/measure.test.d.ts +0 -1
  146. package/dist/commands/measure/__tests__/measure.test.js +0 -110
  147. package/dist/commands/measure/__tests__/measure.test.js.map +0 -1
  148. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  149. package/dist/commands/react-native/__tests__/codepush.test.js +0 -161
  150. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  151. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  152. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -33
  153. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  154. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  155. package/dist/commands/react-native/__tests__/upload.test.js +0 -238
  156. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  157. package/dist/commands/react-native/__tests__/utils.test.d.ts +0 -1
  158. package/dist/commands/react-native/__tests__/utils.test.js +0 -27
  159. package/dist/commands/react-native/__tests__/utils.test.js.map +0 -1
  160. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  161. package/dist/commands/react-native/__tests__/xcode.test.js +0 -465
  162. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  163. package/dist/commands/sarif/__tests__/upload.test.d.ts +0 -1
  164. package/dist/commands/sarif/__tests__/upload.test.js +0 -228
  165. package/dist/commands/sarif/__tests__/upload.test.js.map +0 -1
  166. package/dist/commands/sbom/__tests__/payload.test.d.ts +0 -1
  167. package/dist/commands/sbom/__tests__/payload.test.js +0 -262
  168. package/dist/commands/sbom/__tests__/payload.test.js.map +0 -1
  169. package/dist/commands/sbom/__tests__/validation.test.d.ts +0 -1
  170. package/dist/commands/sbom/__tests__/validation.test.js +0 -41
  171. package/dist/commands/sbom/__tests__/validation.test.js.map +0 -1
  172. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  173. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  174. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  175. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  176. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  177. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  178. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +0 -1
  179. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +0 -192
  180. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +0 -1
  181. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +0 -6
  182. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +0 -45
  183. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +0 -1
  184. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +0 -5
  185. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +0 -19
  186. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +0 -1
  187. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +0 -1
  188. package/dist/commands/stepfunctions/__tests__/helpers.test.js +0 -205
  189. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +0 -1
  190. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +0 -1
  191. package/dist/commands/stepfunctions/__tests__/instrument.test.js +0 -431
  192. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +0 -1
  193. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +0 -1
  194. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +0 -166
  195. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +0 -1
  196. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  197. package/dist/commands/synthetics/__tests__/api.test.js +0 -422
  198. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  199. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  200. package/dist/commands/synthetics/__tests__/cli.test.js +0 -1325
  201. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  202. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -149
  203. package/dist/commands/synthetics/__tests__/fixtures.js +0 -507
  204. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  205. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  206. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -376
  207. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  208. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  209. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -354
  210. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  211. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  212. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -353
  213. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  214. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +0 -1
  215. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +0 -232
  216. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +0 -1
  217. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +0 -1
  218. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +0 -735
  219. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +0 -1
  220. package/dist/commands/synthetics/__tests__/test.test.d.ts +0 -1
  221. package/dist/commands/synthetics/__tests__/test.test.js +0 -33
  222. package/dist/commands/synthetics/__tests__/test.test.js.map +0 -1
  223. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  224. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  225. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  226. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  227. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  228. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  229. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  230. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -109
  231. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  232. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +0 -1
  233. package/dist/commands/synthetics/__tests__/utils/internal.test.js +0 -186
  234. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +0 -1
  235. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +0 -1
  236. package/dist/commands/synthetics/__tests__/utils/public.test.js +0 -1526
  237. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +0 -1
  238. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  239. package/dist/commands/tag/__tests__/tag.test.js +0 -75
  240. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  241. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  242. package/dist/commands/trace/__tests__/trace.test.js +0 -145
  243. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  244. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +0 -1
  245. package/dist/commands/unity-symbols/__tests__/upload.test.js +0 -369
  246. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +0 -1
  247. package/dist/helpers/__tests__/app.test.d.ts +0 -1
  248. package/dist/helpers/__tests__/app.test.js +0 -31
  249. package/dist/helpers/__tests__/app.test.js.map +0 -1
  250. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  251. package/dist/helpers/__tests__/ci.test.js +0 -252
  252. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  253. package/dist/helpers/__tests__/fixtures.d.ts +0 -33
  254. package/dist/helpers/__tests__/fixtures.js +0 -71
  255. package/dist/helpers/__tests__/fixtures.js.map +0 -1
  256. package/dist/helpers/__tests__/flare.test.d.ts +0 -1
  257. package/dist/helpers/__tests__/flare.test.js +0 -226
  258. package/dist/helpers/__tests__/flare.test.js.map +0 -1
  259. package/dist/helpers/__tests__/fs.test.d.ts +0 -1
  260. package/dist/helpers/__tests__/fs.test.js +0 -189
  261. package/dist/helpers/__tests__/fs.test.js.map +0 -1
  262. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  263. package/dist/helpers/__tests__/plist.test.js +0 -43
  264. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  265. package/dist/helpers/__tests__/prompt.test.d.ts +0 -1
  266. package/dist/helpers/__tests__/prompt.test.js +0 -71
  267. package/dist/helpers/__tests__/prompt.test.js.map +0 -1
  268. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  269. package/dist/helpers/__tests__/retry.test.js +0 -99
  270. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  271. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  272. package/dist/helpers/__tests__/tags.test.js +0 -71
  273. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  274. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  275. package/dist/helpers/__tests__/upload.test.js +0 -231
  276. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  277. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  278. package/dist/helpers/__tests__/user-provided-git.test.js +0 -119
  279. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  280. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  281. package/dist/helpers/__tests__/utils.test.js +0 -429
  282. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  283. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  284. package/dist/helpers/__tests__/validation.test.js +0 -25
  285. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  286. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  287. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -103
  288. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  289. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  290. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -121
  291. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  292. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  293. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -72
  294. package/dist/helpers/git/__tests__/get-git-data.test.js.map +0 -1
@@ -1,354 +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 interfaces_1 = require("../../interfaces");
14
- const default_1 = require("../../reporters/default");
15
- const fixtures_1 = require("../fixtures");
16
- /**
17
- * A good amount of these tests rely on Jest snapshot assertions.
18
- * If you make some changes in the output of the default reporter, chances are you
19
- * will also have to update the snapshots from `./__snapshots__/default.test.ts.snap`.
20
- * To do that, you can run the following command: `yarn test --updateSnapshot reporters/default.test.ts`.
21
- * More information on https://jestjs.io/docs/snapshot-testing.
22
- */
23
- describe('Default reporter', () => {
24
- const writeMock = jest.fn();
25
- const mockContext = {
26
- context: {
27
- stdout: {
28
- write: writeMock,
29
- },
30
- },
31
- };
32
- const reporter = new default_1.DefaultReporter(mockContext);
33
- it('should log for each hook', () => {
34
- // `testWait`/`resultReceived` is skipped as nothing is logged for the default reporter.
35
- const calls = [
36
- ['error', ['error'], 1],
37
- ['initErrors', [['error']], 1],
38
- ['log', ['log'], 1],
39
- ['reportStart', [{ startTime: 0 }], 1],
40
- ['resultEnd', [(0, fixtures_1.getApiResult)('1', (0, fixtures_1.getApiTest)()), '', ''], 1],
41
- ['runEnd', [(0, fixtures_1.getSummary)(), ''], 1],
42
- ['testTrigger', [(0, fixtures_1.getApiTest)(), '', interfaces_1.ExecutionRule.BLOCKING, {}], 1],
43
- ['testsWait', [[(0, fixtures_1.getApiTest)()], '', ''], 2],
44
- ];
45
- for (const [fnName, args, calledTimes] of calls) {
46
- ;
47
- reporter[fnName](...args);
48
- expect(writeMock).toHaveBeenCalledTimes(calledTimes);
49
- writeMock.mockClear();
50
- }
51
- });
52
- describe('testTrigger', () => {
53
- beforeEach(() => {
54
- writeMock.mockClear();
55
- });
56
- const testObject = {
57
- name: 'Request on example.org',
58
- };
59
- const testId = 'aaa-bbb-ccc';
60
- const cases = [
61
- ['Blocking test, without test override', interfaces_1.ExecutionRule.BLOCKING, {}],
62
- ['Blocking test, with 1 test override', interfaces_1.ExecutionRule.BLOCKING, { startUrl: 'foo' }],
63
- ['Blocking test, with 2 test overrides', interfaces_1.ExecutionRule.BLOCKING, { startUrl: 'foo', body: 'hello' }],
64
- ['Non-blocking test from Datadog, without test override', interfaces_1.ExecutionRule.NON_BLOCKING, {}],
65
- ['Non-blocking test from Datadog, with 1 test override', interfaces_1.ExecutionRule.NON_BLOCKING, { startUrl: 'foo' }],
66
- [
67
- 'Non-blocking test from Datadog, with 2 test overrides',
68
- interfaces_1.ExecutionRule.NON_BLOCKING,
69
- { startUrl: 'foo', body: 'hello' },
70
- ],
71
- [
72
- 'Non-blocking test, with 1 test override',
73
- interfaces_1.ExecutionRule.NON_BLOCKING,
74
- { executionRule: interfaces_1.ExecutionRule.NON_BLOCKING },
75
- ],
76
- [
77
- 'Non-blocking test, with 2 test overrides',
78
- interfaces_1.ExecutionRule.NON_BLOCKING,
79
- { startUrl: 'foo', executionRule: interfaces_1.ExecutionRule.NON_BLOCKING },
80
- ],
81
- ['Skipped test, with 1 test override', interfaces_1.ExecutionRule.SKIPPED, { executionRule: interfaces_1.ExecutionRule.SKIPPED }],
82
- [
83
- 'Skipped test, with 2 test overrides',
84
- interfaces_1.ExecutionRule.SKIPPED,
85
- { startUrl: 'foo', executionRule: interfaces_1.ExecutionRule.SKIPPED },
86
- ],
87
- ['Skipped test from Datadog, without test override', interfaces_1.ExecutionRule.SKIPPED, {}],
88
- ['Skipped test from Datadog, with 1 test override', interfaces_1.ExecutionRule.SKIPPED, { startUrl: 'foo' }],
89
- ['Skipped test from Datadog, with 2 test overrides', interfaces_1.ExecutionRule.SKIPPED, { startUrl: 'foo', body: 'hello' }],
90
- ];
91
- test.each(cases)('%s', (title, executionRule, testOverrides) => {
92
- reporter.testTrigger(testObject, testId, executionRule, testOverrides);
93
- const mostRecentOutput = writeMock.mock.calls[writeMock.mock.calls.length - 1][0];
94
- expect(mostRecentOutput).toMatchSnapshot();
95
- });
96
- });
97
- describe('testsWait', () => {
98
- let initialCiEnv;
99
- beforeAll(() => {
100
- jest.useFakeTimers();
101
- initialCiEnv = process.env.CI;
102
- });
103
- afterAll(() => {
104
- jest.useRealTimers();
105
- if (initialCiEnv !== undefined) {
106
- process.env.CI = initialCiEnv;
107
- }
108
- else {
109
- delete process.env.CI;
110
- }
111
- });
112
- test('outputs triggered tests', () => __awaiter(void 0, void 0, void 0, function* () {
113
- reporter.testsWait(Array(11).fill((0, fixtures_1.getApiTest)()), fixtures_1.MOCK_BASE_URL, '123');
114
- const output = writeMock.mock.calls.map((c) => c[0]).join('\n');
115
- expect(output).toMatchSnapshot();
116
- }));
117
- test('outputs triggered tests with skipped count', () => __awaiter(void 0, void 0, void 0, function* () {
118
- reporter.testsWait(Array(11).fill((0, fixtures_1.getApiTest)()), fixtures_1.MOCK_BASE_URL, '123', 3);
119
- const output = writeMock.mock.calls.map((c) => c[0]).join('\n');
120
- expect(output).toMatchSnapshot();
121
- }));
122
- /* eslint-disable jest/no-conditional-expect */
123
- 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* () {
124
- var _a, _b;
125
- let simulatedTerminalOutput = '';
126
- const write = jest.fn().mockImplementation((text) => {
127
- // Ignore show/hide cursor ANSI codes.
128
- if (text.match(/\u001b\[\?25(l|h)/)) {
129
- return;
130
- }
131
- simulatedTerminalOutput += text;
132
- });
133
- const clearLine = jest.fn().mockImplementation(() => {
134
- simulatedTerminalOutput = simulatedTerminalOutput.split('\n').slice(0, -1).join('\n');
135
- });
136
- if (inCI) {
137
- process.env.CI = 'true';
138
- }
139
- else {
140
- delete process.env.CI;
141
- }
142
- const ttyContext = {
143
- context: {
144
- stdout: {
145
- isTTY: true,
146
- write,
147
- clearLine,
148
- cursorTo: jest.fn(),
149
- moveCursor: jest.fn(),
150
- },
151
- },
152
- };
153
- const ttyReporter = new default_1.DefaultReporter(ttyContext);
154
- clearLine.mockClear();
155
- ttyReporter.testsWait([(0, fixtures_1.getApiTest)('aaa-aaa-aaa'), (0, fixtures_1.getApiTest)('bbb-bbb-bbb')], fixtures_1.MOCK_BASE_URL, '123');
156
- ttyReporter.testsWait([(0, fixtures_1.getApiTest)('aaa-aaa-aaa'), (0, fixtures_1.getApiTest)('bbb-bbb-bbb')], fixtures_1.MOCK_BASE_URL, '123');
157
- // The same text is the same, so the spinner is not updated.
158
- expect(clearLine).not.toHaveBeenCalled();
159
- expect(simulatedTerminalOutput).toMatchSnapshot();
160
- clearLine.mockClear();
161
- ttyReporter.resultEnd((0, fixtures_1.getApiResult)('rid', (0, fixtures_1.getApiTest)('aaa-aaa-aaa')), fixtures_1.MOCK_BASE_URL, '123');
162
- if (inCI) {
163
- // In CI the spinner does not spin, so `resultEnd()` has no spinner text to clear.
164
- expect(clearLine).not.toHaveBeenCalled();
165
- }
166
- else {
167
- expect(clearLine).toHaveBeenCalled();
168
- }
169
- expect(simulatedTerminalOutput).toMatchSnapshot();
170
- clearLine.mockClear();
171
- ttyReporter.testsWait([(0, fixtures_1.getApiTest)('aaa-aaa-aaa')], fixtures_1.MOCK_BASE_URL, '123');
172
- (_a = ttyReporter['testWaitSpinner']) === null || _a === void 0 ? void 0 : _a.render(); // Simulate the next frame for the spinner.
173
- if (inCI) {
174
- // In CI, the old text from the spinner is not cleared, so that it's persisted in the CI logs.
175
- expect(clearLine).not.toHaveBeenCalled();
176
- }
177
- else {
178
- expect(clearLine).toHaveBeenCalled();
179
- }
180
- expect(simulatedTerminalOutput).toMatchSnapshot();
181
- clearLine.mockClear();
182
- ttyReporter.testsWait([], fixtures_1.MOCK_BASE_URL, '123');
183
- (_b = ttyReporter['testWaitSpinner']) === null || _b === void 0 ? void 0 : _b.render(); // Simulate the next frame for the spinner.
184
- if (inCI) {
185
- // In CI, the old text from the spinner is not cleared, so that it's persisted in the CI logs.
186
- expect(clearLine).not.toHaveBeenCalled();
187
- }
188
- else {
189
- expect(clearLine).toHaveBeenCalled();
190
- }
191
- expect(simulatedTerminalOutput).toMatchSnapshot();
192
- }));
193
- });
194
- /* eslint-enable jest/no-conditional-expect */
195
- describe('resultEnd', () => {
196
- const createApiResult = (resultId, opts, test) => {
197
- var _a;
198
- const errorMessage = JSON.stringify([
199
- {
200
- actual: 1234,
201
- operator: 'lessThan',
202
- target: 1000,
203
- type: 'responseTime',
204
- },
205
- ]);
206
- const failure = { code: 'INCORRECT_ASSERTION', message: errorMessage };
207
- const { executionRule, passed, selectiveRerun } = opts;
208
- const result = (0, fixtures_1.getApiResult)(resultId, test);
209
- result.executionRule = executionRule;
210
- if (passed !== undefined) {
211
- result.passed = passed;
212
- result.result = Object.assign(Object.assign(Object.assign({}, result.result), (passed ? {} : { failure })), { passed });
213
- result.retries = (_a = opts.retries) !== null && _a !== void 0 ? _a : 0;
214
- }
215
- else if (executionRule === interfaces_1.ExecutionRule.SKIPPED) {
216
- delete result.result;
217
- }
218
- if (selectiveRerun) {
219
- result.selectiveRerun = selectiveRerun;
220
- }
221
- return result;
222
- };
223
- const apiTest = (0, fixtures_1.getApiTest)('aaa-aaa-aaa');
224
- const retryableApiTest = Object.assign(Object.assign({}, apiTest), { options: Object.assign(Object.assign({}, apiTest.options), { retry: { count: 2 } }) });
225
- const cases = [
226
- {
227
- description: '1 API test, 1 location, 1 result: success',
228
- fixtures: {
229
- baseUrl: fixtures_1.MOCK_BASE_URL,
230
- results: [(0, fixtures_1.getApiResult)('1', apiTest)],
231
- },
232
- },
233
- {
234
- description: '1 API test, 1 location, 3 results: success, failed non-blocking, failed blocking',
235
- fixtures: {
236
- baseUrl: fixtures_1.MOCK_BASE_URL,
237
- results: [
238
- createApiResult('1', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: true }, apiTest),
239
- createApiResult('2', { executionRule: interfaces_1.ExecutionRule.NON_BLOCKING, passed: false }, apiTest),
240
- createApiResult('3', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: false }, apiTest),
241
- ],
242
- },
243
- },
244
- {
245
- description: '3 Browser test: failed blocking, timed out, global failure',
246
- fixtures: {
247
- baseUrl: fixtures_1.MOCK_BASE_URL,
248
- results: [
249
- (0, fixtures_1.getFailedBrowserResult)(),
250
- (0, fixtures_1.getTimedOutBrowserResult)(),
251
- Object.assign(Object.assign({}, (0, fixtures_1.getTimedOutBrowserResult)()), { result: {
252
- duration: 0,
253
- failure: { code: 'FAILURE_CODE', message: 'Failure message' },
254
- passed: false,
255
- steps: [],
256
- }, timedOut: false }),
257
- ],
258
- },
259
- },
260
- {
261
- description: '3 API tests, 2 passed (1 from previous CI run)',
262
- fixtures: {
263
- baseUrl: fixtures_1.MOCK_BASE_URL,
264
- results: [
265
- createApiResult('1001', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: true }, apiTest),
266
- createApiResult('0002', {
267
- executionRule: interfaces_1.ExecutionRule.SKIPPED,
268
- selectiveRerun: { decision: 'skip', reason: 'passed', linked_result_id: '0002' },
269
- }, apiTest),
270
- createApiResult('1003', {
271
- executionRule: interfaces_1.ExecutionRule.BLOCKING,
272
- passed: true,
273
- selectiveRerun: { decision: 'run', reason: 'edited' }, // was re-run because edited, then it passed
274
- }, apiTest),
275
- ],
276
- },
277
- },
278
- {
279
- description: '1 API test, 3 attempts (2 failed, then passed)',
280
- fixtures: {
281
- baseUrl: fixtures_1.MOCK_BASE_URL,
282
- results: [
283
- createApiResult('1', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: false, retries: 0 }, retryableApiTest),
284
- createApiResult('2', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: false, retries: 1 }, retryableApiTest),
285
- createApiResult('3', { executionRule: interfaces_1.ExecutionRule.BLOCKING, passed: true, retries: 2 }, retryableApiTest),
286
- ],
287
- },
288
- },
289
- ];
290
- test.each(cases)('$description', (testCase) => {
291
- const { results, baseUrl } = testCase.fixtures;
292
- for (const result of results) {
293
- reporter.resultEnd(result, baseUrl, '123');
294
- }
295
- const output = writeMock.mock.calls.map((c) => c[0]).join('');
296
- expect(output).toMatchSnapshot();
297
- });
298
- });
299
- describe('runEnd', () => {
300
- beforeEach(() => {
301
- writeMock.mockClear();
302
- jest.useFakeTimers();
303
- reporter.reportStart({ startTime: Date.now() - 567890 }); // 9m 28s
304
- });
305
- const baseSummary = (0, fixtures_1.getSummary)();
306
- const complexSummary = {
307
- batchId: 'batch-id',
308
- testsNotFound: new Set(['ccc-ccc-ccc', 'ddd-ddd-ddd']),
309
- expected: 6,
310
- failed: 1,
311
- failedNonBlocking: 3,
312
- passed: 2,
313
- // The following fields are additional information, so they do not add to `.expected`.
314
- criticalErrors: 2,
315
- previouslyPassed: 1,
316
- skipped: 1,
317
- timedOut: 1,
318
- };
319
- const cases = [
320
- {
321
- description: 'Simple case with 1 test with 1 result (passed)',
322
- summary: Object.assign(Object.assign({}, baseSummary), { passed: 1 }),
323
- },
324
- {
325
- description: 'Complex case with all the tests and results outcomes possible',
326
- summary: complexSummary,
327
- },
328
- {
329
- description: 'Case where some outcomes are empty or missing',
330
- summary: Object.assign(Object.assign({}, baseSummary), { criticalErrors: 1, failedNonBlocking: 1, passed: 3, testsNotFound: new Set(['bbb-bbb-bbb']) }),
331
- },
332
- {
333
- description: 'Case with 2 passed results, of which 1 comes from previous CI run',
334
- summary: Object.assign(Object.assign({}, baseSummary), { expected: 2, passed: 2, previouslyPassed: 1 }),
335
- },
336
- ];
337
- test.each(cases)('$description', (testCase) => {
338
- reporter.runEnd(testCase.summary, fixtures_1.MOCK_BASE_URL);
339
- const mostRecentOutput = writeMock.mock.calls[writeMock.mock.calls.length - 1][0];
340
- expect(mostRecentOutput).toMatchSnapshot();
341
- });
342
- const onDemandConcurrencyCaps = [
343
- { cap: 0, description: 'does not communicate for uncapped orgs' },
344
- { cap: 1, description: 'communicates no parallelization (1 test at a time)' },
345
- { cap: 2, description: 'communicates 2 tests parallelization' },
346
- ];
347
- test.each(onDemandConcurrencyCaps)('$description', (testCase) => {
348
- reporter.runEnd(Object.assign(Object.assign({}, baseSummary), { passed: 1 }), fixtures_1.MOCK_BASE_URL, { onDemandConcurrencyCap: testCase.cap });
349
- const mostRecentOutput = writeMock.mock.calls[writeMock.mock.calls.length - 1][0];
350
- expect(mostRecentOutput).toMatchSnapshot();
351
- });
352
- });
353
- });
354
- //# 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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"}