@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,97 +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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const advanced_1 = require("clipanion/lib/advanced");
13
- const metric_1 = require("../metric");
14
- const makeCLI = () => {
15
- const cli = new advanced_1.Cli();
16
- cli.register(metric_1.MetricCommand);
17
- return cli;
18
- };
19
- const createMockContext = () => {
20
- let out = '';
21
- let err = '';
22
- return {
23
- stderr: {
24
- toString: () => err,
25
- write: (input) => {
26
- err += input;
27
- },
28
- },
29
- stdout: {
30
- toString: () => out,
31
- write: (input) => {
32
- out += input;
33
- },
34
- },
35
- };
36
- };
37
- describe('parse metrics', () => {
38
- test('should fail if metrics key value pair does not contain a :', () => {
39
- expect(() => {
40
- metric_1.parseMetrics(['notkeyvalue', 'key:1']);
41
- }).toThrow('invalid metrics key value pair "notkeyvalue"');
42
- });
43
- test('should fail if metrics key value pair is not numeric', () => {
44
- expect(() => {
45
- metric_1.parseMetrics(['key:notanumber', 'key1:55']);
46
- }).toThrow('value is not numeric');
47
- });
48
- test('should work for all valid number types', () => {
49
- expect(metric_1.parseMetrics(['int:1', 'float:1.1', 'negativeint:-1', 'negativefloat:-0.7391'])).toStrictEqual({
50
- float: 1.1,
51
- int: 1,
52
- negativefloat: -0.7391,
53
- negativeint: -1,
54
- });
55
- });
56
- });
57
- describe('execute', () => {
58
- const runCLI = (level, metrics, env) => __awaiter(void 0, void 0, void 0, function* () {
59
- const cli = makeCLI();
60
- const context = createMockContext();
61
- process.env = Object.assign({ DATADOG_API_KEY: 'PLACEHOLDER' }, env);
62
- const metricsList = [];
63
- metrics.forEach((t) => {
64
- metricsList.push('--metrics');
65
- metricsList.push(t);
66
- });
67
- const code = yield cli.run(['metric', '--level', level, ...metricsList], context);
68
- return { context, code };
69
- });
70
- test('should fail if an invalid level given', () => __awaiter(void 0, void 0, void 0, function* () {
71
- const { context, code } = yield runCLI('stage', ['key:1'], { BUILDKITE: 'true', BUILDKITE_BUILD_ID: 'id' });
72
- expect(code).toBe(1);
73
- expect(context.stderr.toString()).toContain('Level must be one of [pipeline, job]');
74
- }));
75
- test('should fail if no metrics provided', () => __awaiter(void 0, void 0, void 0, function* () {
76
- const { context, code } = yield runCLI('pipeline', [], { BUILDKITE: 'true', BUILDKITE_BUILD_ID: 'id' });
77
- expect(code).toBe(1);
78
- expect(context.stderr.toString()).toContain('--metrics is required');
79
- }));
80
- test('should fail if not running in a supported provider', () => __awaiter(void 0, void 0, void 0, function* () {
81
- const { context, code } = yield runCLI('pipeline', ['key:1'], {});
82
- expect(code).toBe(1);
83
- expect(context.stderr.toString()).toContain('Only providers [GitHub, GitLab, CircleCI, Buildkite, Buddy, Jenkins] are supported');
84
- }));
85
- test('should fail if provider is GitHub and level is job', () => __awaiter(void 0, void 0, void 0, function* () {
86
- const { context, code } = yield runCLI('job', ['key:1'], {
87
- GITHUB_ACTIONS: 'true',
88
- GITHUB_REPOSITORY: 'example/example',
89
- GITHUB_RUN_ATTEMPT: '10',
90
- GITHUB_RUN_ID: '40',
91
- GITHUB_SERVER_URL: 'github.com',
92
- });
93
- expect(code).toBe(1);
94
- expect(context.stderr.toString()).toContain('Cannot use level "job" for GitHub Actions.');
95
- }));
96
- });
97
- //# sourceMappingURL=metric.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metric.test.js","sourceRoot":"","sources":["../../../../src/commands/metric/__tests__/metric.test.ts"],"names":[],"mappings":"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"}
@@ -1,153 +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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const fs_1 = require("fs");
13
- const advanced_1 = require("clipanion/lib/advanced");
14
- const codepush_1 = require("../codepush");
15
- jest.mock('child_process', () => ({
16
- exec: jest.fn().mockImplementation((command, callback) => {
17
- const commandArgs = command.split(' ');
18
- const appNameIndex = commandArgs.findIndex((arg) => arg === '--app') + 1;
19
- const appName = commandArgs[appNameIndex];
20
- let error;
21
- let stdout;
22
- let stderr;
23
- if (appName === 'FakeOrg/FakeApp') {
24
- stdout = fs_1.readFileSync('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/valid-deployment.txt');
25
- }
26
- else if (appName === 'FakeOrg/NoNetwork') {
27
- error = `Error: Command failed: ${command}`;
28
- stderr = fs_1.readFileSync('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/no-network.txt');
29
- }
30
- else if (appName === 'FakeOrg/NoRelease') {
31
- stdout = fs_1.readFileSync('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/no-release-for-deployment.txt');
32
- }
33
- else if (appName === 'FakeOrg/WrongAppName') {
34
- error = `Error: Command failed: ${command}`;
35
- stderr = fs_1.readFileSync('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/wrong-app-name.txt');
36
- }
37
- else if (appName === 'FakeOrg/WrongDeploymentName') {
38
- error = `Error: Command failed: ${command}`;
39
- stderr = fs_1.readFileSync('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/wrong-deployment-name.txt');
40
- }
41
- else if (appName === 'FakeOrg/NotLoggedIn') {
42
- error = `Error: Command failed: ${command}`;
43
- stderr = fs_1.readFileSync('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/not-logged-in.txt');
44
- }
45
- else {
46
- error = 'App name not mocked';
47
- stderr = `App name ${appName} is not registered in the tests, add it in the \`exec\` mock at the top of src/commands/react-native/__tests__/codepush.test.ts`;
48
- }
49
- callback(error, stdout, stderr);
50
- }),
51
- }));
52
- beforeEach(() => {
53
- jest.restoreAllMocks();
54
- });
55
- const makeCli = () => {
56
- const cli = new advanced_1.Cli();
57
- cli.register(codepush_1.CodepushCommand);
58
- return cli;
59
- };
60
- const createMockContext = () => {
61
- let data = '';
62
- let errorData = '';
63
- return {
64
- stderr: {
65
- toString: () => errorData,
66
- write: (input) => {
67
- errorData += input;
68
- },
69
- },
70
- stdout: {
71
- toString: () => data,
72
- write: (input) => {
73
- data += input;
74
- },
75
- },
76
- };
77
- };
78
- const runCLI = (appName) => __awaiter(void 0, void 0, void 0, function* () {
79
- const cli = makeCli();
80
- const context = createMockContext();
81
- process.env = Object.assign(Object.assign({}, process.env), { DATADOG_API_KEY: 'PLACEHOLDER' });
82
- const command = [
83
- 'react-native',
84
- 'codepush',
85
- '--platform',
86
- 'ios',
87
- '--service',
88
- 'com.myapp',
89
- '--bundle',
90
- './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle',
91
- '--sourcemap',
92
- './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
93
- '--app',
94
- appName,
95
- '--deployment',
96
- 'Production',
97
- '--disable-git',
98
- '--dry-run',
99
- ];
100
- const code = yield cli.run(command, context);
101
- return { context, code };
102
- });
103
- describe('codepush', () => {
104
- describe('execute', () => {
105
- it('calls the upload command with a correct version number from the codepush history', () => __awaiter(void 0, void 0, void 0, function* () {
106
- const { context, code } = yield runCLI('FakeOrg/FakeApp');
107
- // Uncomment these lines for debugging failing script
108
- // console.log(context.stdout.toString())
109
- // console.log(context.stderr.toString())
110
- expect(code).toBe(0);
111
- const output = context.stdout.toString();
112
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle on platform ios');
113
- expect(output).toContain('version: 1.0-codepush.v7 build: 1 service: com.myapp');
114
- }));
115
- it('shows a meaningful error message when no release has been made yet', () => __awaiter(void 0, void 0, void 0, function* () {
116
- const { context, code } = yield runCLI('FakeOrg/NoRelease');
117
- // Uncomment these lines for debugging failing script
118
- // console.log(context.stdout.toString())
119
- // console.log(context.stderr.toString())
120
- expect(code).toBe(1);
121
- const output = context.stdout.toString();
122
- expect(output).toContain('No codepush release has been created yet for FakeOrg/NoRelease Production');
123
- }));
124
- it('shows a meaningful error message when user has no network', () => __awaiter(void 0, void 0, void 0, function* () {
125
- const { context, code } = yield runCLI('FakeOrg/NoNetwork');
126
- // Uncomment these lines for debugging failing script
127
- // console.log(context.stdout.toString())
128
- // console.log(context.stderr.toString())
129
- expect(code).toBe(1);
130
- const output = context.stdout.toString();
131
- expect(output).toContain('You need to have network access to be able to get the latest codepush label');
132
- }));
133
- it('shows a meaningful error message when user is not logged in to appcenter', () => __awaiter(void 0, void 0, void 0, function* () {
134
- const { context, code } = yield runCLI('FakeOrg/NotLoggedIn');
135
- // Uncomment these lines for debugging failing script
136
- // console.log(context.stdout.toString())
137
- // console.log(context.stderr.toString())
138
- expect(code).toBe(1);
139
- const output = context.stdout.toString();
140
- expect(output).toContain("Command 'appcenter codepush deployment history' requires a logged in user. Use the 'appcenter login' command to log in.");
141
- }));
142
- it('shows a meaningful error message when user enters a non existing app name', () => __awaiter(void 0, void 0, void 0, function* () {
143
- const { context, code } = yield runCLI('FakeOrg/WrongAppName');
144
- // Uncomment these lines for debugging failing script
145
- // console.log(context.stdout.toString())
146
- // console.log(context.stderr.toString())
147
- expect(code).toBe(1);
148
- const output = context.stdout.toString();
149
- expect(output).toContain('The app FakeOrg/WrongAppName does not exist.');
150
- }));
151
- });
152
- });
153
- //# sourceMappingURL=codepush.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codepush.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/codepush.test.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const fs_1 = __importDefault(require("fs"));
7
- const interfaces_1 = require("../interfaces");
8
- describe('interfaces', () => {
9
- beforeEach(() => {
10
- jest.restoreAllMocks();
11
- });
12
- describe('getBundleName', () => {
13
- beforeEach(() => {
14
- jest.spyOn(fs_1.default, 'createReadStream').mockImplementation(() => undefined);
15
- });
16
- test('should return the bundle name when specified', () => {
17
- const sourcemap = new interfaces_1.RNSourcemap('./custom.bundle', './custom.bundle.map', 'index.android.bundle');
18
- expect(getMetadataFromPayload(sourcemap.asMultipartPayload('1.0', 'com.myapp', '1.2.3', '', 'android', '102030'))
19
- .bundle_name).toBe('index.android.bundle');
20
- });
21
- test('should extract the bundle name from the file when not specified', () => {
22
- const sourcemap = new interfaces_1.RNSourcemap('./index.android.bundle', './index.android.bundle.map');
23
- expect(getMetadataFromPayload(sourcemap.asMultipartPayload('1.0', 'com.myapp', '1.2.3', '', 'android', '102030'))
24
- .bundle_name).toBe('index.android.bundle');
25
- });
26
- test('should extract the bundle name from the file when not specified and no slash in path', () => {
27
- const sourcemap = new interfaces_1.RNSourcemap('index.android.bundle', 'index.android.bundle.map');
28
- expect(getMetadataFromPayload(sourcemap.asMultipartPayload('1.0', 'com.myapp', '1.2.3', '', 'android', '102030'))
29
- .bundle_name).toBe('index.android.bundle');
30
- });
31
- });
32
- describe('removeSourcesContentFromSourceMap', () => {
33
- test('should remove the sources content part of sourcemaps', (done) => {
34
- var _a;
35
- const sourcemap = new interfaces_1.RNSourcemap('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', './src/commands/react-native/__tests__/fixtures/with-sources-content/main.jsbundle.map');
36
- sourcemap.removeSourcesContentFromSourceMap();
37
- const payload = sourcemap.asMultipartPayload('1.0', 'com.myapp', '1.2.3', '', 'android', '102030');
38
- const sourcemapFileHandle = (_a = payload.content.get('source_map')) === null || _a === void 0 ? void 0 : _a.value;
39
- let fileContent = '';
40
- sourcemapFileHandle.on('close', () => {
41
- expect(fileContent).toContain('"sources":["Users/me/datadog-ci/src/commands/sourcemaps/__tests__/git.test.ts"]');
42
- expect(fileContent).not.toContain('"sourcesContent"');
43
- done();
44
- });
45
- sourcemapFileHandle.on('data', (chunk) => {
46
- fileContent = `${fileContent}${chunk.toString()}`;
47
- });
48
- });
49
- });
50
- });
51
- const getMetadataFromPayload = (payload) => JSON.parse(payload.content.get('event').value.toString());
52
- //# sourceMappingURL=interfaces.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/interfaces.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,176 +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 interfaces_1 = require("../interfaces");
19
- const upload_1 = require("../upload");
20
- describe('upload', () => {
21
- describe('getApiHelper', () => {
22
- test('should throw an error if API key is undefined', () => __awaiter(void 0, void 0, void 0, function* () {
23
- process.env = {};
24
- const command = new upload_1.UploadCommand();
25
- expect(command['getRequestBuilder'].bind(command)).toThrow(`Missing ${chalk_1.default.bold('DATADOG_API_KEY')} in your environment.`);
26
- }));
27
- });
28
- describe('addRepositoryDataToPayloads', () => {
29
- test('repository url and commit still defined without payload', () => __awaiter(void 0, void 0, void 0, function* () {
30
- const command = new upload_1.UploadCommand();
31
- const write = jest.fn();
32
- command.context = { stdout: { write } };
33
- const sourcemaps = new Array(new interfaces_1.RNSourcemap('src/commands/react-native/__tests__/fixtures/sourcemap-with-no-files/empty.min.js', 'src/commands/react-native/__tests__/fixtures/sourcemap-with-no-files/empty.min.js.map'));
34
- // The command will fetch git metadatas for the current datadog-ci repository.
35
- // The `empty.min.js.map` contains no files, therefore no file payload should be set.
36
- yield command['addRepositoryDataToPayloads'](sourcemaps);
37
- expect(sourcemaps[0].gitData).toBeDefined();
38
- expect(sourcemaps[0].gitData.gitRepositoryURL).toBeDefined();
39
- expect(sourcemaps[0].gitData.gitCommitSha).toHaveLength(40);
40
- expect(sourcemaps[0].gitData.gitRepositoryPayload).toBeUndefined();
41
- }));
42
- test('should include payload', () => __awaiter(void 0, void 0, void 0, function* () {
43
- const command = new upload_1.UploadCommand();
44
- const write = jest.fn();
45
- command.context = { stdout: { write } };
46
- const sourcemaps = new Array(new interfaces_1.RNSourcemap('src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', 'src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'));
47
- // The command will fetch git metadatas for the current datadog-ci repository.
48
- // The `main.jsbundle.map` contains the "git.test.ts" filename which matches a tracked filename,
49
- // therefore a file payload should be set.
50
- // Removing the "git.test.ts" file will break this test.
51
- yield command['addRepositoryDataToPayloads'](sourcemaps);
52
- expect(sourcemaps[0].gitData).toBeDefined();
53
- expect(sourcemaps[0].gitData.gitRepositoryURL).toBeDefined();
54
- expect(sourcemaps[0].gitData.gitCommitSha).toHaveLength(40);
55
- expect(sourcemaps[0].gitData.gitRepositoryPayload).toBeDefined();
56
- }));
57
- });
58
- });
59
- describe('execute', () => {
60
- const runCLI = (bundle, options) => __awaiter(void 0, void 0, void 0, function* () {
61
- const cli = makeCli();
62
- const context = createMockContext();
63
- process.env = { DATADOG_API_KEY: 'PLACEHOLDER' };
64
- const command = [
65
- 'react-native',
66
- 'upload',
67
- '--release-version',
68
- '1.23.4',
69
- '--build-version',
70
- '1023040',
71
- '--service',
72
- 'com.company.app',
73
- '--bundle',
74
- bundle,
75
- '--sourcemap',
76
- `${bundle}.map`,
77
- '--platform',
78
- 'android',
79
- '--dry-run',
80
- ];
81
- if (options === null || options === void 0 ? void 0 : options.configPath) {
82
- command.push('--config', options.configPath);
83
- delete process.env.DATADOG_API_KEY;
84
- }
85
- const code = yield cli.run(command, context);
86
- return { context, code };
87
- });
88
- test('relative path', () => __awaiter(void 0, void 0, void 0, function* () {
89
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
90
- const output = context.stdout.toString().split(os_1.default.EOL);
91
- expect(code).toBe(0);
92
- checkConsoleOutput(output, {
93
- build: '1023040',
94
- bundlePath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle',
95
- concurrency: 20,
96
- jsFilesURLs: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle'],
97
- platform: 'android',
98
- projectPath: '',
99
- service: 'com.company.app',
100
- sourcemapPath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
101
- sourcemapsPaths: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'],
102
- version: '1.23.4',
103
- });
104
- }));
105
- test('absolute path', () => __awaiter(void 0, void 0, void 0, function* () {
106
- const { context, code } = yield runCLI(process.cwd() + '/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
107
- const output = context.stdout.toString().split(os_1.default.EOL);
108
- expect(code).toBe(0);
109
- checkConsoleOutput(output, {
110
- build: '1023040',
111
- bundlePath: `${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle`,
112
- concurrency: 20,
113
- jsFilesURLs: [`${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle`],
114
- platform: 'android',
115
- projectPath: '',
116
- service: 'com.company.app',
117
- sourcemapPath: `${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map`,
118
- sourcemapsPaths: [`${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map`],
119
- version: '1.23.4',
120
- });
121
- }));
122
- test('reads config from JSON file', () => __awaiter(void 0, void 0, void 0, function* () {
123
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', {
124
- configPath: './src/commands/react-native/__tests__/fixtures/config/config-with-api-key.json',
125
- });
126
- const output = context.stdout.toString().split(os_1.default.EOL);
127
- expect(code).toBe(0);
128
- checkConsoleOutput(output, {
129
- build: '1023040',
130
- bundlePath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle',
131
- concurrency: 20,
132
- jsFilesURLs: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle'],
133
- platform: 'android',
134
- projectPath: '',
135
- service: 'com.company.app',
136
- sourcemapPath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
137
- sourcemapsPaths: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'],
138
- version: '1.23.4',
139
- });
140
- }));
141
- });
142
- const makeCli = () => {
143
- const cli = new advanced_1.Cli();
144
- cli.register(upload_1.UploadCommand);
145
- return cli;
146
- };
147
- const createMockContext = () => {
148
- let data = '';
149
- return {
150
- stdout: {
151
- toString: () => data,
152
- write: (input) => {
153
- data += input;
154
- },
155
- },
156
- };
157
- };
158
- const checkConsoleOutput = (output, expected) => {
159
- expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD SOURCEMAPS');
160
- expect(output[1]).toContain('Starting upload.');
161
- expect(output[2]).toContain(`Upload of ${expected.sourcemapPath} for bundle ${expected.bundlePath} on platform ${expected.platform} with project path ${expected.projectPath}`);
162
- expect(output[3]).toContain(`version: ${expected.version} build: ${expected.build} service: ${expected.service}`);
163
- const uploadedFileLines = output.slice(4, -4);
164
- expect(uploadedFileLines.length).toEqual(expected.sourcemapsPaths.length); // Safety check
165
- expect(uploadedFileLines.length).toEqual(expected.jsFilesURLs.length); // Safety check
166
- uploadedFileLines.forEach((_, index) => {
167
- expect(uploadedFileLines[index]).toContain(`[DRYRUN] Uploading sourcemap ${expected.sourcemapsPaths} for JS file available at ${expected.jsFilesURLs}`);
168
- });
169
- if (uploadedFileLines.length > 1) {
170
- expect(output.slice(-2, -1)[0]).toContain(`[DRYRUN] Handled ${uploadedFileLines.length} sourcemaps with success`);
171
- }
172
- else {
173
- expect(output.slice(-2, -1)[0]).toContain(`[DRYRUN] Handled ${uploadedFileLines.length} sourcemap with success`);
174
- }
175
- };
176
- //# sourceMappingURL=upload.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/upload.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};