@datadog/datadog-ci 2.4.1 → 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 (185) hide show
  1. package/dist/commands/dsyms/upload.js +2 -1
  2. package/dist/commands/dsyms/upload.js.map +1 -1
  3. package/dist/commands/flutter-symbols/helpers.js +1 -1
  4. package/dist/commands/flutter-symbols/helpers.js.map +1 -1
  5. package/dist/commands/flutter-symbols/upload.js +1 -1
  6. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  7. package/dist/commands/lambda/instrument.js +1 -1
  8. package/dist/commands/lambda/instrument.js.map +1 -1
  9. package/dist/commands/lambda/uninstrument.js +1 -1
  10. package/dist/commands/lambda/uninstrument.js.map +1 -1
  11. package/dist/commands/react-native/upload.js +2 -2
  12. package/dist/commands/react-native/upload.js.map +1 -1
  13. package/dist/commands/react-native/xcode.js +5 -0
  14. package/dist/commands/react-native/xcode.js.map +1 -1
  15. package/dist/commands/synthetics/api.d.ts +2 -1
  16. package/dist/commands/synthetics/api.js +7 -0
  17. package/dist/commands/synthetics/api.js.map +1 -1
  18. package/dist/commands/synthetics/command.js +11 -2
  19. package/dist/commands/synthetics/command.js.map +1 -1
  20. package/dist/commands/synthetics/interfaces.d.ts +4 -1
  21. package/dist/commands/synthetics/reporters/default.d.ts +3 -2
  22. package/dist/commands/synthetics/reporters/default.js +19 -5
  23. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  24. package/dist/commands/synthetics/reporters/junit.d.ts +2 -2
  25. package/dist/commands/synthetics/reporters/junit.js +1 -1
  26. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  27. package/dist/commands/synthetics/run-test.js +9 -1
  28. package/dist/commands/synthetics/run-test.js.map +1 -1
  29. package/dist/commands/synthetics/utils.d.ts +4 -2
  30. package/dist/commands/synthetics/utils.js +14 -5
  31. package/dist/commands/synthetics/utils.js.map +1 -1
  32. package/dist/helpers/utils.d.ts +2 -2
  33. package/dist/helpers/utils.js +9 -5
  34. package/dist/helpers/utils.js.map +1 -1
  35. package/package.json +3 -3
  36. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  37. package/dist/commands/dsyms/__tests__/upload.test.js +0 -297
  38. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  39. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  40. package/dist/commands/dsyms/__tests__/utils.test.js +0 -99
  41. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  42. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  43. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -538
  44. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  45. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  46. package/dist/commands/git-metadata/__tests__/git.test.js +0 -148
  47. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  48. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  49. package/dist/commands/git-metadata/__tests__/library.test.js +0 -103
  50. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  51. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  52. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -60
  53. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  54. package/dist/commands/junit/__tests__/api.test.d.ts +0 -1
  55. package/dist/commands/junit/__tests__/api.test.js +0 -9
  56. package/dist/commands/junit/__tests__/api.test.js.map +0 -1
  57. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  58. package/dist/commands/junit/__tests__/upload.test.js +0 -283
  59. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  60. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -49
  61. package/dist/commands/lambda/__tests__/fixtures.js +0 -88
  62. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  63. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  64. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -716
  65. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  66. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  67. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -350
  68. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  69. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  70. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -583
  71. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  72. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  73. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -477
  74. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  75. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  76. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  77. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  78. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  79. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1478
  80. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  81. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  82. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -332
  83. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  84. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  85. package/dist/commands/lambda/__tests__/prompt.test.js +0 -235
  86. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  87. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  88. package/dist/commands/lambda/__tests__/tags.test.js +0 -253
  89. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  90. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  91. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -679
  92. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  93. package/dist/commands/metric/__tests__/metric.test.d.ts +0 -1
  94. package/dist/commands/metric/__tests__/metric.test.js +0 -97
  95. package/dist/commands/metric/__tests__/metric.test.js.map +0 -1
  96. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  97. package/dist/commands/react-native/__tests__/codepush.test.js +0 -153
  98. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  99. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  100. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -52
  101. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  102. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  103. package/dist/commands/react-native/__tests__/upload.test.js +0 -176
  104. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  105. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  106. package/dist/commands/react-native/__tests__/xcode.test.js +0 -417
  107. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  108. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  109. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  110. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  111. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  112. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  113. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  114. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  115. package/dist/commands/synthetics/__tests__/api.test.js +0 -273
  116. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  117. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  118. package/dist/commands/synthetics/__tests__/cli.test.js +0 -391
  119. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  120. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -119
  121. package/dist/commands/synthetics/__tests__/fixtures.js +0 -386
  122. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  123. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  124. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -228
  125. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  126. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  127. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -202
  128. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  129. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  130. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -339
  131. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  132. package/dist/commands/synthetics/__tests__/run-test.test.d.ts +0 -1
  133. package/dist/commands/synthetics/__tests__/run-test.test.js +0 -419
  134. package/dist/commands/synthetics/__tests__/run-test.test.js.map +0 -1
  135. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  136. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  137. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  138. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  139. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  140. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  141. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  142. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -111
  143. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  144. package/dist/commands/synthetics/__tests__/utils.test.d.ts +0 -1
  145. package/dist/commands/synthetics/__tests__/utils.test.js +0 -933
  146. package/dist/commands/synthetics/__tests__/utils.test.js.map +0 -1
  147. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  148. package/dist/commands/tag/__tests__/tag.test.js +0 -77
  149. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  150. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  151. package/dist/commands/trace/__tests__/trace.test.js +0 -64
  152. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  153. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  154. package/dist/helpers/__tests__/ci.test.js +0 -197
  155. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  156. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  157. package/dist/helpers/__tests__/plist.test.js +0 -31
  158. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  159. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  160. package/dist/helpers/__tests__/retry.test.js +0 -99
  161. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  162. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  163. package/dist/helpers/__tests__/tags.test.js +0 -17
  164. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  165. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  166. package/dist/helpers/__tests__/upload.test.js +0 -185
  167. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  168. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  169. package/dist/helpers/__tests__/user-provided-git.test.js +0 -119
  170. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  171. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  172. package/dist/helpers/__tests__/utils.test.js +0 -382
  173. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  174. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  175. package/dist/helpers/__tests__/validation.test.js +0 -21
  176. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  177. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  178. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -106
  179. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  180. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  181. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -67
  182. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  183. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  184. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -60
  185. 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