@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,617 +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 os_1 = __importDefault(require("os"));
39
- const fixtures_1 = require("../../../helpers/__tests__/fixtures");
40
- const format_git_sourcemaps_data_1 = require("../../../helpers/git/format-git-sourcemaps-data");
41
- const utils_1 = require("../../../helpers/utils");
42
- const version_1 = require("../../../helpers/version");
43
- const dsyms = __importStar(require("../../dsyms/upload"));
44
- const sourcemaps = __importStar(require("../../sourcemaps/upload"));
45
- const helpers_1 = require("../helpers");
46
- const renderer_1 = require("../renderer");
47
- const upload_1 = require("../upload");
48
- jest.mock('../../../helpers/utils', () => (Object.assign(Object.assign({}, jest.requireActual('../../../helpers/utils')), { performSubCommand: jest.fn() })));
49
- jest.mock('../helpers', () => (Object.assign(Object.assign({}, jest.requireActual('../helpers')), { uploadMultipartHelper: jest.fn() })));
50
- jest.mock('../../../helpers/git/format-git-sourcemaps-data', () => (Object.assign(Object.assign({}, jest.requireActual('../../../helpers/git/format-git-sourcemaps-data')), { getRepositoryData: jest.fn() })));
51
- const cliVersion = version_1.version;
52
- const fixtureDir = './src/commands/flutter-symbols/__tests__/fixtures';
53
- describe('flutter-symbol upload', () => {
54
- const runCommand = (prepFunction) => __awaiter(void 0, void 0, void 0, function* () {
55
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
56
- prepFunction(command);
57
- const exitCode = yield command.execute();
58
- return { exitCode, context: command.context };
59
- });
60
- describe('parameter validation', () => {
61
- test('fails if no service name given', () => __awaiter(void 0, void 0, void 0, function* () {
62
- const { exitCode, context } = yield runCommand((_) => { });
63
- const errorOutput = context.stderr.toString();
64
- expect(exitCode).not.toBe(0);
65
- expect(errorOutput).toContain('Error');
66
- expect(errorOutput).toContain('"service-name" is required');
67
- }));
68
- test('requires valid pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
69
- const { exitCode, context } = yield runCommand((cmd) => {
70
- cmd['serviceName'] = 'fake.service';
71
- });
72
- const errorOutput = context.stderr.toString();
73
- expect(exitCode).not.toBe(0);
74
- expect(errorOutput).toBe((0, renderer_1.renderMissingPubspecError)('./pubspec.yaml'));
75
- }));
76
- test('uses API Key from env over config from JSON file', () => __awaiter(void 0, void 0, void 0, function* () {
77
- const { exitCode, context } = yield runCommand((cmd) => {
78
- cmd['configPath'] = 'src/commands/flutter-symbols/__tests__/fixtures/config/datadog-ci.json';
79
- cmd['serviceName'] = 'fake.service';
80
- cmd['version'] = '1.0.0+114';
81
- process.env.DATADOG_API_KEY = 'fake_api_key';
82
- });
83
- const output = context.stdout.toString().split(os_1.default.EOL);
84
- expect(exitCode).toBe(0);
85
- expect(output).toContain('API keys were specified both in a configuration file and in the environment.');
86
- expect(output).toContain('The environment API key ending in _key will be used.');
87
- }));
88
- test('version bypasses pubspec check', () => __awaiter(void 0, void 0, void 0, function* () {
89
- const { exitCode, context } = yield runCommand((cmd) => {
90
- cmd['serviceName'] = 'fake.service';
91
- cmd['version'] = '1.0.0+114';
92
- });
93
- const errorOutput = context.stderr.toString();
94
- expect(exitCode).toBe(0);
95
- expect(errorOutput).toBe('');
96
- }));
97
- test('minified-path-prefix required if web-sourcemaps is specified', () => __awaiter(void 0, void 0, void 0, function* () {
98
- const { exitCode, context } = yield runCommand((cmd) => {
99
- cmd['serviceName'] = 'fake.service';
100
- cmd['version'] = '1.0.0+114';
101
- cmd['webSourceMaps'] = true;
102
- });
103
- const errorOutput = context.stderr.toString();
104
- expect(exitCode).toBe(1);
105
- expect(errorOutput).toBe((0, renderer_1.renderMinifiedPathPrefixRequired)());
106
- }));
107
- test('minified-path-prefix required if web-sourcemaps-location is specified', () => __awaiter(void 0, void 0, void 0, function* () {
108
- const { exitCode, context } = yield runCommand((cmd) => {
109
- cmd['serviceName'] = 'fake.service';
110
- cmd['version'] = '1.0.0+114';
111
- cmd['webSourceMapsLocation'] = './fake/location';
112
- });
113
- const errorOutput = context.stderr.toString();
114
- expect(exitCode).toBe(1);
115
- expect(errorOutput).toBe((0, renderer_1.renderMinifiedPathPrefixRequired)());
116
- }));
117
- });
118
- describe('getFlutterSymbolFiles', () => {
119
- test('should read all symbol files', () => __awaiter(void 0, void 0, void 0, function* () {
120
- const command = new upload_1.UploadCommand();
121
- const searchDir = `${fixtureDir}/dart-symbols`;
122
- const files = command['getFlutterSymbolFiles'](searchDir);
123
- expect(files).toEqual([
124
- `${searchDir}/app.android-arm.symbols`,
125
- `${searchDir}/app.android-arm64.symbols`,
126
- `${searchDir}/app.android-x64.symbols`,
127
- `${searchDir}/app.ios-arm64.symbols`,
128
- ]);
129
- }));
130
- });
131
- describe('parsePubspec', () => {
132
- test('writes error on missing pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
133
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
134
- const context = command.context;
135
- const exitCode = yield command['parsePubspecVersion']('./pubspec.yaml');
136
- const errorOutput = context.stderr.toString();
137
- expect(exitCode).toBe(1);
138
- expect(errorOutput).toBe((0, renderer_1.renderMissingPubspecError)('./pubspec.yaml'));
139
- }));
140
- test('writes error on invalid pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
141
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
142
- const context = command.context;
143
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/invalidPubspec.yaml`);
144
- const errorOutput = context.stderr.toString();
145
- expect(exitCode).toBe(1);
146
- expect(errorOutput).toBe((0, renderer_1.renderInvalidPubspecError)(`${fixtureDir}/pubspecs/invalidPubspec.yaml`));
147
- }));
148
- test('writes error on missing version in pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
149
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
150
- const context = command.context;
151
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/missingVersionPubspec.yaml`);
152
- const errorOutput = context.stderr.toString();
153
- expect(exitCode).toBe(1);
154
- expect(errorOutput).toBe((0, renderer_1.renderPubspecMissingVersionError)(`${fixtureDir}/pubspecs/missingVersionPubspec.yaml`));
155
- }));
156
- test('populates version from valid pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
157
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
158
- const context = command.context;
159
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/validPubspec.yaml`);
160
- const errorOutput = context.stderr.toString();
161
- expect(exitCode).toBe(0);
162
- expect(errorOutput).toBe('');
163
- expect(command['version']).toBe('1.2.3');
164
- }));
165
- test('strips pre-release from pre-release pubspec and shows warning', () => __awaiter(void 0, void 0, void 0, function* () {
166
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
167
- const context = command.context;
168
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/prereleasePubspec.yaml`);
169
- const errorOutput = context.stderr.toString();
170
- expect(exitCode).toBe(0);
171
- expect(errorOutput).toBe((0, renderer_1.renderVersionBuildNumberWarning)(`${fixtureDir}/pubspecs/prereleasePubspec.yaml`));
172
- expect(command['version']).toBe('1.2.3');
173
- }));
174
- test('strips build from build pubspec and shows warning', () => __awaiter(void 0, void 0, void 0, function* () {
175
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
176
- const context = command.context;
177
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/buildPubspec.yaml`);
178
- const errorOutput = context.stderr.toString();
179
- expect(exitCode).toBe(0);
180
- expect(errorOutput).toBe((0, renderer_1.renderVersionBuildNumberWarning)(`${fixtureDir}/pubspecs/buildPubspec.yaml`));
181
- expect(command['version']).toBe('1.2.3');
182
- }));
183
- });
184
- describe('dsyms upload', () => {
185
- test('calls dsyms sub-command with proper default parameters', () => __awaiter(void 0, void 0, void 0, function* () {
186
- const { exitCode } = yield runCommand((cmd) => {
187
- cmd['serviceName'] = 'fake.service';
188
- cmd['version'] = '1.0.0';
189
- cmd['iosDsyms'] = true;
190
- });
191
- expect(exitCode).toBe(0);
192
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(dsyms.UploadCommand, ['dsyms', 'upload', './build/ios/archive/Runner.xcarchive/dSYMs'], expect.anything());
193
- }));
194
- test('calls dsyms sub-command with dry-run on dry-run', () => __awaiter(void 0, void 0, void 0, function* () {
195
- const { exitCode } = yield runCommand((cmd) => {
196
- cmd['serviceName'] = 'fake.service';
197
- cmd['version'] = '1.0.0';
198
- cmd['iosDsyms'] = true;
199
- cmd['dryRun'] = true;
200
- });
201
- expect(exitCode).toBe(0);
202
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(dsyms.UploadCommand, ['dsyms', 'upload', './build/ios/archive/Runner.xcarchive/dSYMs', '--dry-run'], expect.anything());
203
- }));
204
- test('calls dsyms sub-command passing through dsymLocation', () => __awaiter(void 0, void 0, void 0, function* () {
205
- const { exitCode, context } = yield runCommand((cmd) => {
206
- cmd['serviceName'] = 'fake.service';
207
- cmd['version'] = '1.0.0';
208
- cmd['iosDsymsLocation'] = './dsym-location';
209
- });
210
- const errorOutput = context.stderr.toString();
211
- expect(exitCode).toBe(0);
212
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(dsyms.UploadCommand, ['dsyms', 'upload', './dsym-location'], expect.anything());
213
- expect(errorOutput).toBe('');
214
- }));
215
- });
216
- describe('android mapping upload', () => {
217
- const addDefaultCommandParameters = (command) => {
218
- command['serviceName'] = 'fake.service';
219
- command['version'] = '1.0.0';
220
- };
221
- const mockGitRepoParameters = (command) => {
222
- command['gitData'] = {
223
- hash: 'fake-git-hash',
224
- remote: 'fake-git-remote',
225
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
226
- './lib/main.dart',
227
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
228
- './ios/Runner/AppDelegate.swift',
229
- ]),
230
- };
231
- };
232
- test('errors if mapping file does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
233
- const { exitCode, context } = yield runCommand((cmd) => {
234
- addDefaultCommandParameters(cmd);
235
- cmd['androidMappingLocation'] = `${fixtureDir}/android/missing.txt`;
236
- });
237
- const errorOutput = context.stderr.toString();
238
- expect(exitCode).not.toBe(0);
239
- expect(errorOutput).toBe((0, renderer_1.renderMissingAndroidMappingFile)(`${fixtureDir}/android/missing.txt`));
240
- }));
241
- test('errors if default mapping file does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
242
- const { exitCode, context } = yield runCommand((cmd) => {
243
- addDefaultCommandParameters(cmd);
244
- cmd['androidMapping'] = true;
245
- });
246
- const errorOutput = context.stderr.toString();
247
- expect(exitCode).not.toBe(0);
248
- expect(errorOutput).toBe((0, renderer_1.renderMissingAndroidMappingFile)('./build/app/outputs/mapping/release/mapping.txt'));
249
- }));
250
- test('creates correct metadata payload', () => {
251
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
252
- addDefaultCommandParameters(command);
253
- mockGitRepoParameters(command);
254
- const metadata = command['getAndroidMetadata']();
255
- expect(metadata).toEqual({
256
- cli_version: cliVersion,
257
- git_commit_sha: 'fake-git-hash',
258
- git_repository_url: 'fake-git-remote',
259
- service: 'fake.service',
260
- type: 'jvm_mapping_file',
261
- variant: 'release',
262
- version: '1.0.0',
263
- });
264
- });
265
- test('build in version is sanitized in metadata payload', () => {
266
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
267
- addDefaultCommandParameters(command);
268
- mockGitRepoParameters(command);
269
- command['version'] = '1.2.4+987';
270
- const metadata = command['getAndroidMetadata']();
271
- expect(metadata).toEqual({
272
- cli_version: cliVersion,
273
- git_commit_sha: 'fake-git-hash',
274
- git_repository_url: 'fake-git-remote',
275
- service: 'fake.service',
276
- type: 'jvm_mapping_file',
277
- variant: 'release',
278
- version: '1.2.4-987',
279
- });
280
- });
281
- test('uploads correct multipart payload without repository', () => __awaiter(void 0, void 0, void 0, function* () {
282
- ;
283
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
284
- const { exitCode } = yield runCommand((cmd) => {
285
- addDefaultCommandParameters(cmd);
286
- cmd['androidMappingLocation'] = `${fixtureDir}/android/fake-mapping.txt`;
287
- });
288
- const expectedMetadata = {
289
- cli_version: cliVersion,
290
- service: 'fake.service',
291
- type: 'jvm_mapping_file',
292
- variant: 'release',
293
- version: '1.0.0',
294
- };
295
- expect(helpers_1.uploadMultipartHelper).toHaveBeenCalled();
296
- const payload = helpers_1.uploadMultipartHelper.mock.calls[0][1];
297
- expect(JSON.parse(payload.content.get('event').value)).toStrictEqual(expectedMetadata);
298
- const mappingFileItem = payload.content.get('jvm_mapping_file');
299
- expect(mappingFileItem).toBeTruthy();
300
- expect(mappingFileItem.options.filename).toBe('jvm_mapping');
301
- expect(mappingFileItem.path).toBe(`${fixtureDir}/android/fake-mapping.txt`);
302
- expect(exitCode).toBe(0);
303
- }));
304
- test('uploads correct multipart payload with repository', () => __awaiter(void 0, void 0, void 0, function* () {
305
- ;
306
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
307
- format_git_sourcemaps_data_1.getRepositoryData.mockResolvedValueOnce({
308
- hash: 'fake-git-hash',
309
- remote: 'fake-git-remote',
310
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
311
- './lib/main.dart',
312
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
313
- './ios/Runner/AppDelegate.swift',
314
- ]),
315
- });
316
- const { exitCode } = yield runCommand((cmd) => {
317
- addDefaultCommandParameters(cmd);
318
- cmd['androidMappingLocation'] = `${fixtureDir}/android/fake-mapping.txt`;
319
- });
320
- const expectedMetadata = {
321
- cli_version: cliVersion,
322
- git_commit_sha: 'fake-git-hash',
323
- git_repository_url: 'fake-git-remote',
324
- service: 'fake.service',
325
- type: 'jvm_mapping_file',
326
- variant: 'release',
327
- version: '1.0.0',
328
- };
329
- const expectedRepository = {
330
- data: [
331
- {
332
- files: [
333
- './lib/main.dart',
334
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
335
- './ios/Runner/AppDelegate.swift',
336
- ],
337
- hash: 'fake-git-hash',
338
- repository_url: 'fake-git-remote',
339
- },
340
- ],
341
- version: 1,
342
- };
343
- expect(helpers_1.uploadMultipartHelper).toHaveBeenCalled();
344
- const payload = helpers_1.uploadMultipartHelper.mock.calls[0][1];
345
- expect(JSON.parse(payload.content.get('event').value)).toStrictEqual(expectedMetadata);
346
- const repoValue = payload.content.get('repository');
347
- expect(JSON.parse(repoValue.value)).toStrictEqual(expectedRepository);
348
- expect((repoValue === null || repoValue === void 0 ? void 0 : repoValue.options).filename).toBe('repository');
349
- expect((repoValue === null || repoValue === void 0 ? void 0 : repoValue.options).contentType).toBe('application/json');
350
- expect(exitCode).toBe(0);
351
- }));
352
- test('skips upload on dry run', () => __awaiter(void 0, void 0, void 0, function* () {
353
- ;
354
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
355
- const { exitCode } = yield runCommand((cmd) => {
356
- addDefaultCommandParameters(cmd);
357
- cmd['androidMappingLocation'] = `${fixtureDir}/android/fake-mapping.txt`;
358
- cmd['dryRun'] = true;
359
- });
360
- expect(helpers_1.uploadMultipartHelper).not.toHaveBeenCalled();
361
- expect(exitCode).toBe(0);
362
- }));
363
- });
364
- describe('web symbols upload', () => {
365
- test('calls sourcemap sub-command with proper default parameters', () => __awaiter(void 0, void 0, void 0, function* () {
366
- const { exitCode } = yield runCommand((cmd) => {
367
- cmd['serviceName'] = 'fake.service';
368
- cmd['version'] = '1.2.3';
369
- cmd['webSourceMaps'] = true;
370
- cmd['minifiedPathPrefix'] = 'https://localhost';
371
- });
372
- expect(exitCode).toBe(0);
373
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(sourcemaps.UploadCommand, [
374
- 'sourcemaps',
375
- 'upload',
376
- './build/web',
377
- '--service=fake.service',
378
- '--release-version=1.2.3',
379
- '--minified-path-prefix=https://localhost',
380
- ], expect.anything());
381
- }));
382
- test('calls sourcemap sub-command with overridden location', () => __awaiter(void 0, void 0, void 0, function* () {
383
- const { exitCode } = yield runCommand((cmd) => {
384
- cmd['serviceName'] = 'fake.service';
385
- cmd['version'] = '1.2.3';
386
- cmd['webSourceMaps'] = true;
387
- cmd['webSourceMapsLocation'] = './other/location';
388
- cmd['minifiedPathPrefix'] = 'https://localhost';
389
- });
390
- expect(exitCode).toBe(0);
391
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(sourcemaps.UploadCommand, [
392
- 'sourcemaps',
393
- 'upload',
394
- './other/location',
395
- '--service=fake.service',
396
- '--release-version=1.2.3',
397
- '--minified-path-prefix=https://localhost',
398
- ], expect.anything());
399
- }));
400
- test('calls sourcemap sub-command with location only', () => __awaiter(void 0, void 0, void 0, function* () {
401
- const { exitCode } = yield runCommand((cmd) => {
402
- cmd['serviceName'] = 'fake.service';
403
- cmd['version'] = '1.2.3';
404
- cmd['webSourceMapsLocation'] = './other/location';
405
- cmd['minifiedPathPrefix'] = 'https://localhost';
406
- });
407
- expect(exitCode).toBe(0);
408
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(sourcemaps.UploadCommand, [
409
- 'sourcemaps',
410
- 'upload',
411
- './other/location',
412
- '--service=fake.service',
413
- '--release-version=1.2.3',
414
- '--minified-path-prefix=https://localhost',
415
- ], expect.anything());
416
- }));
417
- test('calls sourcemap sub-command with dry-run', () => __awaiter(void 0, void 0, void 0, function* () {
418
- const { exitCode } = yield runCommand((cmd) => {
419
- cmd['serviceName'] = 'fake.service';
420
- cmd['version'] = '1.2.3';
421
- cmd['webSourceMaps'] = true;
422
- cmd['minifiedPathPrefix'] = 'https://localhost';
423
- cmd['dryRun'] = true;
424
- });
425
- expect(exitCode).toBe(0);
426
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(sourcemaps.UploadCommand, [
427
- 'sourcemaps',
428
- 'upload',
429
- './build/web',
430
- '--service=fake.service',
431
- '--release-version=1.2.3',
432
- '--minified-path-prefix=https://localhost',
433
- '--dry-run',
434
- ], expect.anything());
435
- }));
436
- });
437
- describe('flutter symbol upload', () => {
438
- const addDefaultCommandParameters = (command) => {
439
- command['serviceName'] = 'fake.service';
440
- command['version'] = '1.0.0';
441
- };
442
- const mockGitRepoParameters = (command) => {
443
- command['gitData'] = {
444
- hash: 'fake-git-hash',
445
- remote: 'fake-git-remote',
446
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
447
- './lib/main.dart',
448
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
449
- './ios/Runner/AppDelegate.swift',
450
- ]),
451
- };
452
- };
453
- test('errors if symbol directory is missing', () => __awaiter(void 0, void 0, void 0, function* () {
454
- const { exitCode, context } = yield runCommand((cmd) => {
455
- addDefaultCommandParameters(cmd);
456
- cmd['dartSymbolsLocation'] = `${fixtureDir}/missing-dir`;
457
- });
458
- const errorOutput = context.stderr.toString();
459
- expect(exitCode).not.toBe(0);
460
- expect(errorOutput).toBe((0, renderer_1.renderMissingDartSymbolsDir)(`${fixtureDir}/missing-dir`));
461
- }));
462
- test('errors if symbol directory is a file', () => __awaiter(void 0, void 0, void 0, function* () {
463
- const { exitCode, context } = yield runCommand((cmd) => {
464
- addDefaultCommandParameters(cmd);
465
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols/app.android-arm.symbols`;
466
- });
467
- const errorOutput = context.stderr.toString();
468
- expect(exitCode).not.toBe(0);
469
- expect(errorOutput).toBe((0, renderer_1.renderInvalidSymbolsDir)(`${fixtureDir}/dart-symbols/app.android-arm.symbols`));
470
- }));
471
- test('creates correct metadata payloads', () => {
472
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
473
- addDefaultCommandParameters(command);
474
- mockGitRepoParameters(command);
475
- const metadata = command['getFlutterMetadata']('ios', 'arm64');
476
- expect(metadata).toEqual({
477
- arch: 'arm64',
478
- cli_version: cliVersion,
479
- git_commit_sha: 'fake-git-hash',
480
- git_repository_url: 'fake-git-remote',
481
- platform: 'ios',
482
- service: 'fake.service',
483
- type: 'flutter_symbol_file',
484
- variant: 'release',
485
- version: '1.0.0',
486
- });
487
- });
488
- test('sanitizes build in version number payload', () => {
489
- const command = (0, fixtures_1.createCommand)(upload_1.UploadCommand);
490
- addDefaultCommandParameters(command);
491
- mockGitRepoParameters(command);
492
- command['version'] = '1.2.4+567';
493
- const metadata = command['getFlutterMetadata']('ios', 'arm64');
494
- expect(metadata).toEqual({
495
- arch: 'arm64',
496
- cli_version: cliVersion,
497
- git_commit_sha: 'fake-git-hash',
498
- git_repository_url: 'fake-git-remote',
499
- platform: 'ios',
500
- service: 'fake.service',
501
- type: 'flutter_symbol_file',
502
- variant: 'release',
503
- version: '1.2.4-567',
504
- });
505
- });
506
- test('parses symbol filenames into platform / arch', () => {
507
- const info1 = (0, helpers_1.getArchInfoFromFilename)('app.android-arm.symbols');
508
- const info2 = (0, helpers_1.getArchInfoFromFilename)('./a/directory/app.android-x64.symbols');
509
- const info3 = (0, helpers_1.getArchInfoFromFilename)('./a/directory/app.confusing-.ios-arm64.symbols');
510
- const info4 = (0, helpers_1.getArchInfoFromFilename)('app.bad.symbols');
511
- expect(info1).toEqual({ platform: 'android', arch: 'arm' });
512
- expect(info2).toEqual({ platform: 'android', arch: 'x64' });
513
- expect(info3).toEqual({ platform: 'ios', arch: 'arm64' });
514
- expect(info4).toBeUndefined();
515
- });
516
- const getExpectedMetadata = (platform, arch, gitCommitSha, gitRespositoryUrl) => (Object.assign(Object.assign(Object.assign({ arch, cli_version: cliVersion }, (gitCommitSha && { git_commit_sha: gitCommitSha })), (gitRespositoryUrl && { git_repository_url: gitRespositoryUrl })), { platform, service: 'fake.service', type: 'flutter_symbol_file', variant: 'release', version: '1.0.0' }));
517
- test('uploads correct multipart payloads without repository', () => __awaiter(void 0, void 0, void 0, function* () {
518
- ;
519
- helpers_1.uploadMultipartHelper.mockResolvedValue('');
520
- const { exitCode } = yield runCommand((cmd) => {
521
- addDefaultCommandParameters(cmd);
522
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols`;
523
- });
524
- const expectedMetadatas = [
525
- getExpectedMetadata('android', 'arm'),
526
- getExpectedMetadata('android', 'arm64'),
527
- getExpectedMetadata('android', 'x64'),
528
- getExpectedMetadata('ios', 'arm64'),
529
- ];
530
- expect(helpers_1.uploadMultipartHelper).toHaveBeenCalledTimes(4);
531
- expectedMetadatas.forEach((expectedMetadata) => {
532
- const mockCalls = helpers_1.uploadMultipartHelper.mock.calls;
533
- const index = mockCalls.findIndex((call) => {
534
- const checkPayload = call[1];
535
- const eventPayload = checkPayload.content.get('event').value;
536
- return eventPayload === JSON.stringify(expectedMetadata);
537
- });
538
- // Ensure the metadata matches at least one call
539
- expect(index).not.toBe(-1);
540
- const payload = mockCalls[index][1];
541
- const mappingFileItem = payload.content.get('flutter_symbol_file');
542
- expect(mappingFileItem).toBeTruthy();
543
- expect(mappingFileItem.options.filename).toBe('flutter_symbol_file');
544
- const expectedPath = `${fixtureDir}/dart-symbols/app.${expectedMetadata.platform}-${expectedMetadata.arch}.symbols`;
545
- expect(mappingFileItem.path).toBe(expectedPath);
546
- });
547
- expect(exitCode).toBe(0);
548
- }));
549
- test('uploads correct multipart payloads with repository', () => __awaiter(void 0, void 0, void 0, function* () {
550
- ;
551
- helpers_1.uploadMultipartHelper.mockResolvedValue('');
552
- format_git_sourcemaps_data_1.getRepositoryData.mockResolvedValueOnce({
553
- hash: 'fake-git-hash',
554
- remote: 'fake-git-remote',
555
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
556
- './lib/main.dart',
557
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
558
- './ios/Runner/AppDelegate.swift',
559
- ]),
560
- });
561
- const { exitCode } = yield runCommand((cmd) => {
562
- addDefaultCommandParameters(cmd);
563
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols`;
564
- });
565
- const expectedMetadatas = [
566
- getExpectedMetadata('android', 'arm', 'fake-git-hash', 'fake-git-remote'),
567
- getExpectedMetadata('android', 'arm64', 'fake-git-hash', 'fake-git-remote'),
568
- getExpectedMetadata('android', 'x64', 'fake-git-hash', 'fake-git-remote'),
569
- getExpectedMetadata('ios', 'arm64', 'fake-git-hash', 'fake-git-remote'),
570
- ];
571
- const expectedRepository = {
572
- data: [
573
- {
574
- files: [
575
- './lib/main.dart',
576
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
577
- './ios/Runner/AppDelegate.swift',
578
- ],
579
- hash: 'fake-git-hash',
580
- repository_url: 'fake-git-remote',
581
- },
582
- ],
583
- version: 1,
584
- };
585
- expect(helpers_1.uploadMultipartHelper).toHaveBeenCalledTimes(4);
586
- expectedMetadatas.forEach((expectedMetadata) => {
587
- const mockCalls = helpers_1.uploadMultipartHelper.mock.calls;
588
- const index = mockCalls.findIndex((call) => {
589
- const checkPayload = call[1];
590
- const eventPayload = checkPayload.content.get('event').value;
591
- return eventPayload === JSON.stringify(expectedMetadata);
592
- });
593
- // Ensure the metadata matches at least one call
594
- expect(index).not.toBe(-1);
595
- const payload = mockCalls[index][1];
596
- const repoValue = payload.content.get('repository');
597
- expect(JSON.parse(repoValue.value)).toStrictEqual(expectedRepository);
598
- expect(repoValue.options.filename).toBe('repository');
599
- expect(repoValue.options.contentType).toBe('application/json');
600
- expect(exitCode).toBe(0);
601
- });
602
- expect(exitCode).toBe(0);
603
- }));
604
- test('skips upload on dry run', () => __awaiter(void 0, void 0, void 0, function* () {
605
- ;
606
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
607
- const { exitCode } = yield runCommand((cmd) => {
608
- addDefaultCommandParameters(cmd);
609
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols`;
610
- cmd['dryRun'] = true;
611
- });
612
- expect(helpers_1.uploadMultipartHelper).not.toHaveBeenCalled();
613
- expect(exitCode).toBe(0);
614
- }));
615
- });
616
- });
617
- //# sourceMappingURL=upload.test.js.map