@datadog/datadog-ci 3.4.0 → 3.5.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 (370) 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/renderer.js +2 -2
  5. package/dist/commands/coverage/renderer.js.map +1 -1
  6. package/dist/commands/coverage/upload.js +10 -11
  7. package/dist/commands/coverage/upload.js.map +1 -1
  8. package/dist/commands/coverage/utils.js +2 -2
  9. package/dist/commands/coverage/utils.js.map +1 -1
  10. package/dist/commands/dsyms/renderer.js +3 -3
  11. package/dist/commands/dsyms/renderer.js.map +1 -1
  12. package/dist/commands/dsyms/upload.js +9 -9
  13. package/dist/commands/dsyms/upload.js.map +1 -1
  14. package/dist/commands/dsyms/utils.js +4 -4
  15. package/dist/commands/dsyms/utils.js.map +1 -1
  16. package/dist/commands/elf-symbols/upload.js +4 -4
  17. package/dist/commands/elf-symbols/upload.js.map +1 -1
  18. package/dist/commands/flutter-symbols/helpers.js +5 -25
  19. package/dist/commands/flutter-symbols/helpers.js.map +1 -1
  20. package/dist/commands/flutter-symbols/upload.js +2 -2
  21. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  22. package/dist/commands/git-metadata/gitdb.js +4 -4
  23. package/dist/commands/git-metadata/gitdb.js.map +1 -1
  24. package/dist/commands/junit/api.js +2 -2
  25. package/dist/commands/junit/api.js.map +1 -1
  26. package/dist/commands/junit/renderer.js +2 -2
  27. package/dist/commands/junit/renderer.js.map +1 -1
  28. package/dist/commands/junit/upload.js +7 -7
  29. package/dist/commands/junit/upload.js.map +1 -1
  30. package/dist/commands/lambda/flare.js +18 -18
  31. package/dist/commands/lambda/flare.js.map +1 -1
  32. package/dist/commands/pe-symbols/upload.js +2 -3
  33. package/dist/commands/pe-symbols/upload.js.map +1 -1
  34. package/dist/commands/react-native/xcode.js +1 -2
  35. package/dist/commands/react-native/xcode.js.map +1 -1
  36. package/dist/commands/sarif/renderer.js +3 -3
  37. package/dist/commands/sarif/renderer.js.map +1 -1
  38. package/dist/commands/sarif/upload.js +5 -6
  39. package/dist/commands/sarif/upload.js.map +1 -1
  40. package/dist/commands/sourcemaps/upload.js +4 -5
  41. package/dist/commands/sourcemaps/upload.js.map +1 -1
  42. package/dist/commands/sourcemaps/utils.js +2 -2
  43. package/dist/commands/sourcemaps/utils.js.map +1 -1
  44. package/dist/commands/synthetics/api.d.ts +1 -1
  45. package/dist/commands/synthetics/api.js +40 -12
  46. package/dist/commands/synthetics/api.js.map +1 -1
  47. package/dist/commands/synthetics/batch.js +12 -11
  48. package/dist/commands/synthetics/batch.js.map +1 -1
  49. package/dist/commands/synthetics/build-and-test.d.ts +1 -1
  50. package/dist/commands/synthetics/build-and-test.js +11 -31
  51. package/dist/commands/synthetics/build-and-test.js.map +1 -1
  52. package/dist/commands/synthetics/interfaces.d.ts +71 -35
  53. package/dist/commands/synthetics/interfaces.js.map +1 -1
  54. package/dist/commands/synthetics/multilocator.js +2 -2
  55. package/dist/commands/synthetics/multilocator.js.map +1 -1
  56. package/dist/commands/synthetics/reporters/default.js +10 -9
  57. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  58. package/dist/commands/synthetics/reporters/junit.js +74 -63
  59. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  60. package/dist/commands/synthetics/test.d.ts +2 -2
  61. package/dist/commands/synthetics/utils/internal.d.ts +3 -3
  62. package/dist/commands/synthetics/utils/internal.js +1 -2
  63. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  64. package/dist/commands/synthetics/utils/public.d.ts +4 -4
  65. package/dist/commands/synthetics/utils/public.js +22 -11
  66. package/dist/commands/synthetics/utils/public.js.map +1 -1
  67. package/dist/commands/trace/test-utils.d.ts +4 -1
  68. package/dist/commands/trace/test-utils.js.map +1 -1
  69. package/dist/commands/unity-symbols/upload.js +7 -7
  70. package/dist/commands/unity-symbols/upload.js.map +1 -1
  71. package/dist/helpers/file-finder.js +3 -3
  72. package/dist/helpers/file-finder.js.map +1 -1
  73. package/dist/helpers/flare.js +4 -4
  74. package/dist/helpers/flare.js.map +1 -1
  75. package/dist/helpers/fs.js +3 -3
  76. package/dist/helpers/fs.js.map +1 -1
  77. package/dist/helpers/glob.d.ts +12 -0
  78. package/dist/helpers/glob.js +70 -0
  79. package/dist/helpers/glob.js.map +1 -0
  80. package/dist/helpers/interfaces.d.ts +5 -6
  81. package/dist/helpers/renderer.js +3 -3
  82. package/dist/helpers/renderer.js.map +1 -1
  83. package/dist/helpers/tags.js +3 -3
  84. package/dist/helpers/tags.js.map +1 -1
  85. package/dist/helpers/utils.d.ts +0 -1
  86. package/dist/helpers/utils.js +1 -12
  87. package/dist/helpers/utils.js.map +1 -1
  88. package/package.json +6 -5
  89. package/dist/__tests__/cli.test.d.ts +0 -1
  90. package/dist/__tests__/cli.test.js +0 -93
  91. package/dist/__tests__/cli.test.js.map +0 -1
  92. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +0 -2
  93. package/dist/commands/cloud-run/__tests__/fixtures.js +0 -12
  94. package/dist/commands/cloud-run/__tests__/fixtures.js.map +0 -1
  95. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +0 -1
  96. package/dist/commands/cloud-run/__tests__/flare.test.js +0 -557
  97. package/dist/commands/cloud-run/__tests__/flare.test.js.map +0 -1
  98. package/dist/commands/coverage/__tests__/upload.test.d.ts +0 -1
  99. package/dist/commands/coverage/__tests__/upload.test.js +0 -291
  100. package/dist/commands/coverage/__tests__/upload.test.js.map +0 -1
  101. package/dist/commands/coverage/__tests__/utils.test.d.ts +0 -1
  102. package/dist/commands/coverage/__tests__/utils.test.js +0 -47
  103. package/dist/commands/coverage/__tests__/utils.test.js.map +0 -1
  104. package/dist/commands/deployment/__tests__/correlate.test.d.ts +0 -1
  105. package/dist/commands/deployment/__tests__/correlate.test.js +0 -106
  106. package/dist/commands/deployment/__tests__/correlate.test.js.map +0 -1
  107. package/dist/commands/deployment/__tests__/mark.test.d.ts +0 -1
  108. package/dist/commands/deployment/__tests__/mark.test.js +0 -97
  109. package/dist/commands/deployment/__tests__/mark.test.js.map +0 -1
  110. package/dist/commands/dora/__tests__/deployment.test.d.ts +0 -1
  111. package/dist/commands/dora/__tests__/deployment.test.js +0 -203
  112. package/dist/commands/dora/__tests__/deployment.test.js.map +0 -1
  113. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  114. package/dist/commands/dsyms/__tests__/upload.test.js +0 -346
  115. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  116. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  117. package/dist/commands/dsyms/__tests__/utils.test.js +0 -100
  118. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  119. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +0 -1
  120. package/dist/commands/elf-symbols/__tests__/elf.test.js +0 -822
  121. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +0 -1
  122. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +0 -1
  123. package/dist/commands/elf-symbols/__tests__/upload.test.js +0 -228
  124. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +0 -1
  125. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  126. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -617
  127. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  128. package/dist/commands/gate/__tests__/evaluate.test.d.ts +0 -1
  129. package/dist/commands/gate/__tests__/evaluate.test.js +0 -398
  130. package/dist/commands/gate/__tests__/evaluate.test.js.map +0 -1
  131. package/dist/commands/gate/__tests__/scope.test.d.ts +0 -1
  132. package/dist/commands/gate/__tests__/scope.test.js +0 -29
  133. package/dist/commands/gate/__tests__/scope.test.js.map +0 -1
  134. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  135. package/dist/commands/git-metadata/__tests__/git.test.js +0 -132
  136. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  137. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +0 -1
  138. package/dist/commands/git-metadata/__tests__/gitdb.test.js +0 -1386
  139. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +0 -1
  140. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  141. package/dist/commands/git-metadata/__tests__/library.test.js +0 -118
  142. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  143. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  144. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -52
  145. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  146. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  147. package/dist/commands/junit/__tests__/upload.test.js +0 -495
  148. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  149. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -51
  150. package/dist/commands/lambda/__tests__/fixtures.js +0 -146
  151. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  152. package/dist/commands/lambda/__tests__/flare.test.d.ts +0 -1
  153. package/dist/commands/lambda/__tests__/flare.test.js +0 -730
  154. package/dist/commands/lambda/__tests__/flare.test.js.map +0 -1
  155. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  156. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -791
  157. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  158. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  159. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -388
  160. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  161. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  162. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -732
  163. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  164. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  165. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -516
  166. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  167. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  168. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  169. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  170. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  171. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1606
  172. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  173. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  174. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -340
  175. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  176. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  177. package/dist/commands/lambda/__tests__/prompt.test.js +0 -206
  178. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  179. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  180. package/dist/commands/lambda/__tests__/tags.test.js +0 -305
  181. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  182. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  183. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -725
  184. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  185. package/dist/commands/measure/__tests__/measure.test.d.ts +0 -1
  186. package/dist/commands/measure/__tests__/measure.test.js +0 -102
  187. package/dist/commands/measure/__tests__/measure.test.js.map +0 -1
  188. package/dist/commands/pe-symbols/__tests__/pe.test.d.ts +0 -1
  189. package/dist/commands/pe-symbols/__tests__/pe.test.js +0 -81
  190. package/dist/commands/pe-symbols/__tests__/pe.test.js.map +0 -1
  191. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  192. package/dist/commands/react-native/__tests__/codepush.test.js +0 -196
  193. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  194. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  195. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -33
  196. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  197. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  198. package/dist/commands/react-native/__tests__/upload.test.js +0 -238
  199. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  200. package/dist/commands/react-native/__tests__/utils.test.d.ts +0 -1
  201. package/dist/commands/react-native/__tests__/utils.test.js +0 -69
  202. package/dist/commands/react-native/__tests__/utils.test.js.map +0 -1
  203. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  204. package/dist/commands/react-native/__tests__/xcode.test.js +0 -465
  205. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  206. package/dist/commands/sarif/__tests__/upload.test.d.ts +0 -1
  207. package/dist/commands/sarif/__tests__/upload.test.js +0 -291
  208. package/dist/commands/sarif/__tests__/upload.test.js.map +0 -1
  209. package/dist/commands/sarif/__tests__/utils.test.d.ts +0 -1
  210. package/dist/commands/sarif/__tests__/utils.test.js +0 -26
  211. package/dist/commands/sarif/__tests__/utils.test.js.map +0 -1
  212. package/dist/commands/sarif/__tests__/validation.test.d.ts +0 -1
  213. package/dist/commands/sarif/__tests__/validation.test.js +0 -19
  214. package/dist/commands/sarif/__tests__/validation.test.js.map +0 -1
  215. package/dist/commands/sbom/__tests__/payload.test.d.ts +0 -1
  216. package/dist/commands/sbom/__tests__/payload.test.js +0 -467
  217. package/dist/commands/sbom/__tests__/payload.test.js.map +0 -1
  218. package/dist/commands/sbom/__tests__/validation.test.d.ts +0 -1
  219. package/dist/commands/sbom/__tests__/validation.test.js +0 -145
  220. package/dist/commands/sbom/__tests__/validation.test.js.map +0 -1
  221. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  222. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  223. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  224. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  225. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  226. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  227. package/dist/commands/span/__tests__/span.test.d.ts +0 -1
  228. package/dist/commands/span/__tests__/span.test.js +0 -108
  229. package/dist/commands/span/__tests__/span.test.js.map +0 -1
  230. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +0 -1
  231. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +0 -210
  232. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +0 -1
  233. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +0 -6
  234. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +0 -45
  235. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +0 -1
  236. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +0 -5
  237. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +0 -19
  238. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +0 -1
  239. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +0 -1
  240. package/dist/commands/stepfunctions/__tests__/helpers.test.js +0 -501
  241. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +0 -1
  242. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +0 -1
  243. package/dist/commands/stepfunctions/__tests__/instrument.test.js +0 -431
  244. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +0 -1
  245. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +0 -1
  246. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +0 -166
  247. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +0 -1
  248. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  249. package/dist/commands/synthetics/__tests__/api.test.js +0 -416
  250. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  251. package/dist/commands/synthetics/__tests__/batch.test.d.ts +0 -1
  252. package/dist/commands/synthetics/__tests__/batch.test.js +0 -907
  253. package/dist/commands/synthetics/__tests__/batch.test.js.map +0 -1
  254. package/dist/commands/synthetics/__tests__/build-and-test.test.d.ts +0 -1
  255. package/dist/commands/synthetics/__tests__/build-and-test.test.js +0 -91
  256. package/dist/commands/synthetics/__tests__/build-and-test.test.js.map +0 -1
  257. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  258. package/dist/commands/synthetics/__tests__/cli.test.js +0 -1407
  259. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  260. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.d.ts +0 -1
  261. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.js +0 -112
  262. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.js.map +0 -1
  263. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -123
  264. package/dist/commands/synthetics/__tests__/fixtures.js +0 -493
  265. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  266. package/dist/commands/synthetics/__tests__/import-tests-lib.test.d.ts +0 -1
  267. package/dist/commands/synthetics/__tests__/import-tests-lib.test.js +0 -186
  268. package/dist/commands/synthetics/__tests__/import-tests-lib.test.js.map +0 -1
  269. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  270. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -376
  271. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  272. package/dist/commands/synthetics/__tests__/multilocator.test.d.ts +0 -1
  273. package/dist/commands/synthetics/__tests__/multilocator.test.js +0 -142
  274. package/dist/commands/synthetics/__tests__/multilocator.test.js.map +0 -1
  275. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  276. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -410
  277. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  278. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  279. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -354
  280. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  281. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +0 -1
  282. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +0 -232
  283. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +0 -1
  284. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +0 -1
  285. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +0 -698
  286. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +0 -1
  287. package/dist/commands/synthetics/__tests__/test.test.d.ts +0 -1
  288. package/dist/commands/synthetics/__tests__/test.test.js +0 -268
  289. package/dist/commands/synthetics/__tests__/test.test.js.map +0 -1
  290. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  291. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  292. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  293. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  294. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  295. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  296. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  297. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -109
  298. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  299. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +0 -1
  300. package/dist/commands/synthetics/__tests__/utils/internal.test.js +0 -161
  301. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +0 -1
  302. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +0 -1
  303. package/dist/commands/synthetics/__tests__/utils/public.test.js +0 -576
  304. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +0 -1
  305. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  306. package/dist/commands/tag/__tests__/tag.test.js +0 -85
  307. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  308. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  309. package/dist/commands/trace/__tests__/trace.test.js +0 -48
  310. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  311. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +0 -1
  312. package/dist/commands/unity-symbols/__tests__/upload.test.js +0 -369
  313. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +0 -1
  314. package/dist/helpers/__tests__/app.test.d.ts +0 -1
  315. package/dist/helpers/__tests__/app.test.js +0 -31
  316. package/dist/helpers/__tests__/app.test.js.map +0 -1
  317. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  318. package/dist/helpers/__tests__/ci.test.js +0 -344
  319. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  320. package/dist/helpers/__tests__/env.test.d.ts +0 -1
  321. package/dist/helpers/__tests__/env.test.js +0 -74
  322. package/dist/helpers/__tests__/env.test.js.map +0 -1
  323. package/dist/helpers/__tests__/fips.test.d.ts +0 -1
  324. package/dist/helpers/__tests__/fips.test.js +0 -30
  325. package/dist/helpers/__tests__/fips.test.js.map +0 -1
  326. package/dist/helpers/__tests__/fixtures.d.ts +0 -41
  327. package/dist/helpers/__tests__/fixtures.js +0 -80
  328. package/dist/helpers/__tests__/fixtures.js.map +0 -1
  329. package/dist/helpers/__tests__/flare.test.d.ts +0 -1
  330. package/dist/helpers/__tests__/flare.test.js +0 -227
  331. package/dist/helpers/__tests__/flare.test.js.map +0 -1
  332. package/dist/helpers/__tests__/fs.test.d.ts +0 -1
  333. package/dist/helpers/__tests__/fs.test.js +0 -189
  334. package/dist/helpers/__tests__/fs.test.js.map +0 -1
  335. package/dist/helpers/__tests__/id.test.d.ts +0 -1
  336. package/dist/helpers/__tests__/id.test.js +0 -24
  337. package/dist/helpers/__tests__/id.test.js.map +0 -1
  338. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  339. package/dist/helpers/__tests__/plist.test.js +0 -43
  340. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  341. package/dist/helpers/__tests__/prompt.test.d.ts +0 -1
  342. package/dist/helpers/__tests__/prompt.test.js +0 -71
  343. package/dist/helpers/__tests__/prompt.test.js.map +0 -1
  344. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  345. package/dist/helpers/__tests__/retry.test.js +0 -99
  346. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  347. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  348. package/dist/helpers/__tests__/tags.test.js +0 -362
  349. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  350. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  351. package/dist/helpers/__tests__/upload.test.js +0 -231
  352. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  353. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  354. package/dist/helpers/__tests__/user-provided-git.test.js +0 -119
  355. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  356. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  357. package/dist/helpers/__tests__/utils.test.js +0 -429
  358. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  359. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  360. package/dist/helpers/__tests__/validation.test.js +0 -25
  361. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  362. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  363. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -103
  364. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  365. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  366. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -121
  367. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  368. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  369. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -72
  370. package/dist/helpers/git/__tests__/get-git-data.test.js.map +0 -1
