@datadog/datadog-ci 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/LICENSE-3rdparty.csv +1 -0
  2. package/dist/commands/dsyms/upload.js +2 -1
  3. package/dist/commands/dsyms/upload.js.map +1 -1
  4. package/dist/commands/flutter-symbols/helpers.js +1 -1
  5. package/dist/commands/flutter-symbols/helpers.js.map +1 -1
  6. package/dist/commands/flutter-symbols/upload.js +1 -1
  7. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  8. package/dist/commands/lambda/functions/commons.d.ts +4 -2
  9. package/dist/commands/lambda/functions/commons.js +71 -12
  10. package/dist/commands/lambda/functions/commons.js.map +1 -1
  11. package/dist/commands/lambda/instrument.d.ts +2 -0
  12. package/dist/commands/lambda/instrument.js +28 -13
  13. package/dist/commands/lambda/instrument.js.map +1 -1
  14. package/dist/commands/lambda/interfaces.d.ts +6 -0
  15. package/dist/commands/lambda/loggroup.js +7 -1
  16. package/dist/commands/lambda/loggroup.js.map +1 -1
  17. package/dist/commands/lambda/renderer.d.ts +74 -2
  18. package/dist/commands/lambda/renderer.js +98 -5
  19. package/dist/commands/lambda/renderer.js.map +1 -1
  20. package/dist/commands/lambda/uninstrument.js +14 -18
  21. package/dist/commands/lambda/uninstrument.js.map +1 -1
  22. package/dist/commands/react-native/upload.js +2 -2
  23. package/dist/commands/react-native/upload.js.map +1 -1
  24. package/dist/commands/react-native/xcode.js +5 -0
  25. package/dist/commands/react-native/xcode.js.map +1 -1
  26. package/dist/commands/synthetics/api.d.ts +2 -1
  27. package/dist/commands/synthetics/api.js +7 -0
  28. package/dist/commands/synthetics/api.js.map +1 -1
  29. package/dist/commands/synthetics/command.js +11 -2
  30. package/dist/commands/synthetics/command.js.map +1 -1
  31. package/dist/commands/synthetics/index.d.ts +1 -0
  32. package/dist/commands/synthetics/index.js +3 -1
  33. package/dist/commands/synthetics/index.js.map +1 -1
  34. package/dist/commands/synthetics/interfaces.d.ts +4 -1
  35. package/dist/commands/synthetics/reporters/default.d.ts +3 -2
  36. package/dist/commands/synthetics/reporters/default.js +19 -5
  37. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  38. package/dist/commands/synthetics/reporters/junit.d.ts +2 -2
  39. package/dist/commands/synthetics/reporters/junit.js +1 -1
  40. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  41. package/dist/commands/synthetics/run-test.js +9 -1
  42. package/dist/commands/synthetics/run-test.js.map +1 -1
  43. package/dist/commands/synthetics/utils.d.ts +4 -2
  44. package/dist/commands/synthetics/utils.js +14 -5
  45. package/dist/commands/synthetics/utils.js.map +1 -1
  46. package/dist/helpers/ci.js +27 -29
  47. package/dist/helpers/ci.js.map +1 -1
  48. package/dist/helpers/user-provided-git.js +0 -3
  49. package/dist/helpers/user-provided-git.js.map +1 -1
  50. package/dist/helpers/utils.d.ts +3 -3
  51. package/dist/helpers/utils.js +10 -6
  52. package/dist/helpers/utils.js.map +1 -1
  53. package/package.json +7 -5
  54. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  55. package/dist/commands/dsyms/__tests__/upload.test.js +0 -297
  56. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  57. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  58. package/dist/commands/dsyms/__tests__/utils.test.js +0 -99
  59. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  60. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  61. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -538
  62. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  63. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  64. package/dist/commands/git-metadata/__tests__/git.test.js +0 -148
  65. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  66. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  67. package/dist/commands/git-metadata/__tests__/library.test.js +0 -103
  68. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  69. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  70. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -60
  71. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  72. package/dist/commands/junit/__tests__/api.test.d.ts +0 -1
  73. package/dist/commands/junit/__tests__/api.test.js +0 -9
  74. package/dist/commands/junit/__tests__/api.test.js.map +0 -1
  75. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  76. package/dist/commands/junit/__tests__/upload.test.js +0 -283
  77. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  78. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -49
  79. package/dist/commands/lambda/__tests__/fixtures.js +0 -88
  80. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  81. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  82. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -621
  83. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  84. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  85. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -350
  86. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  87. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  88. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -583
  89. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  90. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  91. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -477
  92. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  93. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  94. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  95. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  96. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  97. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1698
  98. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  99. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  100. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -266
  101. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  102. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  103. package/dist/commands/lambda/__tests__/prompt.test.js +0 -235
  104. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  105. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  106. package/dist/commands/lambda/__tests__/tags.test.js +0 -253
  107. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  108. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  109. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -615
  110. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  111. package/dist/commands/metric/__tests__/metric.test.d.ts +0 -1
  112. package/dist/commands/metric/__tests__/metric.test.js +0 -97
  113. package/dist/commands/metric/__tests__/metric.test.js.map +0 -1
  114. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  115. package/dist/commands/react-native/__tests__/codepush.test.js +0 -153
  116. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  117. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  118. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -52
  119. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  120. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  121. package/dist/commands/react-native/__tests__/upload.test.js +0 -176
  122. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  123. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  124. package/dist/commands/react-native/__tests__/xcode.test.js +0 -417
  125. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  126. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  127. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  128. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  129. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  130. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  131. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  132. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  133. package/dist/commands/synthetics/__tests__/api.test.js +0 -273
  134. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  135. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  136. package/dist/commands/synthetics/__tests__/cli.test.js +0 -391
  137. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  138. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -119
  139. package/dist/commands/synthetics/__tests__/fixtures.js +0 -386
  140. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  141. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  142. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -228
  143. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  144. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  145. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -202
  146. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  147. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  148. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -339
  149. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  150. package/dist/commands/synthetics/__tests__/run-test.test.d.ts +0 -1
  151. package/dist/commands/synthetics/__tests__/run-test.test.js +0 -419
  152. package/dist/commands/synthetics/__tests__/run-test.test.js.map +0 -1
  153. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  154. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  155. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  156. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  157. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  158. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  159. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  160. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -111
  161. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  162. package/dist/commands/synthetics/__tests__/utils.test.d.ts +0 -1
  163. package/dist/commands/synthetics/__tests__/utils.test.js +0 -933
  164. package/dist/commands/synthetics/__tests__/utils.test.js.map +0 -1
  165. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  166. package/dist/commands/tag/__tests__/tag.test.js +0 -77
  167. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  168. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  169. package/dist/commands/trace/__tests__/trace.test.js +0 -64
  170. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  171. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  172. package/dist/helpers/__tests__/ci.test.js +0 -197
  173. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  174. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  175. package/dist/helpers/__tests__/plist.test.js +0 -31
  176. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  177. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  178. package/dist/helpers/__tests__/retry.test.js +0 -99
  179. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  180. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  181. package/dist/helpers/__tests__/tags.test.js +0 -17
  182. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  183. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  184. package/dist/helpers/__tests__/upload.test.js +0 -185
  185. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  186. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  187. package/dist/helpers/__tests__/user-provided-git.test.js +0 -118
  188. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  189. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  190. package/dist/helpers/__tests__/utils.test.js +0 -382
  191. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  192. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  193. package/dist/helpers/__tests__/validation.test.js +0 -21
  194. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  195. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  196. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -106
  197. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  198. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  199. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -67
  200. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  201. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  202. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -60
  203. package/dist/helpers/git/__tests__/get-git-data.test.js.map +0 -1
