@datadog/datadog-ci 2.40.1 → 2.40.3

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 (255) 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 +103 -0
  21. package/dist/commands/dsyms/__tests__/utils.test.js.map +1 -0
  22. package/dist/commands/dsyms/utils.js +4 -2
  23. package/dist/commands/dsyms/utils.js.map +1 -1
  24. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +1 -0
  25. package/dist/commands/elf-symbols/__tests__/elf.test.js +813 -0
  26. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +1 -0
  27. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +1 -0
  28. package/dist/commands/elf-symbols/__tests__/upload.test.js +249 -0
  29. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +1 -0
  30. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +1 -0
  31. package/dist/commands/flutter-symbols/__tests__/upload.test.js +617 -0
  32. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +1 -0
  33. package/dist/commands/gate/__tests__/evaluate.test.d.ts +1 -0
  34. package/dist/commands/gate/__tests__/evaluate.test.js +398 -0
  35. package/dist/commands/gate/__tests__/evaluate.test.js.map +1 -0
  36. package/dist/commands/gate/__tests__/scope.test.d.ts +1 -0
  37. package/dist/commands/gate/__tests__/scope.test.js +29 -0
  38. package/dist/commands/gate/__tests__/scope.test.js.map +1 -0
  39. package/dist/commands/git-metadata/__tests__/git.test.d.ts +1 -0
  40. package/dist/commands/git-metadata/__tests__/git.test.js +132 -0
  41. package/dist/commands/git-metadata/__tests__/git.test.js.map +1 -0
  42. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +1 -0
  43. package/dist/commands/git-metadata/__tests__/gitdb.test.js +1386 -0
  44. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +1 -0
  45. package/dist/commands/git-metadata/__tests__/library.test.d.ts +1 -0
  46. package/dist/commands/git-metadata/__tests__/library.test.js +118 -0
  47. package/dist/commands/git-metadata/__tests__/library.test.js.map +1 -0
  48. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +1 -0
  49. package/dist/commands/git-metadata/__tests__/upload.test.js +52 -0
  50. package/dist/commands/git-metadata/__tests__/upload.test.js.map +1 -0
  51. package/dist/commands/junit/__tests__/id.test.d.ts +1 -0
  52. package/dist/commands/junit/__tests__/id.test.js +24 -0
  53. package/dist/commands/junit/__tests__/id.test.js.map +1 -0
  54. package/dist/commands/junit/__tests__/upload.test.d.ts +1 -0
  55. package/dist/commands/junit/__tests__/upload.test.js +495 -0
  56. package/dist/commands/junit/__tests__/upload.test.js.map +1 -0
  57. package/dist/commands/lambda/__tests__/fixtures.d.ts +51 -0
  58. package/dist/commands/lambda/__tests__/fixtures.js +146 -0
  59. package/dist/commands/lambda/__tests__/fixtures.js.map +1 -0
  60. package/dist/commands/lambda/__tests__/flare.test.d.ts +1 -0
  61. package/dist/commands/lambda/__tests__/flare.test.js +730 -0
  62. package/dist/commands/lambda/__tests__/flare.test.js.map +1 -0
  63. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +1 -0
  64. package/dist/commands/lambda/__tests__/functions/commons.test.js +791 -0
  65. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +1 -0
  66. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +1 -0
  67. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +386 -0
  68. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +1 -0
  69. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +1 -0
  70. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +721 -0
  71. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +1 -0
  72. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +1 -0
  73. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +513 -0
  74. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +1 -0
  75. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +1 -0
  76. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +33 -0
  77. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +1 -0
  78. package/dist/commands/lambda/__tests__/instrument.test.d.ts +1 -0
  79. package/dist/commands/lambda/__tests__/instrument.test.js +1511 -0
  80. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -0
  81. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +1 -0
  82. package/dist/commands/lambda/__tests__/loggroup.test.js +340 -0
  83. package/dist/commands/lambda/__tests__/loggroup.test.js.map +1 -0
  84. package/dist/commands/lambda/__tests__/prompt.test.d.ts +1 -0
  85. package/dist/commands/lambda/__tests__/prompt.test.js +206 -0
  86. package/dist/commands/lambda/__tests__/prompt.test.js.map +1 -0
  87. package/dist/commands/lambda/__tests__/tags.test.d.ts +1 -0
  88. package/dist/commands/lambda/__tests__/tags.test.js +305 -0
  89. package/dist/commands/lambda/__tests__/tags.test.js.map +1 -0
  90. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +1 -0
  91. package/dist/commands/lambda/__tests__/uninstrument.test.js +722 -0
  92. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +1 -0
  93. package/dist/commands/measure/__tests__/measure.test.d.ts +1 -0
  94. package/dist/commands/measure/__tests__/measure.test.js +110 -0
  95. package/dist/commands/measure/__tests__/measure.test.js.map +1 -0
  96. package/dist/commands/react-native/__tests__/codepush.test.d.ts +1 -0
  97. package/dist/commands/react-native/__tests__/codepush.test.js +161 -0
  98. package/dist/commands/react-native/__tests__/codepush.test.js.map +1 -0
  99. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +1 -0
  100. package/dist/commands/react-native/__tests__/interfaces.test.js +33 -0
  101. package/dist/commands/react-native/__tests__/interfaces.test.js.map +1 -0
  102. package/dist/commands/react-native/__tests__/upload.test.d.ts +1 -0
  103. package/dist/commands/react-native/__tests__/upload.test.js +238 -0
  104. package/dist/commands/react-native/__tests__/upload.test.js.map +1 -0
  105. package/dist/commands/react-native/__tests__/utils.test.d.ts +1 -0
  106. package/dist/commands/react-native/__tests__/utils.test.js +27 -0
  107. package/dist/commands/react-native/__tests__/utils.test.js.map +1 -0
  108. package/dist/commands/react-native/__tests__/xcode.test.d.ts +1 -0
  109. package/dist/commands/react-native/__tests__/xcode.test.js +465 -0
  110. package/dist/commands/react-native/__tests__/xcode.test.js.map +1 -0
  111. package/dist/commands/sarif/__tests__/upload.test.d.ts +1 -0
  112. package/dist/commands/sarif/__tests__/upload.test.js +228 -0
  113. package/dist/commands/sarif/__tests__/upload.test.js.map +1 -0
  114. package/dist/commands/sbom/__tests__/payload.test.d.ts +1 -0
  115. package/dist/commands/sbom/__tests__/payload.test.js +262 -0
  116. package/dist/commands/sbom/__tests__/payload.test.js.map +1 -0
  117. package/dist/commands/sbom/__tests__/validation.test.d.ts +1 -0
  118. package/dist/commands/sbom/__tests__/validation.test.js +41 -0
  119. package/dist/commands/sbom/__tests__/validation.test.js.map +1 -0
  120. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +1 -0
  121. package/dist/commands/sourcemaps/__tests__/upload.test.js +270 -0
  122. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +1 -0
  123. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +1 -0
  124. package/dist/commands/sourcemaps/__tests__/utils.test.js +31 -0
  125. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +1 -0
  126. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +1 -0
  127. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +192 -0
  128. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +1 -0
  129. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +6 -0
  130. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +45 -0
  131. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +1 -0
  132. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +5 -0
  133. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +19 -0
  134. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +1 -0
  135. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +1 -0
  136. package/dist/commands/stepfunctions/__tests__/helpers.test.js +205 -0
  137. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +1 -0
  138. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +1 -0
  139. package/dist/commands/stepfunctions/__tests__/instrument.test.js +431 -0
  140. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +1 -0
  141. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +1 -0
  142. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +166 -0
  143. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +1 -0
  144. package/dist/commands/synthetics/__tests__/api.test.d.ts +1 -0
  145. package/dist/commands/synthetics/__tests__/api.test.js +422 -0
  146. package/dist/commands/synthetics/__tests__/api.test.js.map +1 -0
  147. package/dist/commands/synthetics/__tests__/cli.test.d.ts +1 -0
  148. package/dist/commands/synthetics/__tests__/cli.test.js +1325 -0
  149. package/dist/commands/synthetics/__tests__/cli.test.js.map +1 -0
  150. package/dist/commands/synthetics/__tests__/fixtures.d.ts +149 -0
  151. package/dist/commands/synthetics/__tests__/fixtures.js +507 -0
  152. package/dist/commands/synthetics/__tests__/fixtures.js.map +1 -0
  153. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +1 -0
  154. package/dist/commands/synthetics/__tests__/mobile.test.js +376 -0
  155. package/dist/commands/synthetics/__tests__/mobile.test.js.map +1 -0
  156. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +1 -0
  157. package/dist/commands/synthetics/__tests__/reporters/default.test.js +354 -0
  158. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +1 -0
  159. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +1 -0
  160. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +353 -0
  161. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +1 -0
  162. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +1 -0
  163. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +232 -0
  164. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +1 -0
  165. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +1 -0
  166. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +735 -0
  167. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +1 -0
  168. package/dist/commands/synthetics/__tests__/test.test.d.ts +1 -0
  169. package/dist/commands/synthetics/__tests__/test.test.js +33 -0
  170. package/dist/commands/synthetics/__tests__/test.test.js.map +1 -0
  171. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +1 -0
  172. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +21 -0
  173. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +1 -0
  174. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +1 -0
  175. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +80 -0
  176. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +1 -0
  177. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +1 -0
  178. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +109 -0
  179. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +1 -0
  180. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +1 -0
  181. package/dist/commands/synthetics/__tests__/utils/internal.test.js +186 -0
  182. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +1 -0
  183. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +1 -0
  184. package/dist/commands/synthetics/__tests__/utils/public.test.js +1526 -0
  185. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +1 -0
  186. package/dist/commands/synthetics/api.d.ts +1 -1
  187. package/dist/commands/synthetics/api.js +10 -5
  188. package/dist/commands/synthetics/api.js.map +1 -1
  189. package/dist/commands/synthetics/run-tests-command.d.ts +1 -0
  190. package/dist/commands/synthetics/run-tests-command.js +3 -2
  191. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  192. package/dist/commands/synthetics/run-tests-lib.js +0 -4
  193. package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
  194. package/dist/commands/synthetics/test.js +9 -1
  195. package/dist/commands/synthetics/test.js.map +1 -1
  196. package/dist/commands/synthetics/utils/public.js +1 -1
  197. package/dist/commands/synthetics/utils/public.js.map +1 -1
  198. package/dist/commands/tag/__tests__/tag.test.d.ts +1 -0
  199. package/dist/commands/tag/__tests__/tag.test.js +75 -0
  200. package/dist/commands/tag/__tests__/tag.test.js.map +1 -0
  201. package/dist/commands/trace/__tests__/trace.test.d.ts +1 -0
  202. package/dist/commands/trace/__tests__/trace.test.js +145 -0
  203. package/dist/commands/trace/__tests__/trace.test.js.map +1 -0
  204. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +1 -0
  205. package/dist/commands/unity-symbols/__tests__/upload.test.js +369 -0
  206. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +1 -0
  207. package/dist/helpers/__tests__/app.test.d.ts +1 -0
  208. package/dist/helpers/__tests__/app.test.js +31 -0
  209. package/dist/helpers/__tests__/app.test.js.map +1 -0
  210. package/dist/helpers/__tests__/ci.test.d.ts +1 -0
  211. package/dist/helpers/__tests__/ci.test.js +252 -0
  212. package/dist/helpers/__tests__/ci.test.js.map +1 -0
  213. package/dist/helpers/__tests__/fixtures.d.ts +33 -0
  214. package/dist/helpers/__tests__/fixtures.js +71 -0
  215. package/dist/helpers/__tests__/fixtures.js.map +1 -0
  216. package/dist/helpers/__tests__/flare.test.d.ts +1 -0
  217. package/dist/helpers/__tests__/flare.test.js +226 -0
  218. package/dist/helpers/__tests__/flare.test.js.map +1 -0
  219. package/dist/helpers/__tests__/fs.test.d.ts +1 -0
  220. package/dist/helpers/__tests__/fs.test.js +189 -0
  221. package/dist/helpers/__tests__/fs.test.js.map +1 -0
  222. package/dist/helpers/__tests__/plist.test.d.ts +1 -0
  223. package/dist/helpers/__tests__/plist.test.js +43 -0
  224. package/dist/helpers/__tests__/plist.test.js.map +1 -0
  225. package/dist/helpers/__tests__/prompt.test.d.ts +1 -0
  226. package/dist/helpers/__tests__/prompt.test.js +71 -0
  227. package/dist/helpers/__tests__/prompt.test.js.map +1 -0
  228. package/dist/helpers/__tests__/retry.test.d.ts +1 -0
  229. package/dist/helpers/__tests__/retry.test.js +99 -0
  230. package/dist/helpers/__tests__/retry.test.js.map +1 -0
  231. package/dist/helpers/__tests__/tags.test.d.ts +1 -0
  232. package/dist/helpers/__tests__/tags.test.js +71 -0
  233. package/dist/helpers/__tests__/tags.test.js.map +1 -0
  234. package/dist/helpers/__tests__/upload.test.d.ts +1 -0
  235. package/dist/helpers/__tests__/upload.test.js +231 -0
  236. package/dist/helpers/__tests__/upload.test.js.map +1 -0
  237. package/dist/helpers/__tests__/user-provided-git.test.d.ts +1 -0
  238. package/dist/helpers/__tests__/user-provided-git.test.js +119 -0
  239. package/dist/helpers/__tests__/user-provided-git.test.js.map +1 -0
  240. package/dist/helpers/__tests__/utils.test.d.ts +1 -0
  241. package/dist/helpers/__tests__/utils.test.js +429 -0
  242. package/dist/helpers/__tests__/utils.test.js.map +1 -0
  243. package/dist/helpers/__tests__/validation.test.d.ts +1 -0
  244. package/dist/helpers/__tests__/validation.test.js +25 -0
  245. package/dist/helpers/__tests__/validation.test.js.map +1 -0
  246. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +1 -0
  247. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +103 -0
  248. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +1 -0
  249. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +1 -0
  250. package/dist/helpers/git/__tests__/format-git-span-data.test.js +121 -0
  251. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +1 -0
  252. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +1 -0
  253. package/dist/helpers/git/__tests__/get-git-data.test.js +72 -0
  254. package/dist/helpers/git/__tests__/get-git-data.test.js.map +1 -0
  255. package/package.json +5 -7
