@datadog/datadog-ci 2.40.0 → 2.40.2

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 (271) hide show
  1. package/dist/__tests__/cli.test.d.ts +1 -0
  2. package/dist/__tests__/cli.test.js +41 -0
  3. package/dist/__tests__/cli.test.js.map +1 -0
  4. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +2 -0
  5. package/dist/commands/cloud-run/__tests__/fixtures.js +12 -0
  6. package/dist/commands/cloud-run/__tests__/fixtures.js.map +1 -0
  7. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +1 -0
  8. package/dist/commands/cloud-run/__tests__/flare.test.js +557 -0
  9. package/dist/commands/cloud-run/__tests__/flare.test.js.map +1 -0
  10. package/dist/commands/deployment/__tests__/mark.test.d.ts +1 -0
  11. package/dist/commands/deployment/__tests__/mark.test.js +47 -0
  12. package/dist/commands/deployment/__tests__/mark.test.js.map +1 -0
  13. package/dist/commands/dora/__tests__/deployment.test.d.ts +1 -0
  14. package/dist/commands/dora/__tests__/deployment.test.js +201 -0
  15. package/dist/commands/dora/__tests__/deployment.test.js.map +1 -0
  16. package/dist/commands/dsyms/__tests__/upload.test.d.ts +1 -0
  17. package/dist/commands/dsyms/__tests__/upload.test.js +346 -0
  18. package/dist/commands/dsyms/__tests__/upload.test.js.map +1 -0
  19. package/dist/commands/dsyms/__tests__/utils.test.d.ts +1 -0
  20. package/dist/commands/dsyms/__tests__/utils.test.js +100 -0
  21. package/dist/commands/dsyms/__tests__/utils.test.js.map +1 -0
  22. package/dist/commands/dsyms/upload.js +3 -3
  23. package/dist/commands/dsyms/upload.js.map +1 -1
  24. package/dist/commands/dsyms/utils.js +4 -2
  25. package/dist/commands/dsyms/utils.js.map +1 -1
  26. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +1 -0
  27. package/dist/commands/elf-symbols/__tests__/elf.test.js +813 -0
  28. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +1 -0
  29. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +1 -0
  30. package/dist/commands/elf-symbols/__tests__/upload.test.js +249 -0
  31. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +1 -0
  32. package/dist/commands/elf-symbols/upload.js +2 -3
  33. package/dist/commands/elf-symbols/upload.js.map +1 -1
  34. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +1 -0
  35. package/dist/commands/flutter-symbols/__tests__/upload.test.js +617 -0
  36. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +1 -0
  37. package/dist/commands/flutter-symbols/upload.js +2 -2
  38. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  39. package/dist/commands/gate/__tests__/evaluate.test.d.ts +1 -0
  40. package/dist/commands/gate/__tests__/evaluate.test.js +398 -0
  41. package/dist/commands/gate/__tests__/evaluate.test.js.map +1 -0
  42. package/dist/commands/gate/__tests__/scope.test.d.ts +1 -0
  43. package/dist/commands/gate/__tests__/scope.test.js +29 -0
  44. package/dist/commands/gate/__tests__/scope.test.js.map +1 -0
  45. package/dist/commands/git-metadata/__tests__/git.test.d.ts +1 -0
  46. package/dist/commands/git-metadata/__tests__/git.test.js +132 -0
  47. package/dist/commands/git-metadata/__tests__/git.test.js.map +1 -0
  48. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +1 -0
  49. package/dist/commands/git-metadata/__tests__/gitdb.test.js +1386 -0
  50. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +1 -0
  51. package/dist/commands/git-metadata/__tests__/library.test.d.ts +1 -0
  52. package/dist/commands/git-metadata/__tests__/library.test.js +118 -0
  53. package/dist/commands/git-metadata/__tests__/library.test.js.map +1 -0
  54. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +1 -0
  55. package/dist/commands/git-metadata/__tests__/upload.test.js +52 -0
  56. package/dist/commands/git-metadata/__tests__/upload.test.js.map +1 -0
  57. package/dist/commands/junit/__tests__/id.test.d.ts +1 -0
  58. package/dist/commands/junit/__tests__/id.test.js +24 -0
  59. package/dist/commands/junit/__tests__/id.test.js.map +1 -0
  60. package/dist/commands/junit/__tests__/upload.test.d.ts +1 -0
  61. package/dist/commands/junit/__tests__/upload.test.js +495 -0
  62. package/dist/commands/junit/__tests__/upload.test.js.map +1 -0
  63. package/dist/commands/junit/upload.js +5 -3
  64. package/dist/commands/junit/upload.js.map +1 -1
  65. package/dist/commands/lambda/__tests__/fixtures.d.ts +51 -0
  66. package/dist/commands/lambda/__tests__/fixtures.js +146 -0
  67. package/dist/commands/lambda/__tests__/fixtures.js.map +1 -0
  68. package/dist/commands/lambda/__tests__/flare.test.d.ts +1 -0
  69. package/dist/commands/lambda/__tests__/flare.test.js +730 -0
  70. package/dist/commands/lambda/__tests__/flare.test.js.map +1 -0
  71. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +1 -0
  72. package/dist/commands/lambda/__tests__/functions/commons.test.js +791 -0
  73. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +1 -0
  74. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +1 -0
  75. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +386 -0
  76. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +1 -0
  77. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +1 -0
  78. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +721 -0
  79. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +1 -0
  80. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +1 -0
  81. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +513 -0
  82. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +1 -0
  83. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +1 -0
  84. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +33 -0
  85. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +1 -0
  86. package/dist/commands/lambda/__tests__/instrument.test.d.ts +1 -0
  87. package/dist/commands/lambda/__tests__/instrument.test.js +1511 -0
  88. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -0
  89. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +1 -0
  90. package/dist/commands/lambda/__tests__/loggroup.test.js +340 -0
  91. package/dist/commands/lambda/__tests__/loggroup.test.js.map +1 -0
  92. package/dist/commands/lambda/__tests__/prompt.test.d.ts +1 -0
  93. package/dist/commands/lambda/__tests__/prompt.test.js +206 -0
  94. package/dist/commands/lambda/__tests__/prompt.test.js.map +1 -0
  95. package/dist/commands/lambda/__tests__/tags.test.d.ts +1 -0
  96. package/dist/commands/lambda/__tests__/tags.test.js +305 -0
  97. package/dist/commands/lambda/__tests__/tags.test.js.map +1 -0
  98. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +1 -0
  99. package/dist/commands/lambda/__tests__/uninstrument.test.js +722 -0
  100. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +1 -0
  101. package/dist/commands/measure/__tests__/measure.test.d.ts +1 -0
  102. package/dist/commands/measure/__tests__/measure.test.js +110 -0
  103. package/dist/commands/measure/__tests__/measure.test.js.map +1 -0
  104. package/dist/commands/react-native/__tests__/codepush.test.d.ts +1 -0
  105. package/dist/commands/react-native/__tests__/codepush.test.js +161 -0
  106. package/dist/commands/react-native/__tests__/codepush.test.js.map +1 -0
  107. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +1 -0
  108. package/dist/commands/react-native/__tests__/interfaces.test.js +33 -0
  109. package/dist/commands/react-native/__tests__/interfaces.test.js.map +1 -0
  110. package/dist/commands/react-native/__tests__/upload.test.d.ts +1 -0
  111. package/dist/commands/react-native/__tests__/upload.test.js +238 -0
  112. package/dist/commands/react-native/__tests__/upload.test.js.map +1 -0
  113. package/dist/commands/react-native/__tests__/utils.test.d.ts +1 -0
  114. package/dist/commands/react-native/__tests__/utils.test.js +27 -0
  115. package/dist/commands/react-native/__tests__/utils.test.js.map +1 -0
  116. package/dist/commands/react-native/__tests__/xcode.test.d.ts +1 -0
  117. package/dist/commands/react-native/__tests__/xcode.test.js +465 -0
  118. package/dist/commands/react-native/__tests__/xcode.test.js.map +1 -0
  119. package/dist/commands/sarif/__tests__/upload.test.d.ts +1 -0
  120. package/dist/commands/sarif/__tests__/upload.test.js +228 -0
  121. package/dist/commands/sarif/__tests__/upload.test.js.map +1 -0
  122. package/dist/commands/sarif/upload.js +2 -2
  123. package/dist/commands/sarif/upload.js.map +1 -1
  124. package/dist/commands/sbom/__tests__/payload.test.d.ts +1 -0
  125. package/dist/commands/sbom/__tests__/payload.test.js +262 -0
  126. package/dist/commands/sbom/__tests__/payload.test.js.map +1 -0
  127. package/dist/commands/sbom/__tests__/validation.test.d.ts +1 -0
  128. package/dist/commands/sbom/__tests__/validation.test.js +41 -0
  129. package/dist/commands/sbom/__tests__/validation.test.js.map +1 -0
  130. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +1 -0
  131. package/dist/commands/sourcemaps/__tests__/upload.test.js +270 -0
  132. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +1 -0
  133. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +1 -0
  134. package/dist/commands/sourcemaps/__tests__/utils.test.js +31 -0
  135. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +1 -0
  136. package/dist/commands/sourcemaps/upload.js +2 -2
  137. package/dist/commands/sourcemaps/upload.js.map +1 -1
  138. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +1 -0
  139. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +192 -0
  140. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +1 -0
  141. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +6 -0
  142. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +45 -0
  143. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +1 -0
  144. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +5 -0
  145. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +19 -0
  146. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +1 -0
  147. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +1 -0
  148. package/dist/commands/stepfunctions/__tests__/helpers.test.js +205 -0
  149. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +1 -0
  150. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +1 -0
  151. package/dist/commands/stepfunctions/__tests__/instrument.test.js +431 -0
  152. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +1 -0
  153. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +1 -0
  154. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +166 -0
  155. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +1 -0
  156. package/dist/commands/synthetics/__tests__/api.test.d.ts +1 -0
  157. package/dist/commands/synthetics/__tests__/api.test.js +422 -0
  158. package/dist/commands/synthetics/__tests__/api.test.js.map +1 -0
  159. package/dist/commands/synthetics/__tests__/cli.test.d.ts +1 -0
  160. package/dist/commands/synthetics/__tests__/cli.test.js +1325 -0
  161. package/dist/commands/synthetics/__tests__/cli.test.js.map +1 -0
  162. package/dist/commands/synthetics/__tests__/fixtures.d.ts +149 -0
  163. package/dist/commands/synthetics/__tests__/fixtures.js +507 -0
  164. package/dist/commands/synthetics/__tests__/fixtures.js.map +1 -0
  165. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +1 -0
  166. package/dist/commands/synthetics/__tests__/mobile.test.js +376 -0
  167. package/dist/commands/synthetics/__tests__/mobile.test.js.map +1 -0
  168. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +1 -0
  169. package/dist/commands/synthetics/__tests__/reporters/default.test.js +354 -0
  170. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +1 -0
  171. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +1 -0
  172. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +353 -0
  173. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +1 -0
  174. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +1 -0
  175. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +232 -0
  176. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +1 -0
  177. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +1 -0
  178. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +735 -0
  179. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +1 -0
  180. package/dist/commands/synthetics/__tests__/test.test.d.ts +1 -0
  181. package/dist/commands/synthetics/__tests__/test.test.js +33 -0
  182. package/dist/commands/synthetics/__tests__/test.test.js.map +1 -0
  183. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +1 -0
  184. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +21 -0
  185. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +1 -0
  186. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +1 -0
  187. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +80 -0
  188. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +1 -0
  189. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +1 -0
  190. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +109 -0
  191. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +1 -0
  192. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +1 -0
  193. package/dist/commands/synthetics/__tests__/utils/internal.test.js +186 -0
  194. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +1 -0
  195. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +1 -0
  196. package/dist/commands/synthetics/__tests__/utils/public.test.js +1526 -0
  197. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +1 -0
  198. package/dist/commands/synthetics/api.d.ts +1 -1
  199. package/dist/commands/synthetics/api.js +10 -5
  200. package/dist/commands/synthetics/api.js.map +1 -1
  201. package/dist/commands/synthetics/run-tests-command.d.ts +1 -0
  202. package/dist/commands/synthetics/run-tests-command.js +3 -2
  203. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  204. package/dist/commands/synthetics/run-tests-lib.js +0 -4
  205. package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
  206. package/dist/commands/synthetics/test.js +9 -1
  207. package/dist/commands/synthetics/test.js.map +1 -1
  208. package/dist/commands/synthetics/utils/public.js +3 -3
  209. package/dist/commands/synthetics/utils/public.js.map +1 -1
  210. package/dist/commands/tag/__tests__/tag.test.d.ts +1 -0
  211. package/dist/commands/tag/__tests__/tag.test.js +75 -0
  212. package/dist/commands/tag/__tests__/tag.test.js.map +1 -0
  213. package/dist/commands/trace/__tests__/trace.test.d.ts +1 -0
  214. package/dist/commands/trace/__tests__/trace.test.js +145 -0
  215. package/dist/commands/trace/__tests__/trace.test.js.map +1 -0
  216. package/dist/commands/trace/trace.js +1 -1
  217. package/dist/commands/trace/trace.js.map +1 -1
  218. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +1 -0
  219. package/dist/commands/unity-symbols/__tests__/upload.test.js +369 -0
  220. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +1 -0
  221. package/dist/commands/unity-symbols/upload.js +2 -2
  222. package/dist/commands/unity-symbols/upload.js.map +1 -1
  223. package/dist/helpers/__tests__/app.test.d.ts +1 -0
  224. package/dist/helpers/__tests__/app.test.js +31 -0
  225. package/dist/helpers/__tests__/app.test.js.map +1 -0
  226. package/dist/helpers/__tests__/ci.test.d.ts +1 -0
  227. package/dist/helpers/__tests__/ci.test.js +252 -0
  228. package/dist/helpers/__tests__/ci.test.js.map +1 -0
  229. package/dist/helpers/__tests__/fixtures.d.ts +33 -0
  230. package/dist/helpers/__tests__/fixtures.js +71 -0
  231. package/dist/helpers/__tests__/fixtures.js.map +1 -0
  232. package/dist/helpers/__tests__/flare.test.d.ts +1 -0
  233. package/dist/helpers/__tests__/flare.test.js +226 -0
  234. package/dist/helpers/__tests__/flare.test.js.map +1 -0
  235. package/dist/helpers/__tests__/fs.test.d.ts +1 -0
  236. package/dist/helpers/__tests__/fs.test.js +189 -0
  237. package/dist/helpers/__tests__/fs.test.js.map +1 -0
  238. package/dist/helpers/__tests__/plist.test.d.ts +1 -0
  239. package/dist/helpers/__tests__/plist.test.js +43 -0
  240. package/dist/helpers/__tests__/plist.test.js.map +1 -0
  241. package/dist/helpers/__tests__/prompt.test.d.ts +1 -0
  242. package/dist/helpers/__tests__/prompt.test.js +71 -0
  243. package/dist/helpers/__tests__/prompt.test.js.map +1 -0
  244. package/dist/helpers/__tests__/retry.test.d.ts +1 -0
  245. package/dist/helpers/__tests__/retry.test.js +99 -0
  246. package/dist/helpers/__tests__/retry.test.js.map +1 -0
  247. package/dist/helpers/__tests__/tags.test.d.ts +1 -0
  248. package/dist/helpers/__tests__/tags.test.js +71 -0
  249. package/dist/helpers/__tests__/tags.test.js.map +1 -0
  250. package/dist/helpers/__tests__/upload.test.d.ts +1 -0
  251. package/dist/helpers/__tests__/upload.test.js +231 -0
  252. package/dist/helpers/__tests__/upload.test.js.map +1 -0
  253. package/dist/helpers/__tests__/user-provided-git.test.d.ts +1 -0
  254. package/dist/helpers/__tests__/user-provided-git.test.js +119 -0
  255. package/dist/helpers/__tests__/user-provided-git.test.js.map +1 -0
  256. package/dist/helpers/__tests__/utils.test.d.ts +1 -0
  257. package/dist/helpers/__tests__/utils.test.js +429 -0
  258. package/dist/helpers/__tests__/utils.test.js.map +1 -0
  259. package/dist/helpers/__tests__/validation.test.d.ts +1 -0
  260. package/dist/helpers/__tests__/validation.test.js +25 -0
  261. package/dist/helpers/__tests__/validation.test.js.map +1 -0
  262. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +1 -0
  263. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +103 -0
  264. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +1 -0
  265. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +1 -0
  266. package/dist/helpers/git/__tests__/format-git-span-data.test.js +121 -0
  267. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +1 -0
  268. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +1 -0
  269. package/dist/helpers/git/__tests__/get-git-data.test.js +72 -0
  270. package/dist/helpers/git/__tests__/get-git-data.test.js.map +1 -0
  271. package/package.json +4 -6
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,422 @@
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
+ const http_1 = require("http");
36
+ const axios_1 = __importStar(require("axios"));
37
+ const api_1 = require("../api");
38
+ const errors_1 = require("../errors");
39
+ const interfaces_1 = require("../interfaces");
40
+ const run_tests_command_1 = require("../run-tests-command");
41
+ const utils = __importStar(require("../utils/public"));
42
+ const fixtures_1 = require("./fixtures");
43
+ describe('dd-api', () => {
44
+ const apiConfiguration = {
45
+ apiKey: '123',
46
+ appKey: '123',
47
+ baseIntakeUrl: 'baseIntake',
48
+ baseUnstableUrl: 'baseUnstable',
49
+ baseUrl: 'base',
50
+ proxyOpts: { protocol: 'http' },
51
+ };
52
+ const LOCATION = {
53
+ display_name: 'fake location',
54
+ id: 42,
55
+ is_active: true,
56
+ name: 'fake-loc',
57
+ region: 'fake-region',
58
+ };
59
+ const RESULT_ID = '123';
60
+ const BATCH_ID = 'bid';
61
+ const POLL_RESULTS = {
62
+ results: [
63
+ {
64
+ check: (0, fixtures_1.getApiTest)('abc-def-ghi'),
65
+ result: {},
66
+ resultID: RESULT_ID,
67
+ timestamp: 0,
68
+ },
69
+ ],
70
+ };
71
+ const TRIGGERED_TEST_ID = 'fakeId';
72
+ const TRIGGER_RESULTS = {
73
+ batch_id: BATCH_ID,
74
+ locations: [LOCATION],
75
+ };
76
+ const PRESIGNED_URL_PAYLOAD = {
77
+ url: 'wss://presigned.url',
78
+ };
79
+ test('should get results from api', () => __awaiter(void 0, void 0, void 0, function* () {
80
+ jest.spyOn(axios_1.default, 'create').mockImplementation((() => () => ({ data: POLL_RESULTS })));
81
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
82
+ const results = yield api.pollResults([RESULT_ID]);
83
+ expect(results[0].resultID).toBe(RESULT_ID);
84
+ }));
85
+ test('should trigger tests using api', () => __awaiter(void 0, void 0, void 0, function* () {
86
+ jest.spyOn(axios_1.default, 'create').mockImplementation((() => () => ({ data: TRIGGER_RESULTS })));
87
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
88
+ const { triggerTests } = api;
89
+ const tests = [{ public_id: TRIGGERED_TEST_ID, executionRule: interfaces_1.ExecutionRule.BLOCKING }];
90
+ const { batch_id: batchId } = yield triggerTests({ tests });
91
+ expect(batchId).toBe(BATCH_ID);
92
+ }));
93
+ describe('Retry policy', () => {
94
+ beforeEach(() => {
95
+ jest.useFakeTimers({ doNotFake: ['nextTick'] });
96
+ jest.restoreAllMocks();
97
+ });
98
+ afterEach(() => {
99
+ jest.useRealTimers();
100
+ });
101
+ const MIN_ATTEMPTS = 1;
102
+ const MAX_ATTEMPTS = 4; // `MAX_RETRIES` + 1
103
+ const fastForwardRetries = () => __awaiter(void 0, void 0, void 0, function* () {
104
+ for (let i = 1; i <= MAX_ATTEMPTS - 1; i++) {
105
+ // Skip the `setTimeout` in `await wait(waiter)`.
106
+ jest.runOnlyPendingTimers();
107
+ // Wait for the retry to happen, and for the next `setTimeout`.
108
+ // This is used to flush promises, and requires `nextTick` not to be faked.
109
+ // eslint-disable-next-line @typescript-eslint/unbound-method
110
+ yield new Promise(process.nextTick);
111
+ }
112
+ });
113
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
114
+ const cases = [
115
+ {
116
+ makeApiRequest: () => api.getBatch('batch-id'),
117
+ name: 'get batch',
118
+ shouldBeRetriedOn404: true,
119
+ shouldBeRetriedOn429: true,
120
+ shouldBeRetriedOn5xx: true,
121
+ },
122
+ {
123
+ makeApiRequest: () => api.getMobileApplicationPresignedURLs('applicationId', 1025, fixtures_1.MOBILE_PRESIGNED_UPLOAD_PARTS),
124
+ name: 'get presigned url',
125
+ shouldBeRetriedOn404: false,
126
+ shouldBeRetriedOn429: false,
127
+ shouldBeRetriedOn5xx: true,
128
+ },
129
+ {
130
+ makeApiRequest: () => api.getTunnelPresignedURL(['test-id']),
131
+ name: 'get presigned url',
132
+ shouldBeRetriedOn404: false,
133
+ shouldBeRetriedOn429: false,
134
+ shouldBeRetriedOn5xx: true,
135
+ },
136
+ {
137
+ makeApiRequest: () => api.getTest('public-id'),
138
+ name: 'get test',
139
+ shouldBeRetriedOn404: false,
140
+ shouldBeRetriedOn429: true,
141
+ shouldBeRetriedOn5xx: true,
142
+ },
143
+ {
144
+ makeApiRequest: () => api.pollResults(['result-id']),
145
+ name: 'poll results',
146
+ shouldBeRetriedOn404: true,
147
+ shouldBeRetriedOn429: true,
148
+ shouldBeRetriedOn5xx: true,
149
+ },
150
+ {
151
+ makeApiRequest: () => api.searchTests('search query'),
152
+ name: 'search tests',
153
+ shouldBeRetriedOn404: false,
154
+ shouldBeRetriedOn429: false,
155
+ shouldBeRetriedOn5xx: true,
156
+ },
157
+ {
158
+ makeApiRequest: () => api.triggerTests({ tests: [{ public_id: '123-456-789', executionRule: interfaces_1.ExecutionRule.NON_BLOCKING }] }),
159
+ name: 'trigger tests',
160
+ shouldBeRetriedOn404: false,
161
+ shouldBeRetriedOn429: true,
162
+ shouldBeRetriedOn5xx: true,
163
+ },
164
+ {
165
+ makeApiRequest: () => api.getSyntheticsOrgSettings(),
166
+ name: 'get settings',
167
+ shouldBeRetriedOn404: false,
168
+ shouldBeRetriedOn429: false,
169
+ shouldBeRetriedOn5xx: true,
170
+ },
171
+ ];
172
+ test.each(cases)('should retry "$name" request (HTTP 404: $shouldBeRetriedOn404, HTTP 429: $shouldBeRetriedOn429, HTTP 5xx: $shouldBeRetriedOn5xx)', ({ makeApiRequest, shouldBeRetriedOn404, shouldBeRetriedOn429, shouldBeRetriedOn5xx }) => __awaiter(void 0, void 0, void 0, function* () {
173
+ const serverError = new axios_1.AxiosError('Server Error');
174
+ const requestMock = jest.fn().mockImplementation(() => {
175
+ throw serverError;
176
+ });
177
+ jest.spyOn(axios_1.default, 'create').mockImplementation((() => requestMock));
178
+ {
179
+ serverError.response = { status: 404 };
180
+ const requestPromise = makeApiRequest();
181
+ yield fastForwardRetries();
182
+ yield expect(requestPromise).rejects.toThrow('Server Error');
183
+ expect(requestMock).toHaveBeenCalledTimes(shouldBeRetriedOn404 ? MAX_ATTEMPTS : MIN_ATTEMPTS);
184
+ }
185
+ requestMock.mockClear();
186
+ {
187
+ serverError.response = { status: 429 };
188
+ const requestPromise = makeApiRequest();
189
+ yield fastForwardRetries();
190
+ yield expect(requestPromise).rejects.toThrow('Server Error');
191
+ expect(requestMock).toHaveBeenCalledTimes(shouldBeRetriedOn429 ? MAX_ATTEMPTS : MIN_ATTEMPTS);
192
+ }
193
+ requestMock.mockClear();
194
+ {
195
+ serverError.response = { status: 502 };
196
+ const requestPromise = makeApiRequest();
197
+ yield fastForwardRetries();
198
+ yield expect(requestPromise).rejects.toThrow('Server Error');
199
+ expect(requestMock).toHaveBeenCalledTimes(shouldBeRetriedOn5xx ? MAX_ATTEMPTS : MIN_ATTEMPTS);
200
+ }
201
+ }));
202
+ test('should retry when socket hangs up', () => __awaiter(void 0, void 0, void 0, function* () {
203
+ jest.spyOn(utils, 'wait').mockImplementation();
204
+ const requestSpy = jest.fn();
205
+ const server = (0, http_1.createServer)((_, res) => {
206
+ var _a;
207
+ // ECONNRESET: socket hang up
208
+ (_a = res.socket) === null || _a === void 0 ? void 0 : _a.destroy();
209
+ requestSpy();
210
+ });
211
+ server.listen();
212
+ const { port } = server.address();
213
+ const localApi = (0, api_1.apiConstructor)(Object.assign(Object.assign({}, apiConfiguration), { baseUrl: `http://127.0.0.1:${port}` }));
214
+ yield expect(localApi.getSyntheticsOrgSettings).rejects.toThrow('socket hang up');
215
+ expect(requestSpy).toHaveBeenCalledTimes(MAX_ATTEMPTS);
216
+ server.close();
217
+ }));
218
+ });
219
+ test('should get a mobile application presigned URL from api', () => __awaiter(void 0, void 0, void 0, function* () {
220
+ const spy = jest
221
+ .spyOn(axios_1.default, 'create')
222
+ .mockImplementation((() => () => ({ data: fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD })));
223
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
224
+ const { getMobileApplicationPresignedURLs } = api;
225
+ const result = yield getMobileApplicationPresignedURLs('applicationId', 1025, fixtures_1.MOBILE_PRESIGNED_UPLOAD_PARTS);
226
+ expect(result).toEqual(fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD);
227
+ spy.mockRestore();
228
+ }));
229
+ test('should get a tunnel presigned URL from api', () => __awaiter(void 0, void 0, void 0, function* () {
230
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => () => ({ data: PRESIGNED_URL_PAYLOAD })));
231
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
232
+ const { getTunnelPresignedURL } = api;
233
+ const { url } = yield getTunnelPresignedURL([TRIGGERED_TEST_ID]);
234
+ expect(url).toEqual(PRESIGNED_URL_PAYLOAD.url);
235
+ spy.mockRestore();
236
+ }));
237
+ test('should upload a mobile application with a presigned URL', () => __awaiter(void 0, void 0, void 0, function* () {
238
+ const mockRequest = jest.fn();
239
+ mockRequest.mockReturnValue({ status: 200, headers: { etag: '"123"' } });
240
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => mockRequest));
241
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
242
+ const { uploadMobileApplicationPart } = api;
243
+ const result = yield uploadMobileApplicationPart(fixtures_1.MOBILE_PRESIGNED_UPLOAD_PARTS, fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD.multipart_presigned_urls_params);
244
+ expect(result).toEqual([
245
+ { ETag: '123', PartNumber: 1 },
246
+ { ETag: '123', PartNumber: 2 },
247
+ ]);
248
+ const callArg = mockRequest.mock.calls[0][0];
249
+ expect(callArg.url).toBe(fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD.multipart_presigned_urls_params.urls[1]);
250
+ expect(mockRequest).toHaveBeenCalledTimes(fixtures_1.MOBILE_PRESIGNED_UPLOAD_PARTS.length);
251
+ spy.mockRestore();
252
+ }));
253
+ test('should return empty ETag when doing azure part upload', () => __awaiter(void 0, void 0, void 0, function* () {
254
+ const mockRequest = jest.fn();
255
+ mockRequest.mockReturnValue({ status: 200, headers: {} });
256
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => mockRequest));
257
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
258
+ const { uploadMobileApplicationPart } = api;
259
+ const urls = {
260
+ 1: 'https://myaccount.blob.core.windows.net/mycontainer/myblob1',
261
+ 2: 'https://myaccount.blob.core.windows.net/mycontainer/myblob2',
262
+ };
263
+ const result = yield uploadMobileApplicationPart(fixtures_1.MOBILE_PRESIGNED_UPLOAD_PARTS, Object.assign(Object.assign({}, fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD.multipart_presigned_urls_params), {
264
+ // override fixture with azure urls
265
+ urls }));
266
+ expect(result).toEqual([
267
+ { ETag: '', PartNumber: 1 },
268
+ { ETag: '', PartNumber: 2 },
269
+ ]);
270
+ const callArg = mockRequest.mock.calls[0][0];
271
+ expect(callArg.url).toBe(urls[1]);
272
+ expect(mockRequest).toHaveBeenCalledTimes(fixtures_1.MOBILE_PRESIGNED_UPLOAD_PARTS.length);
273
+ spy.mockRestore();
274
+ }));
275
+ test('should complete presigned mobile application upload', () => __awaiter(void 0, void 0, void 0, function* () {
276
+ const jobId = 'fake_job_id';
277
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => () => ({ data: { job_id: jobId } })));
278
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
279
+ const { completeMultipartMobileApplicationUpload } = api;
280
+ const appId = 'appId123';
281
+ const partUploadResponses = Object.keys(fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD.multipart_presigned_urls_params.urls).map((partNumber) => ({
282
+ PartNumber: Number(partNumber),
283
+ ETag: 'etag',
284
+ }));
285
+ const result = yield completeMultipartMobileApplicationUpload(appId, fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD.multipart_presigned_urls_params.upload_id, fixtures_1.MOBILE_PRESIGNED_URLS_PAYLOAD.multipart_presigned_urls_params.key, partUploadResponses);
286
+ expect(result).toBe(jobId);
287
+ spy.mockRestore();
288
+ }));
289
+ test('should poll for app upload validation', () => __awaiter(void 0, void 0, void 0, function* () {
290
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => () => ({ data: fixtures_1.APP_UPLOAD_POLL_RESULTS })));
291
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
292
+ const { pollMobileApplicationUploadResponse } = api;
293
+ const jobId = 'jobId';
294
+ const appUploadResult = yield pollMobileApplicationUploadResponse(jobId);
295
+ expect(appUploadResult).toEqual(fixtures_1.APP_UPLOAD_POLL_RESULTS);
296
+ spy.mockRestore();
297
+ }));
298
+ test('should perform search with expected parameters', () => __awaiter(void 0, void 0, void 0, function* () {
299
+ const requestMock = jest.fn(() => ({ status: 200, data: { tests: [] } }));
300
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => requestMock));
301
+ const { searchTests } = (0, api_1.apiConstructor)(apiConfiguration);
302
+ yield expect(searchTests('tag:("test") creator:("Me") ???')).resolves.toEqual({ tests: [] });
303
+ expect(requestMock).toHaveBeenCalledWith(expect.objectContaining({
304
+ params: {
305
+ count: run_tests_command_1.MAX_TESTS_TO_TRIGGER + 1,
306
+ text: 'tag:("test") creator:("Me") ???',
307
+ },
308
+ }));
309
+ spy.mockRestore();
310
+ }));
311
+ test('should receive settings', () => __awaiter(void 0, void 0, void 0, function* () {
312
+ const settings = { onDemandConcurrencyCap: 10 };
313
+ const requestMock = jest.fn(() => ({ status: 200, data: settings }));
314
+ const spy = jest.spyOn(axios_1.default, 'create').mockImplementation((() => requestMock));
315
+ const { getSyntheticsOrgSettings: getSettings } = (0, api_1.apiConstructor)(apiConfiguration);
316
+ yield expect(getSettings()).resolves.toEqual(settings);
317
+ spy.mockRestore();
318
+ }));
319
+ describe('proxy configuration', () => {
320
+ const tests = [{ public_id: '123-456-789', executionRule: interfaces_1.ExecutionRule.NON_BLOCKING }];
321
+ let initialHttpProxyEnv;
322
+ beforeAll(() => {
323
+ initialHttpProxyEnv = process.env.HTTP_PROXY;
324
+ });
325
+ afterAll(() => {
326
+ if (initialHttpProxyEnv !== undefined) {
327
+ process.env.HTTP_PROXY = initialHttpProxyEnv;
328
+ }
329
+ else {
330
+ delete process.env.HTTP_PROXY;
331
+ }
332
+ });
333
+ beforeEach(() => {
334
+ delete process.env.HTTP_PROXY;
335
+ });
336
+ test('use proxy defined in configuration', () => __awaiter(void 0, void 0, void 0, function* () {
337
+ const { close: proxyClose, config: proxyOpts, calls } = (0, fixtures_1.getSyntheticsProxy)();
338
+ try {
339
+ const proxyApiConfiguration = Object.assign(Object.assign({}, apiConfiguration), { proxyOpts });
340
+ const api = (0, api_1.apiConstructor)(proxyApiConfiguration);
341
+ const searchOutput = yield api.searchTests('tag:test');
342
+ expect(searchOutput).toEqual(fixtures_1.mockSearchResponse);
343
+ expect(calls.search).toHaveBeenCalled();
344
+ const tunnelOutput = yield api.getTunnelPresignedURL(['123-456-789']);
345
+ expect(tunnelOutput).toEqual({ url: expect.stringContaining('ws://127.0.0.1:') });
346
+ expect(calls.presignedUrl).toHaveBeenCalled();
347
+ const testOutput = yield api.getTest('123-456-789');
348
+ expect(testOutput).toEqual((0, fixtures_1.getApiTest)('123-456-789'));
349
+ expect(calls.get).toHaveBeenCalled();
350
+ const triggerOutput = yield api.triggerTests({ tests });
351
+ expect(triggerOutput).toEqual(fixtures_1.mockTestTriggerResponse);
352
+ expect(calls.trigger).toHaveBeenCalledWith({ tests });
353
+ }
354
+ finally {
355
+ yield proxyClose();
356
+ }
357
+ }));
358
+ test('use proxy defined in environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
359
+ const { close: proxyClose, config: proxyOpts, calls } = (0, fixtures_1.getSyntheticsProxy)();
360
+ process.env.HTTP_PROXY = `http://localhost:${proxyOpts.port}`;
361
+ try {
362
+ const api = (0, api_1.apiConstructor)(apiConfiguration);
363
+ const searchOutput = yield api.searchTests('tag:test');
364
+ expect(searchOutput).toEqual(fixtures_1.mockSearchResponse);
365
+ expect(calls.search).toHaveBeenCalled();
366
+ const triggerOutput = yield api.triggerTests({ tests });
367
+ expect(triggerOutput).toEqual(fixtures_1.mockTestTriggerResponse);
368
+ expect(calls.trigger).toHaveBeenCalledWith({ tests });
369
+ }
370
+ finally {
371
+ yield proxyClose();
372
+ }
373
+ }));
374
+ test('use configuration proxy over environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
375
+ const { close: proxyClose, config: proxyOpts, calls } = (0, fixtures_1.getSyntheticsProxy)();
376
+ process.env.HTTP_PROXY = 'http://inexistanthost/';
377
+ try {
378
+ const proxyApiConfiguration = Object.assign(Object.assign({}, apiConfiguration), { proxyOpts });
379
+ const api = (0, api_1.apiConstructor)(proxyApiConfiguration);
380
+ const triggerOutput = yield api.triggerTests({ tests });
381
+ expect(triggerOutput).toEqual(fixtures_1.mockTestTriggerResponse);
382
+ expect(calls.trigger).toHaveBeenCalledWith({ tests });
383
+ }
384
+ finally {
385
+ yield proxyClose();
386
+ }
387
+ }));
388
+ });
389
+ });
390
+ describe('getApiHelper', () => {
391
+ beforeEach(() => {
392
+ jest.restoreAllMocks();
393
+ });
394
+ test('should throw an error if API or Application key are undefined', () => __awaiter(void 0, void 0, void 0, function* () {
395
+ process.env = {};
396
+ expect(() => (0, api_1.getApiHelper)(fixtures_1.ciConfig)).toThrow(new errors_1.CriticalError('MISSING_APP_KEY', 'App key is required'));
397
+ expect(() => (0, api_1.getApiHelper)(Object.assign(Object.assign({}, fixtures_1.ciConfig), { appKey: 'fakeappkey' }))).toThrow(new errors_1.CriticalError('MISSING_API_KEY', 'API key is required'));
398
+ }));
399
+ });
400
+ describe('formatBackendErrors', () => {
401
+ test('backend error - no error', () => {
402
+ const backendError = (0, fixtures_1.getAxiosHttpError)(500, { errors: [] });
403
+ expect((0, api_1.formatBackendErrors)(backendError)).toBe('error querying https://app.datadoghq.com/example');
404
+ });
405
+ test('backend error - single error', () => {
406
+ const backendError = (0, fixtures_1.getAxiosHttpError)(500, { errors: ['single error'] });
407
+ expect((0, api_1.formatBackendErrors)(backendError)).toBe('query on https://app.datadoghq.com/example returned: "single error"');
408
+ });
409
+ test('backend error - multiple errors', () => {
410
+ const backendError = (0, fixtures_1.getAxiosHttpError)(500, { errors: ['error 1', 'error 2'] });
411
+ expect((0, api_1.formatBackendErrors)(backendError)).toBe('query on https://app.datadoghq.com/example returned:\n - error 1\n - error 2');
412
+ });
413
+ test('not a backend error', () => {
414
+ const requestError = (0, fixtures_1.getAxiosHttpError)(403, { message: 'Forbidden' });
415
+ expect((0, api_1.formatBackendErrors)(requestError)).toBe('could not query https://app.datadoghq.com/example\nForbidden');
416
+ });
417
+ test('missing scope error', () => {
418
+ const requestError = (0, fixtures_1.getAxiosHttpError)(403, { errors: ['Forbidden', 'Failed permission authorization checks'] });
419
+ expect((0, api_1.formatBackendErrors)(requestError, 'synthetics_default_settings_read')).toBe('query on https://app.datadoghq.com/example returned:\n - Forbidden\n - Failed permission authorization checks\nIs the App key granted the synthetics_default_settings_read scope?');
420
+ });
421
+ });
422
+ //# sourceMappingURL=api.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/__tests__/api.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};