@@ -1,148 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- const simpleGit = __importStar(require("simple-git"));
32
- const git_1 = require("../git");
33
- const createMockSimpleGit = (conf) => ({
34
- getRemotes: (_) => __awaiter(void 0, void 0, void 0, function* () {
35
- if (conf.remotes === undefined) {
36
- throw Error('Unexpected call to getRemotes');
37
- }
38
- return conf.remotes;
39
- }),
40
- raw: (command) => __awaiter(void 0, void 0, void 0, function* () {
41
- if (command === 'ls-files' && conf.trackedFiles !== undefined) {
42
- return conf.trackedFiles.join('\n') + '\n';
43
- }
44
- throw Error(`Unexpected call to raw(${command})`);
45
- }),
46
- revparse: (_) => __awaiter(void 0, void 0, void 0, function* () {
47
- if (conf.hash === undefined) {
48
- throw Error('Unexpected call to revparse');
49
- }
50
- return conf.hash;
51
- }),
52
- });
53
- describe('git', () => {
54
- describe('gitRemote', () => {
55
- test('should choose the remote named origin', () => __awaiter(void 0, void 0, void 0, function* () {
56
- const mock = createMockSimpleGit({
57
- remotes: [
58
- { name: 'first', refs: { push: 'remote1' } },
59
- { name: 'origin', refs: { push: 'remote2' } },
60
- ],
61
- });
62
- const remote = yield git_1.gitRemote(mock);
63
- expect(remote).toBe('remote2');
64
- }));
65
- test('should choose the first remote', () => __awaiter(void 0, void 0, void 0, function* () {
66
- const mock = createMockSimpleGit({
67
- remotes: [
68
- { name: 'first', refs: { push: 'remote1' } },
69
- { name: 'second', refs: { push: 'remote2' } },
70
- ],
71
- });
72
- const remote = yield git_1.gitRemote(mock);
73
- expect(remote).toBe('remote1');
74
- }));
75
- });
76
- describe('stripCredentials: git protocol', () => {
77
- test('should return the same value', () => {
78
- const input = 'git@github.com:user/project.git';
79
- expect(git_1.stripCredentials(input)).toBe(input);
80
- });
81
- });
82
- describe('stripCredentials: nothing to remove', () => {
83
- test('should return the same value', () => {
84
- const input = 'https://gitlab.com/user/project.git';
85
- expect(git_1.stripCredentials(input)).toBe(input);
86
- });
87
- });
88
- describe('stripCredentials: user:pwd', () => {
89
- test('should return without credentials', () => {
90
- const input = 'https://token:[MASKED]@gitlab.com/user/project.git';
91
- expect(git_1.stripCredentials(input)).toBe('https://gitlab.com/user/project.git');
92
- });
93
- });
94
- describe('stripCredentials: token', () => {
95
- test('should return without credentials', () => {
96
- const input = 'https://token@gitlab.com/user/project.git';
97
- expect(git_1.stripCredentials(input)).toBe('https://gitlab.com/user/project.git');
98
- });
99
- });
100
- describe('getCommitInfo', () => {
101
- test('should return commit info from simple git', () => __awaiter(void 0, void 0, void 0, function* () {
102
- const mock = createMockSimpleGit({
103
- hash: 'abcd',
104
- remotes: [{ name: 'first', refs: { push: 'https://git-repo' } }],
105
- trackedFiles: ['myfile.js'],
106
- });
107
- const commitInfo = yield git_1.getCommitInfo(mock);
108
- expect(commitInfo).toBeDefined();
109
- expect(commitInfo.hash).toBe('abcd');
110
- expect(commitInfo.trackedFiles).toStrictEqual(['myfile.js']);
111
- expect(commitInfo.remote).toBe('https://git-repo/');
112
- }));
113
- test('should return commit info with overridden repo name', () => __awaiter(void 0, void 0, void 0, function* () {
114
- const mock = createMockSimpleGit({
115
- hash: 'abcd',
116
- trackedFiles: ['myfile.js'],
117
- });
118
- const commitInfo = yield git_1.getCommitInfo(mock, 'https://overridden');
119
- expect(commitInfo).toBeDefined();
120
- expect(commitInfo.hash).toBe('abcd');
121
- expect(commitInfo.trackedFiles).toStrictEqual(['myfile.js']);
122
- expect(commitInfo.remote).toBe('https://overridden');
123
- }));
124
- });
125
- describe('newSimpleGit', () => {
126
- test('should throw an error if git is not installed', () => __awaiter(void 0, void 0, void 0, function* () {
127
- jest.spyOn(simpleGit, 'gitP').mockImplementation(() => {
128
- throw Error('gitp error');
129
- });
130
- yield expect(git_1.newSimpleGit()).rejects.toThrow('gitp error');
131
- }));
132
- test('should throw an error if revparse throws an error', () => __awaiter(void 0, void 0, void 0, function* () {
133
- const mock = createMockSimpleGit({});
134
- jest.spyOn(simpleGit, 'gitP').mockReturnValue(mock);
135
- jest.spyOn(mock, 'revparse').mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
136
- throw Error('revparse error');
137
- }));
138
- yield expect(git_1.newSimpleGit()).rejects.toThrow('revparse error');
139
- }));
140
- test('should not throw any errors', () => __awaiter(void 0, void 0, void 0, function* () {
141
- const mock = createMockSimpleGit({});
142
- jest.spyOn(simpleGit, 'gitP').mockReturnValue(mock);
143
- jest.spyOn(mock, 'revparse').mockResolvedValue('1234');
144
- yield expect(git_1.newSimpleGit()).resolves.not.toThrow();
145
- }));
146
- });
147
- });
148
- //# sourceMappingURL=git.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.test.js","sourceRoot":"","sources":["../../../../src/commands/git-metadata/__tests__/git.test.ts"],"names":[],"mappings":"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"}
@@ -1,103 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- const apikey = __importStar(require("../../../helpers/apikey"));
32
- const upload = __importStar(require("../../../helpers/upload"));
33
- const git = __importStar(require("../git"));
34
- const interfaces_1 = require("../interfaces");
35
- const library_1 = require("../library");
36
- describe('library', () => {
37
- describe('isGitRepo', () => {
38
- test('should return false if checkIsRepo fails', () => __awaiter(void 0, void 0, void 0, function* () {
39
- const simpleGitClient = {
40
- checkIsRepo: () => {
41
- throw Error();
42
- },
43
- };
44
- jest.spyOn(git, 'newSimpleGit').mockResolvedValue(simpleGitClient);
45
- yield expect(library_1.isGitRepo()).resolves.toEqual(false);
46
- }));
47
- test('should return false git is not installed', () => __awaiter(void 0, void 0, void 0, function* () {
48
- jest.spyOn(git, 'newSimpleGit').mockImplementation(() => {
49
- throw new Error('git is not installed');
50
- });
51
- yield expect(library_1.isGitRepo()).resolves.toEqual(false);
52
- }));
53
- test('should return true if datadog API key is set, git is installed, and we are in a repo', () => __awaiter(void 0, void 0, void 0, function* () {
54
- const simpleGitClient = { checkIsRepo: () => true };
55
- jest.spyOn(git, 'newSimpleGit').mockResolvedValue(simpleGitClient);
56
- yield expect(library_1.isGitRepo()).resolves.toEqual(true);
57
- }));
58
- });
59
- describe('addSourceCodeIntegration', () => {
60
- test('source code integration fails if simpleGitOrFail throws an exception', () => __awaiter(void 0, void 0, void 0, function* () {
61
- jest.spyOn(git, 'newSimpleGit').mockImplementation(() => {
62
- throw new Error('git is not installed');
63
- });
64
- jest.spyOn(apikey, 'newApiKeyValidator').mockReturnValue({});
65
- yield expect(library_1.uploadGitCommitHash('dummy', 'fake.site')).rejects.toThrowError('git is not installed');
66
- }));
67
- test('source code integration returns the correct hash and url', () => __awaiter(void 0, void 0, void 0, function* () {
68
- const simpleGitClient = { checkIsRepo: () => true };
69
- jest.spyOn(git, 'newSimpleGit').mockResolvedValue(simpleGitClient);
70
- jest.spyOn(git, 'getCommitInfo').mockImplementation((_, repositoryURL) => __awaiter(void 0, void 0, void 0, function* () {
71
- expect(repositoryURL).toEqual(undefined);
72
- return new interfaces_1.CommitInfo('hash', 'url', ['file1', 'file2']);
73
- }));
74
- jest.spyOn(upload, 'upload').mockReturnValue((a, b) => {
75
- {
76
- return new Promise((resolve) => {
77
- resolve(upload.UploadStatus.Success);
78
- });
79
- }
80
- });
81
- jest.spyOn(apikey, 'newApiKeyValidator').mockReturnValue({});
82
- expect(yield library_1.uploadGitCommitHash('dummy', 'fake.site')).toEqual(['url', 'hash']);
83
- }));
84
- test('source code integration returns the correct hash and overriden url', () => __awaiter(void 0, void 0, void 0, function* () {
85
- const simpleGitClient = { checkIsRepo: () => true };
86
- jest.spyOn(git, 'newSimpleGit').mockResolvedValue(simpleGitClient);
87
- jest.spyOn(git, 'getCommitInfo').mockImplementation((_, repositoryURL) => __awaiter(void 0, void 0, void 0, function* () {
88
- expect(repositoryURL).toEqual('customUrl');
89
- return new interfaces_1.CommitInfo('hash', 'customUrl', ['file1', 'file2']);
90
- }));
91
- jest.spyOn(upload, 'upload').mockReturnValue((a, b) => {
92
- {
93
- return new Promise((resolve) => {
94
- resolve(upload.UploadStatus.Success);
95
- });
96
- }
97
- });
98
- jest.spyOn(apikey, 'newApiKeyValidator').mockReturnValue({});
99
- expect(yield library_1.uploadGitCommitHash('dummy', 'fake.site', 'customUrl')).toEqual(['customUrl', 'hash']);
100
- }));
101
- });
102
- });
103
- //# sourceMappingURL=library.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"library.test.js","sourceRoot":"","sources":["../../../../src/commands/git-metadata/__tests__/library.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,60 +0,0 @@
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 chalk_1 = __importDefault(require("chalk"));
17
- const advanced_1 = require("clipanion/lib/advanced");
18
- const upload_1 = require("../upload");
19
- describe('upload', () => {
20
- describe('getApiHelper', () => {
21
- test('should throw an error if API key is undefined', () => __awaiter(void 0, void 0, void 0, function* () {
22
- process.env = {};
23
- const command = new upload_1.UploadCommand();
24
- expect(command['getRequestBuilder'].bind(command)).toThrow(`Missing ${chalk_1.default.bold('DATADOG_API_KEY')} in your environment.`);
25
- }));
26
- });
27
- });
28
- describe('execute', () => {
29
- const runCLI = () => __awaiter(void 0, void 0, void 0, function* () {
30
- const cli = makeCli();
31
- const context = createMockContext();
32
- process.env = { DATADOG_API_KEY: 'PLACEHOLDER' };
33
- const code = yield cli.run(['git-metadata', 'upload', '--dry-run'], context);
34
- return { context, code };
35
- });
36
- test('runCLI', () => __awaiter(void 0, void 0, void 0, function* () {
37
- const { code, context } = yield runCLI();
38
- const output = context.stdout.toString().split(os_1.default.EOL);
39
- output.reverse();
40
- expect(output[1]).toContain('[DRYRUN] Handled');
41
- expect(code).toBe(0);
42
- }));
43
- });
44
- const makeCli = () => {
45
- const cli = new advanced_1.Cli();
46
- cli.register(upload_1.UploadCommand);
47
- return cli;
48
- };
49
- const createMockContext = () => {
50
- let data = '';
51
- return {
52
- stdout: {
53
- toString: () => data,
54
- write: (input) => {
55
- data += input;
56
- },
57
- },
58
- };
59
- };
60
- //# sourceMappingURL=upload.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/git-metadata/__tests__/upload.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAmB;AAEnB,kDAAyB;AACzB,qDAA0C;AAE1C,sCAAuC;AAEvC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC/D,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;YAChB,MAAM,OAAO,GAAG,IAAI,sBAAa,EAAE,CAAA;YAEnC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CACxD,WAAW,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAChE,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,MAAM,OAAO,GAAG,iBAAiB,EAAS,CAAA;QAC1C,OAAO,CAAC,GAAG,GAAG,EAAC,eAAe,EAAE,aAAa,EAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;QAE5E,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAA;IACxB,CAAC,CAAA,CAAA;IAED,IAAI,CAAC,QAAQ,EAAE,GAAS,EAAE;QACxB,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,EAAE,CAAA;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAE,CAAC,GAAG,CAAC,CAAA;QACtD,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,MAAM,GAAG,GAAG,IAAI,cAAG,EAAE,CAAA;IACrB,GAAG,CAAC,QAAQ,CAAC,sBAAa,CAAC,CAAA;IAE3B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,IAAI,GAAG,EAAE,CAAA;IAEb,OAAO;QACL,MAAM,EAAE;YACN,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;YACpB,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE;gBACvB,IAAI,IAAI,KAAK,CAAA;YACf,CAAC;SACF;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const api_1 = require("../api");
4
- describe('getSafeFileName', () => {
5
- test('filters unsafe characters out', () => {
6
- expect(api_1.getSafeFileName('http://gitlab.com/-/pipelines/12345')).toEqual('http___gitlab_com___pipelines_12345');
7
- });
8
- });
9
- //# sourceMappingURL=api.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../../src/commands/junit/__tests__/api.test.ts"],"names":[],"mappings":";;AAAA,gCAAsC;AAEtC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,qBAAe,CAAC,qCAAqC,CAAC,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IAC/G,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,283 +0,0 @@
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 renderer_1 = require("../renderer");
18
- const upload_1 = require("../upload");
19
- const makeCli = () => {
20
- const cli = new advanced_1.Cli();
21
- cli.register(upload_1.UploadJUnitXMLCommand);
22
- return cli;
23
- };
24
- const createMockContext = () => {
25
- let data = '';
26
- return {
27
- stdout: {
28
- toString: () => data,
29
- write: (input) => {
30
- data += input;
31
- },
32
- },
33
- stderr: {
34
- toString: () => data,
35
- write: (input) => {
36
- data += input;
37
- },
38
- },
39
- };
40
- };
41
- describe('upload', () => {
42
- describe('getApiHelper', () => {
43
- test('should throw an error if API key is undefined', () => {
44
- process.env = {};
45
- const write = jest.fn();
46
- const command = new upload_1.UploadJUnitXMLCommand();
47
- command.context = { stdout: { write } };
48
- expect(command['getApiHelper'].bind(command)).toThrow('API key is missing');
49
- expect(write.mock.calls[0][0]).toContain('DATADOG_API_KEY');
50
- });
51
- });
52
- describe('getMatchingJUnitXMLFiles', () => {
53
- test('should read all xml files and reject invalid ones', () => __awaiter(void 0, void 0, void 0, function* () {
54
- const context = createMockContext();
55
- const command = new upload_1.UploadJUnitXMLCommand();
56
- const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
57
- basePaths: ['./src/commands/junit/__tests__/fixtures'],
58
- config: {},
59
- context,
60
- service: 'service',
61
- }, {});
62
- expect(firstFile).toMatchObject({
63
- service: 'service',
64
- xmlPath: './src/commands/junit/__tests__/fixtures/go-report.xml',
65
- });
66
- expect(secondFile).toMatchObject({
67
- service: 'service',
68
- xmlPath: './src/commands/junit/__tests__/fixtures/java-report.xml',
69
- });
70
- const output = context.stdout.toString();
71
- expect(output).toContain(renderer_1.renderInvalidFile('./src/commands/junit/__tests__/fixtures/empty.xml', 'Start tag expected.'));
72
- expect(output).toContain(renderer_1.renderInvalidFile('./src/commands/junit/__tests__/fixtures/invalid.xml', 'Neither <testsuites> nor <testsuite> are the root tag.'));
73
- }));
74
- test('should allow single files', () => __awaiter(void 0, void 0, void 0, function* () {
75
- const context = createMockContext();
76
- const command = new upload_1.UploadJUnitXMLCommand();
77
- const files = yield command['getMatchingJUnitXMLFiles'].call({
78
- basePaths: ['./src/commands/junit/__tests__/fixtures/go-report.xml'],
79
- config: {},
80
- context,
81
- service: 'service',
82
- }, {});
83
- expect(files.length).toEqual(1);
84
- expect(files[0]).toMatchObject({
85
- service: 'service',
86
- xmlPath: './src/commands/junit/__tests__/fixtures/go-report.xml',
87
- });
88
- }));
89
- test('should not fail for invalid single files', () => __awaiter(void 0, void 0, void 0, function* () {
90
- const context = createMockContext();
91
- const command = new upload_1.UploadJUnitXMLCommand();
92
- const files = yield command['getMatchingJUnitXMLFiles'].call({
93
- basePaths: ['./src/commands/junit/__tests__/fixtures/does-not-exist.xml'],
94
- config: {},
95
- context,
96
- service: 'service',
97
- }, {});
98
- expect(files.length).toEqual(0);
99
- }));
100
- test('should allow folder and single unit paths', () => __awaiter(void 0, void 0, void 0, function* () {
101
- const context = createMockContext();
102
- const command = new upload_1.UploadJUnitXMLCommand();
103
- const [firstFile, secondFile, thirdFile] = yield command['getMatchingJUnitXMLFiles'].call({
104
- basePaths: [
105
- './src/commands/junit/__tests__/fixtures',
106
- './src/commands/junit/__tests__/fixtures/subfolder/js-report.xml',
107
- ],
108
- config: {},
109
- context,
110
- service: 'service',
111
- }, {});
112
- expect(firstFile).toMatchObject({
113
- service: 'service',
114
- xmlPath: './src/commands/junit/__tests__/fixtures/go-report.xml',
115
- });
116
- expect(secondFile).toMatchObject({
117
- service: 'service',
118
- xmlPath: './src/commands/junit/__tests__/fixtures/java-report.xml',
119
- });
120
- expect(thirdFile).toMatchObject({
121
- service: 'service',
122
- xmlPath: './src/commands/junit/__tests__/fixtures/subfolder/js-report.xml',
123
- });
124
- }));
125
- test('should not have repeated files', () => __awaiter(void 0, void 0, void 0, function* () {
126
- const context = createMockContext();
127
- const command = new upload_1.UploadJUnitXMLCommand();
128
- const files = yield command['getMatchingJUnitXMLFiles'].call({
129
- basePaths: [
130
- './src/commands/junit/__tests__/fixtures',
131
- './src/commands/junit/__tests__/fixtures/go-report.xml',
132
- ],
133
- config: {},
134
- context,
135
- service: 'service',
136
- }, {});
137
- expect(files.length).toEqual(2);
138
- }));
139
- test('should set hostname', () => __awaiter(void 0, void 0, void 0, function* () {
140
- const context = createMockContext();
141
- const command = new upload_1.UploadJUnitXMLCommand();
142
- const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
143
- basePaths: ['./src/commands/junit/__tests__/fixtures'],
144
- config: {},
145
- context,
146
- service: 'service',
147
- }, {});
148
- expect(firstFile.hostname).toEqual(os_1.default.hostname());
149
- expect(secondFile.hostname).toEqual(os_1.default.hostname());
150
- }));
151
- test('should set logsEnabled for each file', () => __awaiter(void 0, void 0, void 0, function* () {
152
- process.env.DD_CIVISIBILITY_LOGS_ENABLED = 'true';
153
- const context = createMockContext();
154
- const command = new upload_1.UploadJUnitXMLCommand();
155
- const [firstFile, secondFile] = yield command['getMatchingJUnitXMLFiles'].call({
156
- basePaths: ['./src/commands/junit/__tests__/fixtures'],
157
- config: {},
158
- context,
159
- logs: true,
160
- service: 'service',
161
- }, {});
162
- expect(firstFile.logsEnabled).toBe(true);
163
- expect(secondFile.logsEnabled).toBe(true);
164
- }));
165
- });
166
- describe('getSpanTags', () => {
167
- test('should parse DD_TAGS and DD_ENV environment variables', () => __awaiter(void 0, void 0, void 0, function* () {
168
- process.env.DD_TAGS = 'key1:https://google.com,key2:value2';
169
- process.env.DD_ENV = 'ci';
170
- const context = createMockContext();
171
- const command = new upload_1.UploadJUnitXMLCommand();
172
- const spanTags = yield command['getSpanTags'].call({
173
- config: {
174
- env: process.env.DD_ENV,
175
- envVarTags: process.env.DD_TAGS,
176
- },
177
- context,
178
- });
179
- expect(spanTags).toMatchObject({
180
- env: 'ci',
181
- key1: 'https://google.com',
182
- key2: 'value2',
183
- });
184
- }));
185
- test('should parse tags argument', () => __awaiter(void 0, void 0, void 0, function* () {
186
- const context = createMockContext();
187
- const command = new upload_1.UploadJUnitXMLCommand();
188
- const spanTags = yield command['getSpanTags'].call({
189
- config: {},
190
- context,
191
- tags: ['key1:value1', 'key2:value2'],
192
- });
193
- expect(spanTags).toMatchObject({
194
- key1: 'value1',
195
- key2: 'value2',
196
- });
197
- }));
198
- });
199
- describe('parseXPathTags', () => {
200
- test('should parse xpath assigments', () => __awaiter(void 0, void 0, void 0, function* () {
201
- const context = createMockContext();
202
- const command = new upload_1.UploadJUnitXMLCommand();
203
- const xPathTags = command['parseXPathTags'].call({
204
- basePaths: ['./src/commands/junit/__tests__/fixtures'],
205
- config: {},
206
- context,
207
- service: 'service',
208
- }, ['test.suite=/testcase/@classname', "custom_tag=/testcase/..//property[@name='property-name']"]);
209
- expect(xPathTags).toMatchObject({
210
- 'test.suite': '/testcase/@classname',
211
- custom_tag: "/testcase/..//property[@name='property-name']",
212
- });
213
- }));
214
- test('should alert of invalid values', () => __awaiter(void 0, void 0, void 0, function* () {
215
- const context = createMockContext();
216
- const command = new upload_1.UploadJUnitXMLCommand();
217
- command['parseXPathTags'].call({
218
- basePaths: ['./src/commands/junit/__tests__/fixtures'],
219
- config: {},
220
- context,
221
- service: 'service',
222
- }, ['test.suite=/testcase/@classname', 'invalid']);
223
- const errOutput = context.stderr.toString().split(os_1.default.EOL);
224
- expect(errOutput[0]).toContain('Invalid xpath');
225
- }));
226
- });
227
- });
228
- describe('execute', () => {
229
- const runCLI = (paths) => __awaiter(void 0, void 0, void 0, function* () {
230
- const cli = makeCli();
231
- const context = createMockContext();
232
- process.env = { DATADOG_API_KEY: 'PLACEHOLDER' };
233
- const code = yield cli.run(['junit', 'upload', '--service', 'test-service', '--dry-run', '--logs', ...paths], context);
234
- return { context, code };
235
- });
236
- test('relative path with double dots', () => __awaiter(void 0, void 0, void 0, function* () {
237
- const { context, code } = yield runCLI(['./src/commands/junit/__tests__/doesnotexist/../fixtures']);
238
- const output = context.stdout.toString().split(os_1.default.EOL);
239
- expect(code).toBe(0);
240
- checkConsoleOutput(output, {
241
- basePaths: ['src/commands/junit/__tests__/fixtures'],
242
- concurrency: 20,
243
- service: 'test-service',
244
- });
245
- }));
246
- test('multiple paths', () => __awaiter(void 0, void 0, void 0, function* () {
247
- const { context, code } = yield runCLI(['./src/commands/junit/first/', './src/commands/junit/second/']);
248
- const output = context.stdout.toString().split(os_1.default.EOL);
249
- expect(code).toBe(0);
250
- checkConsoleOutput(output, {
251
- basePaths: ['src/commands/junit/first/', 'src/commands/junit/second/'],
252
- concurrency: 20,
253
- service: 'test-service',
254
- });
255
- }));
256
- test('absolute path', () => __awaiter(void 0, void 0, void 0, function* () {
257
- const { context, code } = yield runCLI([process.cwd() + '/src/commands/junit/__tests__/fixtures']);
258
- const output = context.stdout.toString().split(os_1.default.EOL);
259
- expect(code).toBe(0);
260
- checkConsoleOutput(output, {
261
- basePaths: [`${process.cwd()}/src/commands/junit/__tests__/fixtures`],
262
- concurrency: 20,
263
- service: 'test-service',
264
- });
265
- }));
266
- test('single file', () => __awaiter(void 0, void 0, void 0, function* () {
267
- const { context, code } = yield runCLI([process.cwd() + '/src/commands/junit/__tests__/fixtures/single_file.xml']);
268
- const output = context.stdout.toString().split(os_1.default.EOL);
269
- const path = `${process.cwd()}/src/commands/junit/__tests__/fixtures/single_file.xml`;
270
- expect(code).toBe(0);
271
- expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD JUNIT XML');
272
- expect(output[1]).toContain('Starting upload with concurrency 20.');
273
- expect(output[2]).toContain(`Will upload jUnit XML file ${path}`);
274
- expect(output[3]).toContain('service: test-service');
275
- }));
276
- });
277
- const checkConsoleOutput = (output, expected) => {
278
- expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD JUNIT XML');
279
- expect(output[1]).toContain(`Starting upload with concurrency ${expected.concurrency}.`);
280
- expect(output[2]).toContain(`Will look for jUnit XML files in ${expected.basePaths.join(', ')}`);
281
- expect(output[3]).toContain(`service: ${expected.service}`);
282
- };
283
- //# sourceMappingURL=upload.test.js.map