@@ -1,791 +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
- Object.defineProperty(exports, "__esModule", { value: true });
35
- jest.mock('fs');
36
- jest.mock('@aws-sdk/credential-providers');
37
- jest.mock('../../renderers/instrument-uninstrument-renderer');
38
- const fs = __importStar(require("fs"));
39
- const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
40
- const client_lambda_1 = require("@aws-sdk/client-lambda");
41
- const credential_providers_1 = require("@aws-sdk/credential-providers");
42
- const aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
43
- require("aws-sdk-client-mock-jest");
44
- const constants_1 = require("../../../../constants");
45
- const fixtures_1 = require("../../../../helpers/__tests__/fixtures");
46
- const constants_2 = require("../../constants");
47
- const commons_1 = require("../../functions/commons");
48
- const instrument_1 = require("../../instrument");
49
- const fixtures_2 = require("../fixtures");
50
- describe('commons', () => {
51
- const cloudWatchLogsClientMock = (0, aws_sdk_client_mock_1.mockClient)(client_cloudwatch_logs_1.CloudWatchLogsClient);
52
- const lambdaClientMock = (0, aws_sdk_client_mock_1.mockClient)(client_lambda_1.LambdaClient);
53
- beforeEach(() => {
54
- cloudWatchLogsClientMock.reset();
55
- lambdaClientMock.reset();
56
- (0, fixtures_2.mockLambdaClientCommands)(lambdaClientMock);
57
- });
58
- describe('addLayerArn', () => {
59
- test('adds layers and removes previous versions', () => {
60
- const runtime = 'python3.9';
61
- const config = {
62
- Runtime: runtime,
63
- };
64
- let layerARNs = [
65
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Python39:48',
66
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Extension:10',
67
- ];
68
- const region = 'sa-east-1';
69
- const lambdaLibraryLayerName = constants_2.LAYER_LOOKUP[runtime];
70
- const fullLambdaLibraryLayerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region) + ':49';
71
- const fullExtensionLayerArn = (0, commons_1.getLayerArn)(config, constants_2.EXTENSION_LAYER_KEY, region) + ':11';
72
- layerARNs = (0, commons_1.addLayerArn)(fullLambdaLibraryLayerArn, lambdaLibraryLayerName, layerARNs);
73
- layerARNs = (0, commons_1.addLayerArn)(fullExtensionLayerArn, constants_2.DD_LAMBDA_EXTENSION_LAYER_NAME, layerARNs);
74
- expect(layerARNs).toEqual([
75
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Python39:49',
76
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Extension:11',
77
- ]);
78
- });
79
- test('swaps layers if architecture is arm64', () => {
80
- const runtime = client_lambda_1.Runtime.python39;
81
- const config = {
82
- Architectures: [client_lambda_1.Architecture.arm64],
83
- Runtime: runtime,
84
- };
85
- let layerARNs = [
86
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Python39:49',
87
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Extension:11',
88
- ];
89
- const region = 'sa-east-1';
90
- const lambdaLibraryLayerName = constants_2.LAYER_LOOKUP[runtime];
91
- const fullLambdaLibraryLayerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region) + ':49';
92
- const fullExtensionLayerArn = (0, commons_1.getLayerArn)(config, constants_2.EXTENSION_LAYER_KEY, region) + ':11';
93
- layerARNs = (0, commons_1.addLayerArn)(fullLambdaLibraryLayerArn, lambdaLibraryLayerName, layerARNs);
94
- layerARNs = (0, commons_1.addLayerArn)(fullExtensionLayerArn, constants_2.DD_LAMBDA_EXTENSION_LAYER_NAME, layerARNs);
95
- expect(layerARNs).toEqual([
96
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Python39-ARM:49',
97
- 'arn:aws:lambda:sa-east-1:464622532012:layer:Datadog-Extension-ARM:11',
98
- ]);
99
- });
100
- });
101
- describe('coerceBoolean', () => {
102
- test('return fallback when none of the values provided can be parsed to boolean', () => {
103
- expect((0, commons_1.coerceBoolean)(true, 'NotBoolean', 123, [], {})).toBe(true);
104
- expect((0, commons_1.coerceBoolean)(false, 'NotBooleanEither', 456, ['An array'], { booleanInObject: true })).toBe(false);
105
- });
106
- test('return the first boolean when one of the values provided can be parsed to boolean', () => {
107
- expect((0, commons_1.coerceBoolean)(true, 'false', 'true')).toBe(false);
108
- expect((0, commons_1.coerceBoolean)(false, 'true', 'False')).toBe(true);
109
- });
110
- test('return the first boolean when one of the values provided is boolean', () => {
111
- expect((0, commons_1.coerceBoolean)(true, false, 'truE', true)).toBe(false);
112
- expect((0, commons_1.coerceBoolean)(false, true, 'False', false)).toBe(true);
113
- });
114
- });
115
- describe('collectFunctionsByRegion', () => {
116
- test('groups functions with region read from arn', () => {
117
- process.env = {};
118
- const command = (0, fixtures_1.createCommand)(instrument_1.InstrumentCommand);
119
- const region = 'us-east-1';
120
- command['functions'] = [
121
- 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world',
122
- 'arn:aws:lambda:us-east-1:123456789012:function:another',
123
- 'arn:aws:lambda:us-east-2:123456789012:function:third-func',
124
- ];
125
- expect((0, commons_1.collectFunctionsByRegion)(command['functions'], region)).toEqual({
126
- 'us-east-1': [
127
- 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world',
128
- 'arn:aws:lambda:us-east-1:123456789012:function:another',
129
- ],
130
- 'us-east-2': ['arn:aws:lambda:us-east-2:123456789012:function:third-func'],
131
- });
132
- });
133
- test('groups functions in the config object', () => {
134
- process.env = {};
135
- const command = (0, fixtures_1.createCommand)(instrument_1.InstrumentCommand);
136
- const region = 'us-east-1';
137
- command['config']['functions'] = [
138
- 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world',
139
- 'arn:aws:lambda:us-east-1:123456789012:function:another',
140
- 'arn:aws:lambda:us-east-2:123456789012:function:third-func',
141
- ];
142
- expect((0, commons_1.collectFunctionsByRegion)(command['config']['functions'], region)).toEqual({
143
- 'us-east-1': [
144
- 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world',
145
- 'arn:aws:lambda:us-east-1:123456789012:function:another',
146
- ],
147
- 'us-east-2': ['arn:aws:lambda:us-east-2:123456789012:function:third-func'],
148
- });
149
- });
150
- test('uses default region for functions not in arn format', () => {
151
- process.env = {};
152
- const command = (0, fixtures_1.createCommand)(instrument_1.InstrumentCommand);
153
- command['functions'] = [
154
- 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world',
155
- 'arn:aws:lambda:*:123456789012:function:func-with-wildcard',
156
- 'func-without-region',
157
- 'arn:aws:lambda:us-east-2:123456789012:function:third-func',
158
- ];
159
- command['region'] = 'ap-south-1';
160
- expect((0, commons_1.collectFunctionsByRegion)(command['functions'], command['region'])).toEqual({
161
- 'ap-south-1': ['arn:aws:lambda:*:123456789012:function:func-with-wildcard', 'func-without-region'],
162
- 'us-east-1': ['arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world'],
163
- 'us-east-2': ['arn:aws:lambda:us-east-2:123456789012:function:third-func'],
164
- });
165
- });
166
- test('fails to collect when there are regionless functions and no default region is set', () => {
167
- process.env = {};
168
- const command = (0, fixtures_1.createCommand)(instrument_1.InstrumentCommand);
169
- command['functions'] = [
170
- 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world',
171
- 'arn:aws:lambda:*:123456789012:function:func-with-wildcard',
172
- 'func-without-region',
173
- 'arn:aws:lambda:us-east-2:123456789012:function:third-func',
174
- ];
175
- command['region'] = undefined;
176
- command['config']['region'] = undefined;
177
- let functionsGroup;
178
- try {
179
- functionsGroup = (0, commons_1.collectFunctionsByRegion)(command['functions'], command['region']);
180
- }
181
- catch (err) {
182
- // Do nothing
183
- }
184
- expect(functionsGroup).toBeUndefined();
185
- });
186
- });
187
- describe('findLatestLayerVersion', () => {
188
- beforeEach(() => {
189
- lambdaClientMock.reset();
190
- (0, fixtures_2.mockLambdaClientCommands)(lambdaClientMock);
191
- });
192
- test('finds latests version for Python39', () => __awaiter(void 0, void 0, void 0, function* () {
193
- const layer = `arn:aws:lambda:sa-east-1:${constants_2.DEFAULT_LAYER_AWS_ACCOUNT}:layer:Datadog-Python39`;
194
- (0, fixtures_2.mockLambdaLayers)(lambdaClientMock, {
195
- [`${layer}:1`]: {
196
- LayerName: layer,
197
- VersionNumber: 1,
198
- },
199
- [`${layer}:2`]: {
200
- LayerName: layer,
201
- VersionNumber: 2,
202
- },
203
- [`${layer}:10`]: {
204
- LayerName: layer,
205
- VersionNumber: 10,
206
- },
207
- [`${layer}:20`]: {
208
- LayerName: layer,
209
- VersionNumber: 20,
210
- },
211
- [`${layer}:30`]: {
212
- LayerName: layer,
213
- VersionNumber: 30,
214
- },
215
- [`${layer}:31`]: {
216
- LayerName: layer,
217
- VersionNumber: 31,
218
- },
219
- [`${layer}:32`]: {
220
- LayerName: layer,
221
- VersionNumber: 32,
222
- },
223
- });
224
- const runtime = 'python3.9';
225
- const region = 'sa-east-1';
226
- const expectedLatestVersion = 32;
227
- const latestVersionFound = yield (0, commons_1.findLatestLayerVersion)(runtime, region);
228
- expect(latestVersionFound).toBe(expectedLatestVersion);
229
- }));
230
- test('finds latests version for Node20', () => __awaiter(void 0, void 0, void 0, function* () {
231
- const layer = `arn:aws:lambda:us-east-1:${constants_2.DEFAULT_LAYER_AWS_ACCOUNT}:layer:Datadog-Node20-x`;
232
- (0, fixtures_2.mockLambdaLayers)(lambdaClientMock, {
233
- [`${layer}:1`]: {
234
- LayerName: layer,
235
- VersionNumber: 1,
236
- },
237
- [`${layer}:2`]: {
238
- LayerName: layer,
239
- VersionNumber: 2,
240
- },
241
- [`${layer}:10`]: {
242
- LayerName: layer,
243
- VersionNumber: 10,
244
- },
245
- [`${layer}:20`]: {
246
- LayerName: layer,
247
- VersionNumber: 20,
248
- },
249
- [`${layer}:30`]: {
250
- LayerName: layer,
251
- VersionNumber: 30,
252
- },
253
- [`${layer}:40`]: {
254
- LayerName: layer,
255
- VersionNumber: 40,
256
- },
257
- [`${layer}:41`]: {
258
- LayerName: layer,
259
- VersionNumber: 41,
260
- },
261
- });
262
- const runtime = 'nodejs20.x';
263
- const region = 'us-east-1';
264
- const expectedLatestVersion = 41;
265
- const latestVersionFound = yield (0, commons_1.findLatestLayerVersion)(runtime, region);
266
- expect(latestVersionFound).toBe(expectedLatestVersion);
267
- }));
268
- test('returns 0 when no layer can be found', () => __awaiter(void 0, void 0, void 0, function* () {
269
- const runtime = 'python3.12';
270
- const region = 'us-east-1';
271
- const expectedLatestVersion = 0;
272
- const latestVersionFound = yield (0, commons_1.findLatestLayerVersion)(runtime, region);
273
- expect(latestVersionFound).toBe(expectedLatestVersion);
274
- }));
275
- });
276
- describe('getAWSCredentials', () => {
277
- const OLD_ENV = process.env;
278
- beforeEach(() => {
279
- jest.resetModules();
280
- process.env = {};
281
- });
282
- afterEach(() => {
283
- process.env = OLD_ENV;
284
- });
285
- fs.readFile.mockImplementation((a, b, callback) => callback({ code: 'ENOENT' }));
286
- test('returns credentials when `fromNodeProviderChain` returns a succesful promise', () => __awaiter(void 0, void 0, void 0, function* () {
287
- ;
288
- credential_providers_1.fromNodeProviderChain.mockImplementation(() => () => Promise.resolve({
289
- accessKeyId: fixtures_2.mockAwsAccessKeyId,
290
- secretAccessKey: fixtures_2.mockAwsSecretAccessKey,
291
- }));
292
- const credentials = yield (0, commons_1.getAWSCredentials)();
293
- expect(credentials).toStrictEqual({
294
- accessKeyId: fixtures_2.mockAwsAccessKeyId,
295
- secretAccessKey: fixtures_2.mockAwsSecretAccessKey,
296
- });
297
- }));
298
- test('throws an error when `fromNodeProviderChain` fails when fetching credentials', () => __awaiter(void 0, void 0, void 0, function* () {
299
- ;
300
- credential_providers_1.fromNodeProviderChain.mockImplementation(() => () => Promise.reject(new Error('Unexpected error')));
301
- let error;
302
- try {
303
- yield (0, commons_1.getAWSCredentials)();
304
- }
305
- catch (e) {
306
- if (e instanceof Error) {
307
- error = e;
308
- }
309
- }
310
- expect(error === null || error === void 0 ? void 0 : error.message).toBe("Couldn't fetch AWS credentials. Unexpected error");
311
- }));
312
- });
313
- describe('isMissingDatadogEnvVars', () => {
314
- const OLD_ENV = process.env;
315
- beforeEach(() => {
316
- jest.resetModules();
317
- process.env = {};
318
- });
319
- afterAll(() => {
320
- process.env = OLD_ENV;
321
- });
322
- test('returns true when any Datadog Env Var is missing', () => {
323
- process.env[constants_1.CI_SITE_ENV_VAR] = 'datadoghq.com';
324
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(true);
325
- // Reset env
326
- process.env = {};
327
- process.env[constants_1.CI_API_KEY_ENV_VAR] = 'SOME-DATADOG-API-KEY';
328
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(true);
329
- process.env = {};
330
- process.env[constants_1.API_KEY_ENV_VAR] = 'SOME-DATADOG-API-KEY';
331
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(true);
332
- process.env = {};
333
- process.env[constants_2.CI_KMS_API_KEY_ENV_VAR] = 'SOME-AWS-KMS-API-KEY-CONTAINING-DATADOG-API-KEY';
334
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(true);
335
- process.env = {};
336
- process.env[constants_2.CI_API_KEY_SECRET_ARN_ENV_VAR] = 'SOME-AWS-SECRET-ARN-CONTAINING-DATADOG-API-KEY';
337
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(true);
338
- });
339
- test('returns false when Datadog Env Vars are set with DATADOG_API_KEY', () => {
340
- process.env[constants_1.CI_API_KEY_ENV_VAR] = 'SOME-DATADOG-API-KEY';
341
- process.env[constants_1.CI_SITE_ENV_VAR] = 'datadoghq.com';
342
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(false);
343
- });
344
- test('returns false when Datadog Env Vars are set with DD_API_KEY', () => {
345
- process.env[constants_1.API_KEY_ENV_VAR] = 'SOME-DATADOG-API-KEY';
346
- process.env[constants_1.CI_SITE_ENV_VAR] = 'datadoghq.com';
347
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(false);
348
- });
349
- test('returns false when Datadog Env Vars are set with DATADOG_KMS_API_KEY', () => {
350
- process.env[constants_2.CI_KMS_API_KEY_ENV_VAR] = 'SOME-AWS-KMS-API-KEY-CONTAINING-DATADOG-API-KEY';
351
- process.env[constants_1.CI_SITE_ENV_VAR] = 'datadoghq.com';
352
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(false);
353
- });
354
- test('returns false when Datadog Env Vars are set with DATADOG_API_KEY_SECRET_ARN', () => {
355
- process.env[constants_2.CI_API_KEY_SECRET_ARN_ENV_VAR] = 'SOME-AWS-SECRET-ARN-CONTAINING-DATADOG-API-KEY';
356
- process.env[constants_1.CI_SITE_ENV_VAR] = 'datadoghq.com';
357
- expect((0, commons_1.isMissingDatadogEnvVars)()).toBe(false);
358
- });
359
- });
360
- describe('isMissingAnyDatadogApiKeyEnvVar', () => {
361
- const OLD_ENV = process.env;
362
- beforeEach(() => {
363
- jest.resetModules();
364
- process.env = {};
365
- });
366
- afterAll(() => {
367
- process.env = OLD_ENV;
368
- });
369
- test('returns true when no Datadog Api Key is set', () => {
370
- expect((0, commons_1.isMissingAnyDatadogApiKeyEnvVar)()).toBe(true);
371
- });
372
- test('returns false when DATADOG_API_KEY is set', () => {
373
- process.env[constants_1.CI_API_KEY_ENV_VAR] = 'SOME-DATADOG-API-KEY';
374
- expect((0, commons_1.isMissingAnyDatadogApiKeyEnvVar)()).toBe(false);
375
- });
376
- test('returns false when DD_API_KEY is set', () => {
377
- process.env[constants_1.API_KEY_ENV_VAR] = 'SOME-DATADOG-API-KEY';
378
- expect((0, commons_1.isMissingAnyDatadogApiKeyEnvVar)()).toBe(false);
379
- });
380
- test('returns false when DATADOG_KMS_API_KEY is set', () => {
381
- process.env[constants_2.CI_KMS_API_KEY_ENV_VAR] = 'SOME-AWS-KMS-API-KEY-CONTAINING-DATADOG-API-KEY';
382
- expect((0, commons_1.isMissingAnyDatadogApiKeyEnvVar)()).toBe(false);
383
- });
384
- test('returns false when DATADOG_API_KEY_SECRET_ARN is set', () => {
385
- process.env[constants_2.CI_API_KEY_SECRET_ARN_ENV_VAR] = 'SOME-AWS-SECRET-ARN-CONTAINING-DATADOG-API-KEY';
386
- expect((0, commons_1.isMissingAnyDatadogApiKeyEnvVar)()).toBe(false);
387
- });
388
- });
389
- describe('getLayerArn', () => {
390
- const OLD_ENV = process.env;
391
- beforeEach(() => {
392
- jest.resetModules();
393
- process.env = {};
394
- });
395
- afterAll(() => {
396
- process.env = OLD_ENV;
397
- });
398
- test('gets sa-east-1 Lambda Extension layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
399
- const settings = {
400
- flushMetricsToLogs: false,
401
- layerAWSAccount: fixtures_2.mockAwsAccount,
402
- mergeXrayTraces: false,
403
- tracingEnabled: false,
404
- };
405
- const region = 'sa-east-1';
406
- const layerArn = (0, commons_1.getLayerArn)({}, constants_2.EXTENSION_LAYER_KEY, region, settings);
407
- expect(layerArn).toEqual(`arn:aws:lambda:${region}:${fixtures_2.mockAwsAccount}:layer:Datadog-Extension`);
408
- }));
409
- test('gets sa-east-1 arm64 Lambda Extension layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
410
- const config = {
411
- Architectures: [client_lambda_1.Architecture.arm64],
412
- };
413
- const settings = {
414
- flushMetricsToLogs: false,
415
- layerAWSAccount: fixtures_2.mockAwsAccount,
416
- mergeXrayTraces: false,
417
- tracingEnabled: false,
418
- };
419
- const region = 'sa-east-1';
420
- const layerArn = (0, commons_1.getLayerArn)(config, constants_2.EXTENSION_LAYER_KEY, region, settings);
421
- expect(layerArn).toEqual(`arn:aws:lambda:${region}:${fixtures_2.mockAwsAccount}:layer:Datadog-Extension-ARM`);
422
- }));
423
- test('gets us-gov-1 gov cloud Lambda Extension layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
424
- const settings = {
425
- flushMetricsToLogs: false,
426
- layerAWSAccount: fixtures_2.mockAwsAccount,
427
- mergeXrayTraces: false,
428
- tracingEnabled: false,
429
- };
430
- const region = 'us-gov-1';
431
- const layerArn = (0, commons_1.getLayerArn)({}, constants_2.EXTENSION_LAYER_KEY, region, settings);
432
- expect(layerArn).toEqual(`arn:aws-us-gov:lambda:${region}:${constants_2.GOVCLOUD_LAYER_AWS_ACCOUNT}:layer:Datadog-Extension`);
433
- }));
434
- test('gets us-gov-1 gov cloud arm64 Lambda Extension layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
435
- const config = {
436
- Architectures: [client_lambda_1.Architecture.arm64],
437
- };
438
- const settings = {
439
- flushMetricsToLogs: false,
440
- layerAWSAccount: fixtures_2.mockAwsAccount,
441
- mergeXrayTraces: false,
442
- tracingEnabled: false,
443
- };
444
- const region = 'us-gov-1';
445
- const layerArn = (0, commons_1.getLayerArn)(config, constants_2.EXTENSION_LAYER_KEY, region, settings);
446
- expect(layerArn).toEqual(`arn:aws-us-gov:lambda:${region}:${constants_2.GOVCLOUD_LAYER_AWS_ACCOUNT}:layer:Datadog-Extension-ARM`);
447
- }));
448
- test('gets sa-east-1 Node20 Lambda Library layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
449
- const runtime = client_lambda_1.Runtime.nodejs20x;
450
- const config = {
451
- Runtime: runtime,
452
- };
453
- const settings = {
454
- flushMetricsToLogs: false,
455
- layerAWSAccount: fixtures_2.mockAwsAccount,
456
- mergeXrayTraces: false,
457
- tracingEnabled: false,
458
- };
459
- const region = 'sa-east-1';
460
- const layerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region, settings);
461
- expect(layerArn).toEqual(`arn:aws:lambda:${region}:${fixtures_2.mockAwsAccount}:layer:Datadog-Node20-x`);
462
- }));
463
- test('gets sa-east-1 Python39 arm64 Lambda Library layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
464
- const runtime = client_lambda_1.Runtime.python39;
465
- const config = {
466
- Architectures: [client_lambda_1.Architecture.arm64],
467
- Runtime: runtime,
468
- };
469
- const settings = {
470
- flushMetricsToLogs: false,
471
- layerAWSAccount: fixtures_2.mockAwsAccount,
472
- mergeXrayTraces: false,
473
- tracingEnabled: false,
474
- };
475
- const region = 'sa-east-1';
476
- const layerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region, settings);
477
- expect(layerArn).toEqual(`arn:aws:lambda:${region}:${fixtures_2.mockAwsAccount}:layer:Datadog-Python39-ARM`);
478
- }));
479
- test('gets us-gov-1 Python312 gov cloud Lambda Library layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
480
- const runtime = client_lambda_1.Runtime.python312;
481
- const config = {
482
- Runtime: runtime,
483
- };
484
- const settings = {
485
- flushMetricsToLogs: false,
486
- layerAWSAccount: fixtures_2.mockAwsAccount,
487
- mergeXrayTraces: false,
488
- tracingEnabled: false,
489
- };
490
- const region = 'us-gov-1';
491
- const layerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region, settings);
492
- expect(layerArn).toEqual(`arn:aws-us-gov:lambda:${region}:${constants_2.GOVCLOUD_LAYER_AWS_ACCOUNT}:layer:Datadog-Python312`);
493
- }));
494
- test('gets us-gov-1 Python39 gov cloud arm64 Lambda Library layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
495
- const runtime = client_lambda_1.Runtime.python39;
496
- const config = {
497
- Architectures: [client_lambda_1.Architecture.arm64],
498
- Runtime: runtime,
499
- };
500
- const settings = {
501
- flushMetricsToLogs: false,
502
- layerAWSAccount: fixtures_2.mockAwsAccount,
503
- mergeXrayTraces: false,
504
- tracingEnabled: false,
505
- };
506
- const region = 'us-gov-1';
507
- const layerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region, settings);
508
- expect(layerArn).toEqual(`arn:aws-us-gov:lambda:${region}:${constants_2.GOVCLOUD_LAYER_AWS_ACCOUNT}:layer:Datadog-Python39-ARM`);
509
- }));
510
- test('gets dotnet6 arm64 Lambda Library layer ARN', () => __awaiter(void 0, void 0, void 0, function* () {
511
- const runtime = client_lambda_1.Runtime.dotnet6;
512
- const config = {
513
- Runtime: runtime,
514
- Architectures: [client_lambda_1.Architecture.arm64],
515
- };
516
- const settings = {
517
- flushMetricsToLogs: false,
518
- layerAWSAccount: fixtures_2.mockAwsAccount,
519
- mergeXrayTraces: false,
520
- tracingEnabled: false,
521
- };
522
- const region = 'us-east-1';
523
- const layerArn = (0, commons_1.getLayerArn)(config, config.Runtime, region, settings);
524
- expect(layerArn).toEqual(`arn:aws:lambda:${region}:${fixtures_2.mockAwsAccount}:layer:dd-trace-dotnet-ARM`);
525
- }));
526
- });
527
- describe('getLayerNameWithVersion', () => {
528
- const OLD_ENV = process.env;
529
- beforeEach(() => {
530
- jest.resetModules();
531
- process.env = {};
532
- });
533
- afterAll(() => {
534
- process.env = OLD_ENV;
535
- });
536
- test('returns the correct name and version given an extension layer arn', () => {
537
- const layerName = constants_2.DD_LAMBDA_EXTENSION_LAYER_NAME;
538
- const version = '16';
539
- const layerNameWithVersion = `${layerName}:${version}`;
540
- const layerArn = `arn:aws:lambda:sa-east-1:${fixtures_2.mockAwsAccount}:layer:${layerNameWithVersion}`;
541
- expect((0, commons_1.getLayerNameWithVersion)(layerArn)).toBe(layerNameWithVersion);
542
- });
543
- test('returns the correct name and version given a library layer arn', () => {
544
- const layerName = 'Datadog-Python39';
545
- const version = '59';
546
- const layerNameWithVersion = `${layerName}:${version}`;
547
- const layerArn = `arn:aws:lambda:sa-east-1:${fixtures_2.mockAwsAccount}:layer:${layerNameWithVersion}`;
548
- expect((0, commons_1.getLayerNameWithVersion)(layerArn)).toBe(layerNameWithVersion);
549
- });
550
- test('returns undefined if arn is incomplete', () => {
551
- const layerArn = `arn:aws:lambda:sa-east-1:${fixtures_2.mockAwsAccount}:layer:Datadog-Python39`;
552
- expect((0, commons_1.getLayerNameWithVersion)(layerArn)).toBe(undefined);
553
- });
554
- });
555
- describe('getRegion', () => {
556
- test('should return the expected region', () => {
557
- const functionARN = 'arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world';
558
- const expectedRegion = 'us-east-1';
559
- const region = (0, commons_1.getRegion)(functionARN);
560
- expect(region).toBe(expectedRegion);
561
- });
562
- test('should return undefined if Function ARN does not contain the region', () => {
563
- const functionName = 'lambda-hello-world';
564
- const region = (0, commons_1.getRegion)(functionName);
565
- expect(region).toBe(undefined);
566
- });
567
- });
568
- describe('sentenceMatchesRegEx', () => {
569
- const tags = [
570
- ['not@complying:regex-should-fail', false],
571
- ['1first-char-is-number:should-fail', false],
572
- ['_also-not-complying:should-fail', false],
573
- ['complying_tag:accepted/with/slashes.and.dots,but-empty-tag', false],
574
- ['also_complying:success,1but_is_illegal:should-fail', false],
575
- ['this:complies,also_this_one:yes,numb3r_in_name:should-succeed,dots:al.lo.wed', true],
576
- ['complying_ip_address_4:192.342.3134.231', true],
577
- ['complying:alone', true],
578
- ['one_divided_by_two:1/2,one_divided_by_four:0.25,three_minus_one_half:3-1/2', true],
579
- ['this_is_a_valid_t4g:yes/it.is-42', true],
580
- // multiple colons, periods in tag, slashes in tag
581
- ['env-staging:east:staging,version.minor:1,version.major:3.4/v3,category/service:not/defined', true],
582
- ['email:user@email.com,numb3r:t', true],
583
- ];
584
- test.each(tags)('check if the tags match the expected result from the regex', (tag, expectedResult) => {
585
- const result = !!(0, commons_1.sentenceMatchesRegEx)(tag, constants_2.EXTRA_TAGS_REG_EXP);
586
- expect(result).toEqual(expectedResult);
587
- });
588
- });
589
- describe('updateLambdaFunctionConfig', () => {
590
- const OLD_ENV = process.env;
591
- beforeEach(() => {
592
- cloudWatchLogsClientMock.reset();
593
- lambdaClientMock.reset();
594
- jest.resetModules();
595
- process.env = {};
596
- });
597
- afterAll(() => {
598
- process.env = OLD_ENV;
599
- });
600
- test('updates every lambda', () => __awaiter(void 0, void 0, void 0, function* () {
601
- const configs = [
602
- {
603
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
604
- lambdaConfig: {
605
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
606
- Handler: 'index.handler',
607
- Runtime: client_lambda_1.Runtime.nodejs20x,
608
- },
609
- lambdaLibraryLayerArn: 'arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x',
610
- updateFunctionConfigurationCommandInput: {
611
- Environment: {
612
- Variables: {
613
- [constants_2.LAMBDA_HANDLER_ENV_VAR]: 'index.handler',
614
- [constants_2.MERGE_XRAY_TRACES_ENV_VAR]: 'false',
615
- [constants_2.TRACE_ENABLED_ENV_VAR]: 'false',
616
- },
617
- },
618
- FunctionName: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
619
- Handler: '/opt/nodejs/node_modules/datadog-lambda-js/handler.handler',
620
- Layers: ['arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x:22'],
621
- },
622
- },
623
- ];
624
- yield Promise.all(configs.map((config) => __awaiter(void 0, void 0, void 0, function* () { return (0, commons_1.updateLambdaFunctionConfig)(lambdaClientMock, cloudWatchLogsClientMock, config); })));
625
- expect(lambdaClientMock).toHaveReceivedCommandWith(client_lambda_1.UpdateFunctionConfigurationCommand, {
626
- Environment: {
627
- Variables: {
628
- [constants_2.LAMBDA_HANDLER_ENV_VAR]: 'index.handler',
629
- [constants_2.MERGE_XRAY_TRACES_ENV_VAR]: 'false',
630
- [constants_2.TRACE_ENABLED_ENV_VAR]: 'false',
631
- },
632
- },
633
- FunctionName: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
634
- Handler: '/opt/nodejs/node_modules/datadog-lambda-js/handler.handler',
635
- Layers: ['arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x:22'],
636
- });
637
- }));
638
- });
639
- describe('handleLambdaFunctionUpdates', () => {
640
- const OLD_ENV = process.env;
641
- beforeEach(() => {
642
- cloudWatchLogsClientMock.reset();
643
- lambdaClientMock.reset();
644
- jest.resetModules();
645
- process.env = {};
646
- });
647
- afterAll(() => {
648
- process.env = OLD_ENV;
649
- });
650
- const stdout = { write: (_) => jest.fn() };
651
- const getConfigs = (lambdaClient) => [
652
- {
653
- lambdaClient,
654
- cloudWatchLogsClientMock,
655
- configs: [
656
- {
657
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
658
- lambdaConfig: {
659
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
660
- Handler: 'index.handler',
661
- Runtime: 'nodejs20.x',
662
- },
663
- lambdaLibraryLayerArn: 'arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x',
664
- updateFunctionConfigurationCommandInput: {
665
- Environment: {
666
- Variables: {
667
- [constants_2.LAMBDA_HANDLER_ENV_VAR]: 'index.handler',
668
- [constants_2.MERGE_XRAY_TRACES_ENV_VAR]: 'false',
669
- [constants_2.TRACE_ENABLED_ENV_VAR]: 'false',
670
- },
671
- },
672
- FunctionName: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
673
- Handler: '/opt/nodejs/node_modules/datadog-lambda-js/handler.handler',
674
- Layers: ['arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x:XX'],
675
- },
676
- },
677
- ],
678
- region: 'us-east-1',
679
- },
680
- {
681
- lambdaClient,
682
- cloudWatchLogsClientMock,
683
- configs: [
684
- {
685
- functionARN: 'arn:aws:lambda:us-east-2:000000000000:function:autoinstrument',
686
- lambdaConfig: {
687
- FunctionArn: 'arn:aws:lambda:us-east-2:000000000000:function:autoinstrument',
688
- Handler: 'index.handler',
689
- Runtime: 'nodejs20.x',
690
- },
691
- lambdaLibraryLayerArn: 'arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x',
692
- updateFunctionConfigurationCommandInput: {
693
- Environment: {
694
- Variables: {
695
- [constants_2.LAMBDA_HANDLER_ENV_VAR]: 'index.handler',
696
- [constants_2.MERGE_XRAY_TRACES_ENV_VAR]: 'false',
697
- [constants_2.TRACE_ENABLED_ENV_VAR]: 'false',
698
- },
699
- },
700
- FunctionName: 'arn:aws:lambda:us-east-2:000000000000:function:autoinstrument',
701
- Handler: '/opt/nodejs/node_modules/datadog-lambda-js/handler.handler',
702
- Layers: ['arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Node20-x:XX'],
703
- },
704
- },
705
- ],
706
- region: 'us-east-2',
707
- },
708
- ];
709
- test('throws an error when all functions from every region fail to update', () => __awaiter(void 0, void 0, void 0, function* () {
710
- lambdaClientMock.on(client_lambda_1.UpdateFunctionConfigurationCommand).rejects();
711
- const configs = getConfigs(lambdaClientMock);
712
- yield expect((0, commons_1.handleLambdaFunctionUpdates)(configs, stdout)).rejects.toThrow();
713
- }));
714
- test('to not throw an error when at least one function is updated', () => __awaiter(void 0, void 0, void 0, function* () {
715
- lambdaClientMock
716
- .on(client_lambda_1.UpdateFunctionConfigurationCommand, {
717
- FunctionName: 'arn:aws:lambda:us-east-1:000000000000:function:autoinstrument',
718
- })
719
- .rejects();
720
- const configs = getConfigs(lambdaClientMock);
721
- // when sucessful, the function doesnt do anything
722
- const result = yield (0, commons_1.handleLambdaFunctionUpdates)(configs, stdout);
723
- expect(result).toBe(undefined);
724
- }));
725
- });
726
- describe('handles multiple runtimes', () => {
727
- test('returns true if all runtimes are uniform', () => __awaiter(void 0, void 0, void 0, function* () {
728
- const configs = [
729
- {
730
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:func3',
731
- lambdaConfig: {
732
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:func3',
733
- Handler: 'index.handler',
734
- Runtime: 'nodejs16.x',
735
- },
736
- },
737
- {
738
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:func4',
739
- lambdaConfig: {
740
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:func4',
741
- Handler: 'index.handler',
742
- Runtime: 'nodejs18.x',
743
- },
744
- },
745
- {
746
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:func5',
747
- lambdaConfig: {
748
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:func5',
749
- Handler: 'index.handler',
750
- Runtime: 'nodejs20.x',
751
- },
752
- },
753
- ];
754
- expect((0, commons_1.checkRuntimeTypesAreUniform)(configs)).toBe(true);
755
- }));
756
- test('returns false if runtimes are not uniform', () => __awaiter(void 0, void 0, void 0, function* () {
757
- const configs = [
758
- {
759
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:func1',
760
- lambdaConfig: {
761
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:func1',
762
- Handler: 'index.handler',
763
- Runtime: 'nodejs20.x',
764
- },
765
- },
766
- {
767
- functionARN: 'arn:aws:lambda:us-east-1:000000000000:function:func2',
768
- lambdaConfig: {
769
- FunctionArn: 'arn:aws:lambda:us-east-1:000000000000:function:func2',
770
- Handler: 'index.handler',
771
- Runtime: 'python3.9',
772
- },
773
- },
774
- ];
775
- expect((0, commons_1.checkRuntimeTypesAreUniform)(configs)).toBe(false);
776
- }));
777
- });
778
- describe('maskConfig', () => {
779
- it('should mask a Lambda config correctly', () => {
780
- const maskedConfig = (0, commons_1.maskConfig)(fixtures_2.MOCK_LAMBDA_CONFIG);
781
- expect(maskedConfig).toMatchSnapshot();
782
- });
783
- it('should not modify config if env vars are missing', () => {
784
- const lambdaConfigCopy = JSON.parse(JSON.stringify(fixtures_2.MOCK_LAMBDA_CONFIG));
785
- delete lambdaConfigCopy.Environment.Variables;
786
- const maskedConfig = (0, commons_1.maskConfig)(lambdaConfigCopy);
787
- expect(maskedConfig).toMatchSnapshot();
788
- });
789
- });
790
- });
791
- //# sourceMappingURL=commons.test.js.map