@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,557 +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 __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- const fs_1 = __importDefault(require("fs"));
39
- const process_1 = __importDefault(require("process"));
40
- const stream_1 = __importDefault(require("stream"));
41
- const logging_1 = require("@google-cloud/logging");
42
- const google_auth_library_1 = require("google-auth-library");
43
- const constants_1 = require("../../../constants");
44
- const fixtures_1 = require("../../../helpers/__tests__/fixtures");
45
- const helpersFlareModule = __importStar(require("../../../helpers/flare"));
46
- const fsModule = __importStar(require("../../../helpers/fs"));
47
- const helpersPromptModule = __importStar(require("../../../helpers/prompt"));
48
- const flareModule = __importStar(require("../flare"));
49
- const flare_1 = require("../flare");
50
- const fixtures_2 = require("./fixtures");
51
- const MOCK_REGION = 'us-east1';
52
- const MOCK_SERVICE = 'mock-service';
53
- const MOCK_PROJECT = 'mock-project';
54
- const MOCK_LOG_CLIENT = new logging_1.Logging({ projectId: MOCK_PROJECT });
55
- const MOCK_REQUIRED_FLAGS = [
56
- 'cloud-run',
57
- 'flare',
58
- '-s',
59
- MOCK_SERVICE,
60
- '-p',
61
- MOCK_PROJECT,
62
- '-r',
63
- MOCK_REGION,
64
- '-c',
65
- '123',
66
- '-e',
67
- 'test@test.com',
68
- ];
69
- const MOCK_CLOUDRUN_CONFIG = {
70
- name: `projects/${MOCK_PROJECT}/locations/${MOCK_REGION}/services/${MOCK_SERVICE}`,
71
- description: 'description',
72
- uid: 'abc1234-def5678',
73
- uri: `https://${MOCK_SERVICE}-abc12345-ue.a.run.app`,
74
- labels: {
75
- someLabel: 'someValue',
76
- anotherLabel: 'anotherValue',
77
- },
78
- template: {
79
- containers: [
80
- {
81
- env: [
82
- {
83
- name: 'DD_API_KEY',
84
- value: fixtures_1.MOCK_DATADOG_API_KEY,
85
- values: 'value',
86
- },
87
- {
88
- name: 'DD_TRACE_ENABLED',
89
- value: 'true',
90
- values: 'value',
91
- },
92
- {
93
- name: 'DD_SITE',
94
- value: 'datad0g.com',
95
- values: 'value',
96
- },
97
- ],
98
- image: 'gcr.io/datadog-sandbox/nicholas-hulston-docker-test',
99
- },
100
- ],
101
- someData: 'data',
102
- },
103
- };
104
- const MOCK_READ_STREAM = new stream_1.default.Readable({
105
- read() {
106
- this.push(JSON.stringify(MOCK_CLOUDRUN_CONFIG, undefined, 2));
107
- this.push(undefined);
108
- },
109
- });
110
- const MOCK_REVISION_TIMESTAMP = { seconds: 100 };
111
- const MOCK_REVISIONS = [
112
- {
113
- name: 'projects/some-project/locations/some-location/services/service/revisions/service-00005-abc',
114
- createTime: MOCK_REVISION_TIMESTAMP,
115
- },
116
- {
117
- name: 'projects/some-project/locations/some-location/services/service/revisions/service-00004-def',
118
- createTime: MOCK_REVISION_TIMESTAMP,
119
- },
120
- {
121
- name: 'projects/some-project/locations/some-location/services/service/revisions/service-00003-ghi',
122
- createTime: MOCK_REVISION_TIMESTAMP,
123
- },
124
- {
125
- name: 'projects/some-project/locations/some-location/services/service/revisions/service-00002-jkl',
126
- createTime: MOCK_REVISION_TIMESTAMP,
127
- },
128
- {
129
- name: 'projects/some-project/locations/some-location/services/service/revisions/service-00001-mno',
130
- createTime: MOCK_REVISION_TIMESTAMP,
131
- },
132
- ];
133
- const MOCK_REVISION_NAMES = [
134
- '`service-00005-abc` Deployed on 1970-01-01 00:01:40',
135
- '`service-00004-def` Deployed on 1970-01-01 00:01:40',
136
- '`service-00003-ghi` Deployed on 1970-01-01 00:01:40',
137
- '`service-00002-jkl` Deployed on 1970-01-01 00:01:40',
138
- '`service-00001-mno` Deployed on 1970-01-01 00:01:40',
139
- ];
140
- // GCP mocks
141
- jest.mock('@google-cloud/logging');
142
- jest.mock('google-auth-library', () => {
143
- return {
144
- GoogleAuth: jest.fn().mockImplementation(() => ({
145
- getApplicationDefault: () => Promise.resolve(),
146
- })),
147
- };
148
- });
149
- jest.mock('@google-cloud/run', () => {
150
- return {
151
- ServicesClient: jest.fn().mockImplementation(() => ({
152
- servicePath: jest.fn().mockReturnValue('servicePath'),
153
- getService: () => Promise.resolve([MOCK_CLOUDRUN_CONFIG]),
154
- })),
155
- RevisionsClient: jest.fn().mockImplementation(() => ({
156
- servicePath: jest.fn().mockReturnValue('servicePath'),
157
- listRevisions: jest.fn().mockReturnValue([MOCK_REVISIONS]),
158
- })),
159
- };
160
- });
161
- // Prompt mocks
162
- jest.spyOn(helpersPromptModule, 'requestFilePath').mockResolvedValue('');
163
- jest.spyOn(helpersPromptModule, 'requestConfirmation').mockResolvedValue(true);
164
- jest.spyOn(helpersFlareModule, 'getProjectFiles').mockResolvedValue(new Set());
165
- // Misc
166
- jest.mock('util');
167
- jest.mock('jszip');
168
- jest.mock('@google-cloud/logging');
169
- jest.useFakeTimers({ now: new Date(Date.UTC(2023, 0)) });
170
- jest.mock('../../../../package.json', () => ({
171
- version: '1.0-mock-version',
172
- }));
173
- // File system mocks
174
- jest.spyOn(process_1.default, 'cwd').mockReturnValue(fixtures_1.MOCK_CWD);
175
- jest.mock('fs');
176
- fs_1.default.existsSync = jest.fn().mockReturnValue(true);
177
- fs_1.default.statSync.mockImplementation((file_path) => ({
178
- isDirectory: () => file_path === fixtures_1.MOCK_FLARE_FOLDER_PATH || file_path === fixtures_1.MOCK_CWD,
179
- }));
180
- fs_1.default.readdirSync = jest.fn().mockReturnValue([]);
181
- fs_1.default.createReadStream = jest.fn().mockReturnValue(MOCK_READ_STREAM);
182
- describe('cloud-run flare', () => {
183
- describe('prints correct headers', () => {
184
- it('prints non-dry-run header', () => __awaiter(void 0, void 0, void 0, function* () {
185
- const cli = (0, fixtures_2.makeCli)();
186
- const context = (0, fixtures_1.createMockContext)();
187
- const code = yield cli.run(['cloud-run', 'flare'], context);
188
- const output = context.stdout.toString();
189
- expect(code).toBe(1);
190
- expect(output).toMatchSnapshot();
191
- }));
192
- it('prints dry-run header', () => __awaiter(void 0, void 0, void 0, function* () {
193
- const cli = (0, fixtures_2.makeCli)();
194
- const context = (0, fixtures_1.createMockContext)();
195
- const code = yield cli.run(['cloud-run', 'flare', '-d'], context);
196
- const output = context.stdout.toString();
197
- expect(code).toBe(1);
198
- expect(output).toMatchSnapshot();
199
- }));
200
- });
201
- describe('validates required flags', () => {
202
- beforeEach(() => {
203
- process_1.default.env = { [constants_1.CI_API_KEY_ENV_VAR]: fixtures_1.MOCK_DATADOG_API_KEY };
204
- });
205
- it('prints error when no service specified', () => __awaiter(void 0, void 0, void 0, function* () {
206
- const cli = (0, fixtures_2.makeCli)();
207
- const context = (0, fixtures_1.createMockContext)();
208
- const code = yield cli.run(['cloud-run', 'flare', '-p', MOCK_PROJECT, '-r', MOCK_REGION, '-c', '123', '-e', 'test@test.com'], context);
209
- expect(code).toBe(1);
210
- const output = context.stdout.toString();
211
- expect(output).toMatchSnapshot();
212
- }));
213
- it('prints error when no project specified', () => __awaiter(void 0, void 0, void 0, function* () {
214
- const cli = (0, fixtures_2.makeCli)();
215
- const context = (0, fixtures_1.createMockContext)();
216
- const code = yield cli.run(['cloud-run', 'flare', '-s', MOCK_SERVICE, '-r', MOCK_REGION, '-c', '123', '-e', 'test@test.com'], context);
217
- expect(code).toBe(1);
218
- const output = context.stdout.toString();
219
- expect(output).toMatchSnapshot();
220
- }));
221
- it('prints error when no region specified', () => __awaiter(void 0, void 0, void 0, function* () {
222
- const cli = (0, fixtures_2.makeCli)();
223
- const context = (0, fixtures_1.createMockContext)();
224
- const code = yield cli.run(['cloud-run', 'flare', '-s', MOCK_SERVICE, '-p', MOCK_PROJECT, '-c', '123', '-e', 'test@test.com'], context);
225
- expect(code).toBe(1);
226
- const output = context.stdout.toString();
227
- expect(output).toMatchSnapshot();
228
- }));
229
- it('prints error when no case ID specified', () => __awaiter(void 0, void 0, void 0, function* () {
230
- const cli = (0, fixtures_2.makeCli)();
231
- const context = (0, fixtures_1.createMockContext)();
232
- const code = yield cli.run(['cloud-run', 'flare', '-s', MOCK_SERVICE, '-p', MOCK_PROJECT, '-r', MOCK_REGION, '-e', 'test@test.com'], context);
233
- expect(code).toBe(1);
234
- const output = context.stdout.toString();
235
- expect(output).toMatchSnapshot();
236
- }));
237
- it('prints error when no email specified', () => __awaiter(void 0, void 0, void 0, function* () {
238
- const cli = (0, fixtures_2.makeCli)();
239
- const context = (0, fixtures_1.createMockContext)();
240
- const code = yield cli.run(['cloud-run', 'flare', '-s', MOCK_SERVICE, '-p', MOCK_PROJECT, '-r', MOCK_REGION, '-c', '123'], context);
241
- expect(code).toBe(1);
242
- const output = context.stdout.toString();
243
- expect(output).toMatchSnapshot();
244
- }));
245
- it('prints error when no API key in env variables', () => __awaiter(void 0, void 0, void 0, function* () {
246
- process_1.default.env = {};
247
- const cli = (0, fixtures_2.makeCli)();
248
- const context = (0, fixtures_1.createMockContext)();
249
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
250
- expect(code).toBe(1);
251
- const output = context.stdout.toString();
252
- expect(output).toMatchSnapshot();
253
- }));
254
- it('uses API key ENV variable and runs as expected', () => __awaiter(void 0, void 0, void 0, function* () {
255
- process_1.default.env = {};
256
- process_1.default.env[constants_1.CI_API_KEY_ENV_VAR] = fixtures_1.MOCK_DATADOG_API_KEY;
257
- process_1.default.env[constants_1.API_KEY_ENV_VAR] = undefined;
258
- const cli = (0, fixtures_2.makeCli)();
259
- const context = (0, fixtures_1.createMockContext)();
260
- let code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
261
- expect(code).toBe(0);
262
- let output = context.stdout.toString();
263
- expect(output).toMatchSnapshot();
264
- process_1.default.env[constants_1.CI_API_KEY_ENV_VAR] = undefined;
265
- process_1.default.env[constants_1.API_KEY_ENV_VAR] = fixtures_1.MOCK_DATADOG_API_KEY;
266
- code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
267
- expect(code).toBe(0);
268
- output = context.stdout.toString();
269
- expect(output).toMatchSnapshot();
270
- }));
271
- it('runs successfully with all required options specified', () => __awaiter(void 0, void 0, void 0, function* () {
272
- const cli = (0, fixtures_2.makeCli)();
273
- const context = (0, fixtures_1.createMockContext)();
274
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
275
- expect(code).toBe(0);
276
- const output = context.stdout.toString();
277
- expect(output).toMatchSnapshot();
278
- }));
279
- });
280
- describe('checkAuthentication', () => {
281
- it('should return true when authentication is successful', () => __awaiter(void 0, void 0, void 0, function* () {
282
- ;
283
- google_auth_library_1.GoogleAuth.mockImplementationOnce(() => ({
284
- getApplicationDefault: () => Promise.resolve(),
285
- }));
286
- const result = yield (0, flare_1.checkAuthentication)();
287
- expect(result).toBeTruthy();
288
- expect(google_auth_library_1.GoogleAuth).toHaveBeenCalledTimes(1);
289
- }));
290
- it('should return false when authentication fails', () => __awaiter(void 0, void 0, void 0, function* () {
291
- ;
292
- google_auth_library_1.GoogleAuth.mockImplementationOnce(() => ({
293
- getApplicationDefault: () => Promise.reject(),
294
- }));
295
- const result = yield (0, flare_1.checkAuthentication)();
296
- expect(result).toBeFalsy();
297
- expect(google_auth_library_1.GoogleAuth).toHaveBeenCalledTimes(1);
298
- }));
299
- it('prints instructions on how to authenticate when authentication fails', () => __awaiter(void 0, void 0, void 0, function* () {
300
- ;
301
- google_auth_library_1.GoogleAuth.mockImplementationOnce(() => ({
302
- getApplicationDefault: () => Promise.reject(),
303
- }));
304
- const cli = (0, fixtures_2.makeCli)();
305
- const context = (0, fixtures_1.createMockContext)();
306
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
307
- expect(code).toBe(1);
308
- const output = context.stdout.toString();
309
- expect(output).toMatchSnapshot();
310
- }));
311
- });
312
- describe('getCloudRunServiceConfig', () => {
313
- const getConfigSpy = jest.spyOn(flareModule, 'getCloudRunServiceConfig');
314
- afterAll(() => {
315
- getConfigSpy.mockRestore();
316
- });
317
- it('stops and prints error when getCloudRunServiceConfig fails', () => __awaiter(void 0, void 0, void 0, function* () {
318
- ;
319
- flare_1.getCloudRunServiceConfig.mockImplementation(() => {
320
- throw new Error('MOCK ERROR: Some API error');
321
- });
322
- const cli = (0, fixtures_2.makeCli)();
323
- const context = (0, fixtures_1.createMockContext)();
324
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
325
- expect(code).toBe(1);
326
- const output = context.stdout.toString();
327
- expect(output).toMatchSnapshot();
328
- }));
329
- it('prints config when running as a dry run', () => __awaiter(void 0, void 0, void 0, function* () {
330
- ;
331
- flare_1.getCloudRunServiceConfig.mockImplementation(() => Promise.resolve(MOCK_CLOUDRUN_CONFIG));
332
- const cli = (0, fixtures_2.makeCli)();
333
- const context = (0, fixtures_1.createMockContext)();
334
- const code = yield cli.run([...MOCK_REQUIRED_FLAGS, '-d'], context);
335
- expect(code).toBe(0);
336
- const output = context.stdout.toString();
337
- expect(output).toMatchSnapshot();
338
- }));
339
- });
340
- describe('maskConfig', () => {
341
- it('should mask a Cloud Run config correctly', () => {
342
- const maskedConfig = (0, flare_1.maskConfig)(MOCK_CLOUDRUN_CONFIG);
343
- expect(maskedConfig).toMatchSnapshot();
344
- });
345
- it('should not modify config if env vars are missing', () => {
346
- const cloudrunConfigCopy = JSON.parse(JSON.stringify(MOCK_CLOUDRUN_CONFIG));
347
- delete cloudrunConfigCopy.template.containers;
348
- const maskedConfig = (0, flare_1.maskConfig)(cloudrunConfigCopy);
349
- expect(maskedConfig).toMatchSnapshot();
350
- });
351
- });
352
- test('getRecentRevisions should return the correct revision names', () => __awaiter(void 0, void 0, void 0, function* () {
353
- const revisions = yield (0, flare_1.getRecentRevisions)(MOCK_SERVICE, MOCK_REGION, MOCK_PROJECT);
354
- expect(revisions).toEqual(MOCK_REVISION_NAMES);
355
- }));
356
- describe('generateInsightsFile', () => {
357
- const insightsFilePath = 'mock/INSIGHTS.md';
358
- const writeFileSpy = jest.spyOn(fsModule, 'writeFile');
359
- it('should call writeFile with correct content when isDryRun is false', () => {
360
- (0, flare_1.generateInsightsFile)(insightsFilePath, false, (0, flare_1.maskConfig)(MOCK_CLOUDRUN_CONFIG), MOCK_SERVICE, MOCK_REGION, MOCK_PROJECT, MOCK_REVISION_NAMES);
361
- expect(writeFileSpy).toHaveBeenCalledTimes(1);
362
- const receivedContent = writeFileSpy.mock.calls[0][1];
363
- expect(receivedContent).toMatchSnapshot();
364
- });
365
- it('should call writeFile with correct content when isDryRun is true', () => {
366
- (0, flare_1.generateInsightsFile)(insightsFilePath, true, (0, flare_1.maskConfig)(MOCK_CLOUDRUN_CONFIG), MOCK_SERVICE, MOCK_REGION, MOCK_PROJECT, MOCK_REVISION_NAMES);
367
- expect(writeFileSpy).toHaveBeenCalledTimes(1);
368
- const receivedContent = writeFileSpy.mock.calls[0][1];
369
- expect(receivedContent).toMatchSnapshot();
370
- });
371
- it('prints a warning when generateInsightsFile() errors', () => __awaiter(void 0, void 0, void 0, function* () {
372
- jest.spyOn(flareModule, 'generateInsightsFile').mockImplementationOnce(() => {
373
- throw new Error('Some error');
374
- });
375
- const cli = (0, fixtures_2.makeCli)();
376
- const context = (0, fixtures_1.createMockContext)();
377
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
378
- const output = context.stdout.toString();
379
- expect(code).toBe(0);
380
- expect(output).toMatchSnapshot();
381
- }));
382
- it('splits environment variables when there are multiple containers', () => __awaiter(void 0, void 0, void 0, function* () {
383
- // Define a config with multiple containers
384
- // Deep copy MOCK_CLOUDRUN_CONFIG, and then add another container
385
- const multipleContainerConfig = JSON.parse(JSON.stringify(MOCK_CLOUDRUN_CONFIG));
386
- const secondContainer = {
387
- env: [
388
- {
389
- name: 'DD_API_KEY',
390
- value: fixtures_1.MOCK_DATADOG_API_KEY,
391
- values: 'value',
392
- },
393
- ],
394
- image: 'gcr.io/datadog-sandbox/another-container',
395
- };
396
- multipleContainerConfig.template.containers.push(secondContainer);
397
- (0, flare_1.generateInsightsFile)(insightsFilePath, false, (0, flare_1.maskConfig)(multipleContainerConfig), MOCK_SERVICE, MOCK_REGION, MOCK_PROJECT, MOCK_REVISION_NAMES);
398
- expect(writeFileSpy).toHaveBeenCalledTimes(1);
399
- const receivedContent = writeFileSpy.mock.calls[0][1];
400
- expect(receivedContent).toMatchSnapshot();
401
- }));
402
- });
403
- describe('prompts for confirmation before sending', () => {
404
- it('sends when user answers prompt with yes', () => __awaiter(void 0, void 0, void 0, function* () {
405
- jest.spyOn(helpersPromptModule, 'requestConfirmation').mockResolvedValueOnce(true);
406
- const cli = (0, fixtures_2.makeCli)();
407
- const context = (0, fixtures_1.createMockContext)();
408
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
409
- expect(code).toBe(0);
410
- const output = context.stdout.toString();
411
- expect(output).toMatchSnapshot();
412
- expect(output).toContain('✅ Successfully sent flare file to Datadog Support!');
413
- }));
414
- it('does not send when user answers prompt with no', () => __awaiter(void 0, void 0, void 0, function* () {
415
- // The first prompt is for additional files, the second is for confirmation before sending
416
- jest.spyOn(helpersPromptModule, 'requestConfirmation').mockResolvedValueOnce(false).mockResolvedValueOnce(false);
417
- const cli = (0, fixtures_2.makeCli)();
418
- const context = (0, fixtures_1.createMockContext)();
419
- const code = yield cli.run(MOCK_REQUIRED_FLAGS, context);
420
- expect(code).toBe(0);
421
- const output = context.stdout.toString();
422
- expect(output).toMatchSnapshot();
423
- expect(output).toContain('🚫 The flare files were not sent based on your selection.');
424
- }));
425
- });
426
- describe('getLogs', () => {
427
- const logName = 'mock-logname';
428
- const mockLogs = [
429
- { metadata: { severity: 'DEFAULT', timestamp: '2023-07-28 00:00:00', logName, textPayload: 'Log 1' } },
430
- { metadata: { severity: 'INFO', timestamp: '2023-07-28 00:00:00', logName, textPayload: 'Log 2' } },
431
- { metadata: { severity: 'NOTICE', timestamp: '2023-07-28 01:01:01', logName, textPayload: 'Log 3' } },
432
- ];
433
- const MOCK_GET_ENTRIES = MOCK_LOG_CLIENT.getEntries;
434
- MOCK_GET_ENTRIES.mockResolvedValue([mockLogs, { pageToken: undefined }]);
435
- const expectedOrder = 'timestamp asc';
436
- it('uses correct filter when `severityFilter` is unspecified', () => __awaiter(void 0, void 0, void 0, function* () {
437
- yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION);
438
- const expectedFilter = `resource.labels.service_name="${MOCK_SERVICE}" AND resource.labels.location="${MOCK_REGION}" AND timestamp>="2022-12-31T00:00:00.000Z" AND timestamp<="2023-01-01T00:00:00.000Z" AND (textPayload:* OR httpRequest:*)`;
439
- expect(MOCK_LOG_CLIENT.getEntries).toHaveBeenCalledWith({
440
- filter: expectedFilter,
441
- orderBy: expectedOrder,
442
- pageSize: flare_1.MAX_LOGS,
443
- });
444
- }));
445
- it('uses correct filter when `severityFilter` is defined', () => __awaiter(void 0, void 0, void 0, function* () {
446
- yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION, undefined, undefined, ' AND severity>="WARNING"');
447
- const expectedFilter = `resource.labels.service_name="${MOCK_SERVICE}" AND resource.labels.location="${MOCK_REGION}" AND timestamp>="2022-12-31T00:00:00.000Z" AND timestamp<="2023-01-01T00:00:00.000Z" AND (textPayload:* OR httpRequest:*) AND severity>="WARNING"`;
448
- expect(MOCK_LOG_CLIENT.getEntries).toHaveBeenCalledWith({
449
- filter: expectedFilter,
450
- orderBy: expectedOrder,
451
- pageSize: flare_1.MAX_LOGS,
452
- });
453
- }));
454
- it('converts logs to the CloudRunLog interface correctly', () => __awaiter(void 0, void 0, void 0, function* () {
455
- const page1 = [
456
- { metadata: { severity: 'DEFAULT', timestamp: '2023-07-28 00:00:00', logName, textPayload: 'Test log' } },
457
- ];
458
- MOCK_GET_ENTRIES.mockResolvedValueOnce([page1, { pageToken: undefined }]);
459
- const logs = yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION);
460
- expect(logs).toEqual([
461
- {
462
- severity: 'DEFAULT',
463
- timestamp: '2023-07-28 00:00:00',
464
- logName,
465
- message: '"Test log"',
466
- },
467
- ]);
468
- }));
469
- it('throws an error when `getEntries` fails', () => __awaiter(void 0, void 0, void 0, function* () {
470
- const error = new Error('getEntries failed');
471
- MOCK_GET_ENTRIES.mockRejectedValueOnce(error);
472
- yield expect((0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION)).rejects.toMatchSnapshot();
473
- }));
474
- it('returns an empty array when no logs are returned', () => __awaiter(void 0, void 0, void 0, function* () {
475
- MOCK_GET_ENTRIES.mockResolvedValueOnce([[], { pageToken: undefined }]);
476
- const logs = yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION);
477
- expect(logs).toEqual([]);
478
- }));
479
- it('handles httpRequest payload correctly', () => __awaiter(void 0, void 0, void 0, function* () {
480
- const page = [
481
- {
482
- metadata: {
483
- severity: 'DEFAULT',
484
- timestamp: '2023-07-28 00:00:00',
485
- logName,
486
- httpRequest: {
487
- requestMethod: 'GET',
488
- status: 200,
489
- responseSize: '1300',
490
- latency: { seconds: '1', nanos: '500000000' },
491
- requestUrl: '/test-endpoint',
492
- },
493
- },
494
- },
495
- ];
496
- MOCK_GET_ENTRIES.mockResolvedValueOnce([page, { pageToken: undefined }]);
497
- const logs = yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION);
498
- expect(logs).toMatchSnapshot();
499
- }));
500
- it('handles textPayload correctly', () => __awaiter(void 0, void 0, void 0, function* () {
501
- const page = [
502
- {
503
- metadata: {
504
- severity: 'DEFAULT',
505
- timestamp: '2023-07-28 00:00:00',
506
- logName,
507
- textPayload: 'Some text payload',
508
- },
509
- },
510
- ];
511
- MOCK_GET_ENTRIES.mockResolvedValueOnce([page, { pageToken: undefined }]);
512
- const logs = yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION);
513
- expect(logs).toMatchSnapshot();
514
- }));
515
- it('handles when a log is an HTTP request and has a textPayload', () => __awaiter(void 0, void 0, void 0, function* () {
516
- const page = [
517
- { metadata: { severity: 'DEFAULT', timestamp: '2023-07-28 00:00:00', logName, textPayload: 'Test log 1' } },
518
- {
519
- metadata: {
520
- httpRequest: {
521
- status: 504,
522
- },
523
- timestamp: '2023-07-28 00:00:01',
524
- logName,
525
- textPayload: 'some text payload.',
526
- },
527
- },
528
- ];
529
- MOCK_GET_ENTRIES.mockResolvedValueOnce([page, { pageToken: undefined }]);
530
- const logs = yield (0, flare_1.getLogs)(MOCK_LOG_CLIENT, MOCK_SERVICE, MOCK_REGION);
531
- expect(logs).toMatchSnapshot();
532
- }));
533
- });
534
- describe('saveLogsFile', () => {
535
- const mockLogs = [
536
- { severity: 'DEFAULT', timestamp: '2023-07-28 00:00:00', logName: 'mock-logname', message: 'Test log 1' },
537
- { severity: 'INFO', timestamp: '2023-07-28 00:00:01', logName: 'mock-logname', message: 'Test log 2' },
538
- { severity: 'NOTICE', timestamp: '2023-07-28 01:01:01', logName: 'mock-logname', message: 'Test log 3' },
539
- ];
540
- const writeFileSpy = jest.spyOn(fsModule, 'writeFile');
541
- const mockFilePath = 'path/to/logs.csv';
542
- it('should save logs to file correctly', () => {
543
- (0, flare_1.saveLogsFile)(mockLogs, mockFilePath);
544
- const expectedContent = [
545
- 'severity,timestamp,logName,message',
546
- '"DEFAULT","2023-07-28 00:00:00","mock-logname","Test log 1"',
547
- '"INFO","2023-07-28 00:00:01","mock-logname","Test log 2"',
548
- '"NOTICE","2023-07-28 01:01:01","mock-logname","Test log 3"',
549
- ].join('\n');
550
- expect(writeFileSpy).toHaveBeenCalledWith(mockFilePath, expectedContent);
551
- });
552
- });
553
- test('summarizeConfig', () => {
554
- expect((0, flare_1.summarizeConfig)(MOCK_CLOUDRUN_CONFIG)).toMatchSnapshot();
555
- });
556
- });
557
- //# sourceMappingURL=flare.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flare.test.js","sourceRoot":"","sources":["../../../../src/commands/cloud-run/__tests__/flare.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fixtures_1 = require("../../../helpers/__tests__/fixtures");
4
- const mark_1 = require("../mark");
5
- describe('mark', () => {
6
- describe('createDeploymentTags', () => {
7
- test('should add is rollback if present', () => {
8
- const command = (0, fixtures_1.createCommand)(mark_1.DeploymentMarkCommand);
9
- command['isRollback'] = true;
10
- const expectedTags = ['datadog_cd_visibility.is_deployment:true', 'datadog_cd_visibility.is_rollback:true'];
11
- expect(command.createJobDeploymentTags()).toEqual(expectedTags);
12
- });
13
- test('should add env if present', () => {
14
- const command = (0, fixtures_1.createCommand)(mark_1.DeploymentMarkCommand);
15
- command['env'] = 'test';
16
- const expectedTags = ['datadog_cd_visibility.is_deployment:true', 'datadog_cd_visibility.env:test'];
17
- expect(command.createJobDeploymentTags()).toEqual(expectedTags);
18
- });
19
- test('should add revision if present', () => {
20
- const command = (0, fixtures_1.createCommand)(mark_1.DeploymentMarkCommand);
21
- command['revision'] = '1.0.0';
22
- const expectedTags = ['datadog_cd_visibility.is_deployment:true', 'datadog_cd_visibility.revision:1.0.0'];
23
- expect(command.createJobDeploymentTags()).toEqual(expectedTags);
24
- });
25
- test('should add service if present', () => {
26
- const command = (0, fixtures_1.createCommand)(mark_1.DeploymentMarkCommand);
27
- command['service'] = 'payment-service';
28
- const expectedTags = ['datadog_cd_visibility.is_deployment:true', 'datadog_cd_visibility.service:payment-service'];
29
- expect(command.createJobDeploymentTags()).toEqual(expectedTags);
30
- });
31
- test('should add custom tags if present', () => {
32
- const command = (0, fixtures_1.createCommand)(mark_1.DeploymentMarkCommand);
33
- command['tags'] = ['team:backend', 'image:my_image'];
34
- const expectedTags = [
35
- 'datadog_cd_visibility.is_deployment:true',
36
- 'datadog_cd_visibility.custom_tags:team:backend,image:my_image',
37
- ];
38
- expect(command.createJobDeploymentTags()).toEqual(expectedTags);
39
- });
40
- test('should add contains deployment tag to pipeline', () => {
41
- const command = (0, fixtures_1.createCommand)(mark_1.DeploymentMarkCommand);
42
- const expectedPipelineTags = ['ci.pipeline.contains_deployment:true'];
43
- expect(command.createPipelineDeploymentTags()).toEqual(expectedPipelineTags);
44
- });
45
- });
46
- });
47
- //# sourceMappingURL=mark.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark.test.js","sourceRoot":"","sources":["../../../../src/commands/deployment/__tests__/mark.test.ts"],"names":[],"mappings":";;AAAA,kEAAiE;AAEjE,kCAA6C;AAE7C,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,4BAAqB,CAAC,CAAA;YACpD,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;YAC5B,MAAM,YAAY,GAAG,CAAC,0CAA0C,EAAE,wCAAwC,CAAC,CAAA;YAC3G,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACrC,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,4BAAqB,CAAC,CAAA;YACpD,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;YACvB,MAAM,YAAY,GAAG,CAAC,0CAA0C,EAAE,gCAAgC,CAAC,CAAA;YACnG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,4BAAqB,CAAC,CAAA;YACpD,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA;YAC7B,MAAM,YAAY,GAAG,CAAC,0CAA0C,EAAE,sCAAsC,CAAC,CAAA;YACzG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACzC,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,4BAAqB,CAAC,CAAA;YACpD,OAAO,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAA;YACtC,MAAM,YAAY,GAAG,CAAC,0CAA0C,EAAE,+CAA+C,CAAC,CAAA;YAClH,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,4BAAqB,CAAC,CAAA;YACpD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;YACpD,MAAM,YAAY,GAAG;gBACnB,0CAA0C;gBAC1C,+DAA+D;aAChE,CAAA;YACD,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,4BAAqB,CAAC,CAAA;YACpD,MAAM,oBAAoB,GAAG,CAAC,sCAAsC,CAAC,CAAA;YACrE,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}