@@ -0,0 +1,495 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const os_1 = __importDefault(require("os"));
16
+ const advanced_1 = require("clipanion/lib/advanced");
17
+ const fixtures_1 = require("../../../helpers/__tests__/fixtures");
18
+ const id_1 = __importDefault(require("../id"));
19
+ const renderer_1 = require("../renderer");
20
+ const upload_1 = require("../upload");
21
+ jest.mock('../id', () => jest.fn());
22
+ const makeCli = () => {
23
+ const cli = new advanced_1.Cli();
24
+ cli.register(upload_1.UploadJUnitXMLCommand);
25
+ return cli;
26
+ };
27
+ describe('upload', () => {
28
+ describe('getApiHelper', () => {
29
+ test('should throw an error if API key is undefined', () => {
30
+ process.env = {};
31
+ const write = jest.fn();
32
+ const command = new upload_1.UploadJUnitXMLCommand();
33
+ command.context = { stdout: { write } };
34
+ expect(command['getApiHelper'].bind(command)).toThrow('API key is missing');
35
+ expect(write.mock.calls[0][0]).toContain('DD_API_KEY');
36
+ });
37
+ });
38
+ describe('getMatchingJUnitXMLFiles', () => {
39
+ test('should read all xml files and reject invalid ones', () => __awaiter(void 0, void 0, void 0, function* () {
40
+ const context = (0, fixtures_1.createMockContext)();
41
+ const command = new upload_1.UploadJUnitXMLCommand();
42
+ const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
43
+ basePaths: ['./src/commands/junit/__tests__/fixtures'],
44
+ config: {},
45
+ context,
46
+ service: 'service',
47
+ }, {}, {}, {}, {}, {});
48
+ expect(firstFile).toMatchObject({
49
+ xmlPath: './src/commands/junit/__tests__/fixtures/go-report.xml',
50
+ });
51
+ expect(secondFile).toMatchObject({
52
+ xmlPath: './src/commands/junit/__tests__/fixtures/java-report.xml',
53
+ });
54
+ const output = context.stdout.toString();
55
+ expect(output).toContain((0, renderer_1.renderInvalidFile)('./src/commands/junit/__tests__/fixtures/empty.xml', 'Start tag expected.'));
56
+ expect(output).toContain((0, renderer_1.renderInvalidFile)('./src/commands/junit/__tests__/fixtures/invalid.xml', 'Neither <testsuites> nor <testsuite> are the root tag.'));
57
+ }));
58
+ test('should allow single files', () => __awaiter(void 0, void 0, void 0, function* () {
59
+ const context = (0, fixtures_1.createMockContext)();
60
+ const command = new upload_1.UploadJUnitXMLCommand();
61
+ const files = yield command['getMatchingJUnitXMLFiles'].call({
62
+ basePaths: ['./src/commands/junit/__tests__/fixtures/go-report.xml'],
63
+ config: {},
64
+ context,
65
+ service: 'service',
66
+ }, {}, {}, {}, {}, {});
67
+ expect(files.length).toEqual(1);
68
+ expect(files[0]).toMatchObject({
69
+ xmlPath: './src/commands/junit/__tests__/fixtures/go-report.xml',
70
+ });
71
+ }));
72
+ test('should not fail for invalid single files', () => __awaiter(void 0, void 0, void 0, function* () {
73
+ const context = (0, fixtures_1.createMockContext)();
74
+ const command = new upload_1.UploadJUnitXMLCommand();
75
+ const files = yield command['getMatchingJUnitXMLFiles'].call({
76
+ basePaths: ['./src/commands/junit/__tests__/fixtures/does-not-exist.xml'],
77
+ config: {},
78
+ context,
79
+ service: 'service',
80
+ }, {}, {}, {}, {}, {});
81
+ expect(files.length).toEqual(0);
82
+ }));
83
+ test('should allow folder and single unit paths', () => __awaiter(void 0, void 0, void 0, function* () {
84
+ const context = (0, fixtures_1.createMockContext)();
85
+ const command = new upload_1.UploadJUnitXMLCommand();
86
+ const [firstFile, secondFile, thirdFile] = yield command['getMatchingJUnitXMLFiles'].call({
87
+ basePaths: [
88
+ './src/commands/junit/__tests__/fixtures',
89
+ './src/commands/junit/__tests__/fixtures/subfolder/js-report.xml',
90
+ ],
91
+ config: {},
92
+ context,
93
+ service: 'service',
94
+ }, {}, {}, {}, {}, {});
95
+ expect(firstFile).toMatchObject({
96
+ xmlPath: './src/commands/junit/__tests__/fixtures/go-report.xml',
97
+ });
98
+ expect(secondFile).toMatchObject({
99
+ xmlPath: './src/commands/junit/__tests__/fixtures/java-report.xml',
100
+ });
101
+ expect(thirdFile).toMatchObject({
102
+ xmlPath: './src/commands/junit/__tests__/fixtures/subfolder/js-report.xml',
103
+ });
104
+ }));
105
+ test('should allow folders with extensions', () => __awaiter(void 0, void 0, void 0, function* () {
106
+ const context = (0, fixtures_1.createMockContext)();
107
+ const command = new upload_1.UploadJUnitXMLCommand();
108
+ const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
109
+ basePaths: ['./src/commands/junit/__tests__/fixtures/junit.xml'],
110
+ config: {},
111
+ context,
112
+ service: 'service',
113
+ }, {}, {}, {}, {}, {});
114
+ expect(firstFile).toMatchObject({
115
+ xmlPath: './src/commands/junit/__tests__/fixtures/junit.xml/valid-report-2.xml',
116
+ });
117
+ expect(secondFile).toMatchObject({
118
+ xmlPath: './src/commands/junit/__tests__/fixtures/junit.xml/valid-report.xml',
119
+ });
120
+ }));
121
+ test('should not have repeated files', () => __awaiter(void 0, void 0, void 0, function* () {
122
+ const context = (0, fixtures_1.createMockContext)();
123
+ const command = new upload_1.UploadJUnitXMLCommand();
124
+ const files = yield command['getMatchingJUnitXMLFiles'].call({
125
+ basePaths: [
126
+ './src/commands/junit/__tests__/fixtures',
127
+ './src/commands/junit/__tests__/fixtures/go-report.xml',
128
+ ],
129
+ config: {},
130
+ context,
131
+ service: 'service',
132
+ }, {}, {}, {}, {}, {});
133
+ expect(files.length).toEqual(2);
134
+ }));
135
+ test('should set hostname', () => __awaiter(void 0, void 0, void 0, function* () {
136
+ const context = (0, fixtures_1.createMockContext)();
137
+ const command = new upload_1.UploadJUnitXMLCommand();
138
+ const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
139
+ basePaths: ['./src/commands/junit/__tests__/fixtures'],
140
+ config: {},
141
+ context,
142
+ service: 'service',
143
+ }, {}, {}, {}, {}, {});
144
+ expect(firstFile.hostname).toEqual(os_1.default.hostname());
145
+ expect(secondFile.hostname).toEqual(os_1.default.hostname());
146
+ }));
147
+ test('should set logsEnabled for each file', () => __awaiter(void 0, void 0, void 0, function* () {
148
+ process.env.DD_CIVISIBILITY_LOGS_ENABLED = 'true';
149
+ const context = (0, fixtures_1.createMockContext)();
150
+ const command = new upload_1.UploadJUnitXMLCommand();
151
+ const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
152
+ basePaths: ['./src/commands/junit/__tests__/fixtures'],
153
+ config: {},
154
+ context,
155
+ logs: true,
156
+ service: 'service',
157
+ }, {}, {}, {}, {}, {});
158
+ expect(firstFile.logsEnabled).toBe(true);
159
+ expect(secondFile.logsEnabled).toBe(true);
160
+ }));
161
+ test('should show different error on no test report', () => __awaiter(void 0, void 0, void 0, function* () {
162
+ process.env.DD_CIVISIBILITY_LOGS_ENABLED = 'true';
163
+ const context = (0, fixtures_1.createMockContext)();
164
+ const command = new upload_1.UploadJUnitXMLCommand();
165
+ yield command['getMatchingJUnitXMLFiles'].call({
166
+ basePaths: ['./src/commands/junit/__tests__/fixtures/subfolder/invalid-no-tests.xml'],
167
+ config: {},
168
+ context,
169
+ logs: true,
170
+ service: 'service',
171
+ }, {}, {}, {}, {}, {});
172
+ const output = context.stdout.toString();
173
+ expect(output).toContain((0, renderer_1.renderInvalidFile)('./src/commands/junit/__tests__/fixtures/subfolder/invalid-no-tests.xml', 'The junit report file is empty, there are no <testcase> elements.'));
174
+ }));
175
+ test('should fetch nested folders', () => __awaiter(void 0, void 0, void 0, function* () {
176
+ const context = (0, fixtures_1.createMockContext)();
177
+ const command = new upload_1.UploadJUnitXMLCommand();
178
+ const files = yield command['getMatchingJUnitXMLFiles'].call({
179
+ basePaths: ['**/junit/**/*.xml'],
180
+ config: {},
181
+ context,
182
+ service: 'service',
183
+ }, {}, {}, {}, {}, {});
184
+ const fileNames = files.map((file) => file.xmlPath);
185
+ expect(fileNames).toEqual([
186
+ 'src/commands/junit/__tests__/fixtures/go-report.xml',
187
+ 'src/commands/junit/__tests__/fixtures/java-report.xml',
188
+ 'src/commands/junit/__tests__/fixtures/junit.xml/valid-report-2.xml',
189
+ 'src/commands/junit/__tests__/fixtures/junit.xml/valid-report.xml',
190
+ 'src/commands/junit/__tests__/fixtures/subfolder/js-report.xml',
191
+ ]);
192
+ }));
193
+ test('should fetch nested folders and ignore non xml files', () => __awaiter(void 0, void 0, void 0, function* () {
194
+ const context = (0, fixtures_1.createMockContext)();
195
+ const command = new upload_1.UploadJUnitXMLCommand();
196
+ const files = yield command['getMatchingJUnitXMLFiles'].call({
197
+ basePaths: ['**/junit/**'],
198
+ config: {},
199
+ context,
200
+ service: 'service',
201
+ }, {}, {}, {}, {}, {});
202
+ const fileNames = files.map((file) => file.xmlPath);
203
+ expect(fileNames).toEqual([
204
+ 'src/commands/junit/__tests__/fixtures/go-report.xml',
205
+ 'src/commands/junit/__tests__/fixtures/java-report.xml',
206
+ 'src/commands/junit/__tests__/fixtures/junit.xml/valid-report-2.xml',
207
+ 'src/commands/junit/__tests__/fixtures/junit.xml/valid-report.xml',
208
+ 'src/commands/junit/__tests__/fixtures/subfolder/js-report.xml',
209
+ ]);
210
+ }));
211
+ });
212
+ describe('getSpanTags', () => {
213
+ test('should parse DD_ENV environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
214
+ process.env.DD_ENV = 'ci';
215
+ const context = (0, fixtures_1.createMockContext)();
216
+ const command = new upload_1.UploadJUnitXMLCommand();
217
+ const spanTags = yield command['getSpanTags'].call({
218
+ config: {
219
+ env: process.env.DD_ENV,
220
+ },
221
+ context,
222
+ });
223
+ expect(spanTags).toMatchObject({
224
+ env: 'ci',
225
+ });
226
+ }));
227
+ });
228
+ describe('parseCustomTags', () => {
229
+ test('should parse tags argument', () => __awaiter(void 0, void 0, void 0, function* () {
230
+ const context = (0, fixtures_1.createMockContext)();
231
+ const command = new upload_1.UploadJUnitXMLCommand();
232
+ const spanTags = command['getCustomTags'].call({
233
+ config: {},
234
+ context,
235
+ tags: ['key1:value1', 'key2:value2'],
236
+ });
237
+ expect(spanTags).toMatchObject({
238
+ key1: 'value1',
239
+ key2: 'value2',
240
+ });
241
+ }));
242
+ test('should parse DD_TAGS environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
243
+ process.env.DD_TAGS = 'key1:https://google.com,key2:value2';
244
+ const context = (0, fixtures_1.createMockContext)();
245
+ const command = new upload_1.UploadJUnitXMLCommand();
246
+ const spanTags = command['getCustomTags'].call({
247
+ config: {
248
+ envVarTags: process.env.DD_TAGS,
249
+ },
250
+ context,
251
+ });
252
+ expect(spanTags).toMatchObject({
253
+ key1: 'https://google.com',
254
+ key2: 'value2',
255
+ });
256
+ }));
257
+ test('should parse metrics argument', () => __awaiter(void 0, void 0, void 0, function* () {
258
+ const context = (0, fixtures_1.createMockContext)();
259
+ const stdoutWriteSpy = jest.spyOn(context.stdout, 'write');
260
+ const command = new upload_1.UploadJUnitXMLCommand();
261
+ const spanTags = command['getCustomMeasures'].call({
262
+ config: {},
263
+ context,
264
+ metrics: ['key1:10', 'key2:20'],
265
+ });
266
+ expect(stdoutWriteSpy).toHaveBeenCalledWith('⚠️ The "--metrics" option is deprecated. Please use the "--measures" option instead.\n');
267
+ expect(spanTags).toMatchObject({
268
+ key1: 10,
269
+ key2: 20,
270
+ });
271
+ }));
272
+ test('should parse measures argument', () => __awaiter(void 0, void 0, void 0, function* () {
273
+ const context = (0, fixtures_1.createMockContext)();
274
+ const command = new upload_1.UploadJUnitXMLCommand();
275
+ const spanTags = command['getCustomMeasures'].call({
276
+ config: {},
277
+ context,
278
+ measures: ['key1:10', 'key2:20'],
279
+ });
280
+ expect(spanTags).toMatchObject({
281
+ key1: 10,
282
+ key2: 20,
283
+ });
284
+ }));
285
+ test('should parse DD_METRICS environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
286
+ process.env.DD_METRICS = 'key1:321,key2:123,key3:321.1,key4:abc,key5:-12.1';
287
+ const context = (0, fixtures_1.createMockContext)();
288
+ const stdoutWriteSpy = jest.spyOn(context.stdout, 'write');
289
+ const command = new upload_1.UploadJUnitXMLCommand();
290
+ const spanTags = command['getCustomMeasures'].call({
291
+ config: {
292
+ envVarMetrics: process.env.DD_METRICS,
293
+ },
294
+ context,
295
+ });
296
+ expect(stdoutWriteSpy).toHaveBeenCalledWith('⚠️ The "DD_METRICS" environment variable is deprecated. Please use the "DD_MEASURES" environment variable instead.\n');
297
+ expect(spanTags).toMatchObject({
298
+ key1: 321,
299
+ key2: 123,
300
+ key3: 321.1,
301
+ key5: -12.1,
302
+ });
303
+ }));
304
+ test('should parse DD_MEASURES environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
305
+ process.env.DD_MEASURES = 'key1:321,key2:123,key3:321.1,key4:abc,key5:-12.1';
306
+ const context = (0, fixtures_1.createMockContext)();
307
+ const command = new upload_1.UploadJUnitXMLCommand();
308
+ const spanTags = command['getCustomMeasures'].call({
309
+ config: {
310
+ envVarMeasures: process.env.DD_MEASURES,
311
+ },
312
+ context,
313
+ });
314
+ expect(spanTags).toMatchObject({
315
+ key1: 321,
316
+ key2: 123,
317
+ key3: 321.1,
318
+ key5: -12.1,
319
+ });
320
+ }));
321
+ test('should parse report tags argument', () => __awaiter(void 0, void 0, void 0, function* () {
322
+ const context = (0, fixtures_1.createMockContext)();
323
+ const command = new upload_1.UploadJUnitXMLCommand();
324
+ const spanTags = command['getReportTags'].call({
325
+ config: {},
326
+ context,
327
+ reportTags: ['key1:value1', 'key2:value2'],
328
+ });
329
+ expect(spanTags).toMatchObject({
330
+ key1: 'value1',
331
+ key2: 'value2',
332
+ });
333
+ }));
334
+ test('should parse report metrics argument', () => __awaiter(void 0, void 0, void 0, function* () {
335
+ const context = (0, fixtures_1.createMockContext)();
336
+ const stdoutWriteSpy = jest.spyOn(context.stdout, 'write');
337
+ const command = new upload_1.UploadJUnitXMLCommand();
338
+ const spanTags = command['getReportMeasures'].call({
339
+ config: {},
340
+ context,
341
+ reportMetrics: ['key1:20', 'key2:30'],
342
+ });
343
+ expect(stdoutWriteSpy).toHaveBeenCalledWith('⚠️ The "--report-metrics" option is deprecated. Please use the "--report-measures" option instead.\n');
344
+ expect(spanTags).toMatchObject({
345
+ key1: 20,
346
+ key2: 30,
347
+ });
348
+ }));
349
+ test('should parse report measures argument', () => __awaiter(void 0, void 0, void 0, function* () {
350
+ const context = (0, fixtures_1.createMockContext)();
351
+ const command = new upload_1.UploadJUnitXMLCommand();
352
+ const spanTags = command['getReportMeasures'].call({
353
+ config: {},
354
+ context,
355
+ reportMeasures: ['key1:20', 'key2:30'],
356
+ });
357
+ expect(spanTags).toMatchObject({
358
+ key1: 20,
359
+ key2: 30,
360
+ });
361
+ }));
362
+ });
363
+ describe('parseXPathTags', () => {
364
+ test('should parse xpath assigments', () => __awaiter(void 0, void 0, void 0, function* () {
365
+ const context = (0, fixtures_1.createMockContext)();
366
+ const command = new upload_1.UploadJUnitXMLCommand();
367
+ const xPathTags = command['parseXPathTags'].call({
368
+ basePaths: ['./src/commands/junit/__tests__/fixtures'],
369
+ config: {},
370
+ context,
371
+ service: 'service',
372
+ }, ['test.suite=/testcase/@classname', "custom_tag=/testcase/..//property[@name='property-name']"]);
373
+ expect(xPathTags).toMatchObject({
374
+ 'test.suite': '/testcase/@classname',
375
+ custom_tag: "/testcase/..//property[@name='property-name']",
376
+ });
377
+ }));
378
+ test('should alert of invalid values', () => __awaiter(void 0, void 0, void 0, function* () {
379
+ const context = (0, fixtures_1.createMockContext)();
380
+ const command = new upload_1.UploadJUnitXMLCommand();
381
+ command['parseXPathTags'].call({
382
+ basePaths: ['./src/commands/junit/__tests__/fixtures'],
383
+ config: {},
384
+ context,
385
+ service: 'service',
386
+ }, ['test.suite=/testcase/@classname', 'invalid']);
387
+ const errOutput = context.stderr.toString().split(os_1.default.EOL);
388
+ expect(errOutput[0]).toContain('Invalid xpath');
389
+ }));
390
+ });
391
+ });
392
+ describe('execute', () => {
393
+ const runCLI = (extraArgs) => __awaiter(void 0, void 0, void 0, function* () {
394
+ const cli = makeCli();
395
+ const context = (0, fixtures_1.createMockContext)();
396
+ process.env = { DD_API_KEY: 'PLACEHOLDER' };
397
+ const code = yield cli.run(['junit', 'upload', '--service', 'test-service', '--dry-run', '--logs', ...extraArgs], context);
398
+ return { context, code };
399
+ });
400
+ test('relative path with double dots', () => __awaiter(void 0, void 0, void 0, function* () {
401
+ const { context, code } = yield runCLI(['./src/commands/junit/__tests__/doesnotexist/../fixtures']);
402
+ const output = context.stdout.toString().split(os_1.default.EOL);
403
+ expect(code).toBe(0);
404
+ checkConsoleOutput(output, {
405
+ basePaths: ['src/commands/junit/__tests__/fixtures'],
406
+ concurrency: 20,
407
+ service: 'test-service',
408
+ });
409
+ }));
410
+ test('multiple paths', () => __awaiter(void 0, void 0, void 0, function* () {
411
+ const { context, code } = yield runCLI(['./src/commands/junit/first/', './src/commands/junit/second/']);
412
+ const output = context.stdout.toString().split(os_1.default.EOL);
413
+ expect(code).toBe(0);
414
+ checkConsoleOutput(output, {
415
+ basePaths: ['src/commands/junit/first/', 'src/commands/junit/second/'],
416
+ concurrency: 20,
417
+ service: 'test-service',
418
+ });
419
+ }));
420
+ test('absolute path', () => __awaiter(void 0, void 0, void 0, function* () {
421
+ const { context, code } = yield runCLI([process.cwd() + '/src/commands/junit/__tests__/fixtures']);
422
+ const output = context.stdout.toString().split(os_1.default.EOL);
423
+ expect(code).toBe(0);
424
+ checkConsoleOutput(output, {
425
+ basePaths: [`${process.cwd()}/src/commands/junit/__tests__/fixtures`],
426
+ concurrency: 20,
427
+ service: 'test-service',
428
+ });
429
+ }));
430
+ test('single file', () => __awaiter(void 0, void 0, void 0, function* () {
431
+ const { context, code } = yield runCLI([process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml']);
432
+ const output = context.stdout.toString().split(os_1.default.EOL);
433
+ const path = `${process.cwd()}/src/commands/junit/__tests__/fixtures/single_file.xml`;
434
+ expect(code).toBe(0);
435
+ expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD JUNIT XML');
436
+ expect(output[1]).toContain('Starting upload with concurrency 20.');
437
+ expect(output[2]).toContain(`Will upload jUnit XML file ${path}`);
438
+ expect(output[3]).toContain('service: test-service');
439
+ }));
440
+ test('with git metadata without argument (default value is true)', () => __awaiter(void 0, void 0, void 0, function* () {
441
+ const { context, code } = yield runCLI([
442
+ '--verbose',
443
+ process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml',
444
+ ]);
445
+ const output = context.stdout.toString().split(os_1.default.EOL);
446
+ expect(id_1.default).toHaveBeenCalled();
447
+ expect(code).toBe(0);
448
+ expect(output[5]).toContain('Syncing git metadata');
449
+ }));
450
+ test('without git metadata (with argument)', () => __awaiter(void 0, void 0, void 0, function* () {
451
+ const { context, code } = yield runCLI([
452
+ '--verbose',
453
+ '--skip-git-metadata-upload',
454
+ process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml',
455
+ ]);
456
+ const output = context.stdout.toString().split(os_1.default.EOL);
457
+ expect(id_1.default).not.toHaveBeenCalled();
458
+ expect(code).toBe(0);
459
+ expect(output[5]).toContain('Not syncing git metadata (skip git upload flag detected)');
460
+ }));
461
+ test('without git metadata (with argument set to 1)', () => __awaiter(void 0, void 0, void 0, function* () {
462
+ const { context, code } = yield runCLI([
463
+ '--verbose',
464
+ '--skip-git-metadata-upload=1',
465
+ process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml',
466
+ ]);
467
+ const output = context.stdout.toString().split(os_1.default.EOL);
468
+ expect(id_1.default).not.toHaveBeenCalled();
469
+ expect(code).toBe(0);
470
+ expect(output[5]).toContain('Not syncing git metadata (skip git upload flag detected)');
471
+ }));
472
+ test('with git metadata (with argument set to 0)', () => __awaiter(void 0, void 0, void 0, function* () {
473
+ const { context, code } = yield runCLI([
474
+ '--skip-git-metadata-upload=0',
475
+ process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml',
476
+ ]);
477
+ const output = context.stdout.toString().split(os_1.default.EOL);
478
+ expect(code).toBe(0);
479
+ expect(output[5]).toContain('Syncing git metadata');
480
+ }));
481
+ test('id headers are added when git metadata is uploaded', () => __awaiter(void 0, void 0, void 0, function* () {
482
+ yield runCLI([
483
+ '--skip-git-metadata-upload=0',
484
+ process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml',
485
+ ]);
486
+ expect(id_1.default).toHaveBeenCalled();
487
+ }), 10000000);
488
+ });
489
+ const checkConsoleOutput = (output, expected) => {
490
+ expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD JUNIT XML');
491
+ expect(output[1]).toContain(`Starting upload with concurrency ${expected.concurrency}.`);
492
+ expect(output[2]).toContain(`Will look for jUnit XML files in ${expected.basePaths.join(', ')}`);
493
+ expect(output[3]).toContain(`service: ${expected.service}`);
494
+ };
495
+ //# sourceMappingURL=upload.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/junit/__tests__/upload.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { DescribeLogGroupsResponse, DescribeSubscriptionFiltersResponse, ServiceInputTypes as CWLServiceInputTypes, ServiceOutputTypes as CWLServiceOutputTypes, LogStream, OutputLogEvent } from '@aws-sdk/client-cloudwatch-logs';
2
+ import { FunctionConfiguration as LFunctionConfiguration, ServiceInputTypes as LServiceInputTypes, ServiceOutputTypes as LServiceOutputTypes, ListTagsResponse, GetLayerVersionCommandInput, ServiceInputTypes, ServiceOutputTypes, ListTagsCommandOutput } from '@aws-sdk/client-lambda';
3
+ import { AwsStub } from 'aws-sdk-client-mock';
4
+ import { Cli } from 'clipanion/lib/advanced';
5
+ export declare const makeCli: () => Cli<import("clipanion/lib/advanced").BaseContext>;
6
+ export declare const mockLambdaClientCommands: (lambdaClientMock: AwsStub<LServiceInputTypes, LServiceOutputTypes>) => void;
7
+ export declare const mockLambdaConfigurations: (lambdaClientMock: AwsStub<LServiceInputTypes, LServiceOutputTypes>, functionConfigurations: Record<string, {
8
+ config: LFunctionConfiguration;
9
+ tags?: ListTagsResponse;
10
+ }>) => void;
11
+ export declare const mockLambdaLayers: (lambdaClientMock: AwsStub<LServiceInputTypes, LServiceOutputTypes>, layers: Record<string, GetLayerVersionCommandInput>) => void;
12
+ export declare const mockLogGroups: (cloudWatchLogsClientMock: AwsStub<CWLServiceInputTypes, CWLServiceOutputTypes>, logGroups: Record<string, {
13
+ config: DescribeLogGroupsResponse;
14
+ filters?: DescribeSubscriptionFiltersResponse;
15
+ }>) => void;
16
+ export declare const mockCloudWatchLogsClientCommands: (cloudWatchLogsClientMock: AwsStub<CWLServiceInputTypes, CWLServiceOutputTypes>) => void;
17
+ export declare const mockCloudWatchLogStreams: (cloudWatchLogsClientMock: AwsStub<CWLServiceInputTypes, CWLServiceOutputTypes>, logStreams: LogStream[]) => void;
18
+ export declare const mockCloudWatchLogEvents: (cloudWatchLogsClientMock: AwsStub<CWLServiceInputTypes, CWLServiceOutputTypes>, events: OutputLogEvent[]) => void;
19
+ export declare const mockResourceTags: (lambdaClientMock: AwsStub<ServiceInputTypes, ServiceOutputTypes>, output: ListTagsCommandOutput) => void;
20
+ export declare const mockAwsAccount = "123456789012";
21
+ export declare const mockAwsAccessKeyId = "M0CKAWS4CC3SSK3Y1DSL";
22
+ export declare const mockAwsSecretAccessKey = "M0CKAWSs3cR3T4cC3SSK3YS3rv3rL3SSD4tad0g0";
23
+ export declare const mockAwsCredentials: {
24
+ accessKeyId: string;
25
+ secretAccessKey: string;
26
+ sessionToken: undefined;
27
+ };
28
+ export declare const mockDatadogEnv = "sandbox";
29
+ export declare const mockDatadogService = "testServiceName";
30
+ export declare const mockDatadogVersion = "1.0.0";
31
+ export declare const MOCK_LAMBDA_CONFIG: {
32
+ Environment: {
33
+ Variables: {
34
+ DD_API_KEY: string;
35
+ DD_SITE: string;
36
+ DD_LOG_LEVEL: string;
37
+ };
38
+ };
39
+ FunctionArn: string;
40
+ FunctionName: string;
41
+ Runtime: string;
42
+ CodeSize: number;
43
+ Layers: {
44
+ Arn: string;
45
+ CodeSize: number;
46
+ }[];
47
+ Handler: string;
48
+ Timeout: number;
49
+ MemorySize: number;
50
+ Architectures: string[];
51
+ };