@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,538 +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 fs_1 = require("fs");
32
- const format_git_sourcemaps_data_1 = require("../../../helpers/git/format-git-sourcemaps-data");
33
- const utils_1 = require("../../../helpers/utils");
34
- const dsyms = __importStar(require("../../dsyms/upload"));
35
- const helpers_1 = require("../helpers");
36
- const renderer_1 = require("../renderer");
37
- const upload_1 = require("../upload");
38
- jest.mock('../../../helpers/utils', () => (Object.assign(Object.assign({}, jest.requireActual('../../../helpers/utils')), { performSubCommand: jest.fn() })));
39
- jest.mock('../helpers', () => (Object.assign(Object.assign({}, jest.requireActual('../helpers')), { uploadMultipartHelper: jest.fn() })));
40
- jest.mock('../../../helpers/git/format-git-sourcemaps-data', () => (Object.assign(Object.assign({}, jest.requireActual('../../../helpers/git/format-git-sourcemaps-data')), { getRepositoryData: jest.fn() })));
41
- const cliVersion = require('../../../../package.json').version;
42
- const fixtureDir = './src/commands/flutter-symbols/__tests__/fixtures';
43
- describe('flutter-symbol upload', () => {
44
- beforeAll(() => {
45
- jest.clearAllMocks();
46
- });
47
- const createMockContext = () => {
48
- let outString = '';
49
- let errString = '';
50
- return {
51
- stderr: {
52
- toString: () => errString,
53
- write: (input) => {
54
- errString += input;
55
- },
56
- },
57
- stdin: {},
58
- stdout: {
59
- toString: () => outString,
60
- write: (input) => {
61
- outString += input;
62
- },
63
- },
64
- };
65
- };
66
- const runCommand = (prepFunction) => __awaiter(void 0, void 0, void 0, function* () {
67
- const command = new upload_1.UploadCommand();
68
- const context = createMockContext();
69
- command.context = context;
70
- prepFunction(command);
71
- const exitCode = yield command.execute();
72
- return { exitCode, context };
73
- });
74
- describe('parameter validation', () => {
75
- test('fails if no service name given', () => __awaiter(void 0, void 0, void 0, function* () {
76
- const { exitCode, context } = yield runCommand((_) => { });
77
- const errorOutput = context.stderr.toString();
78
- expect(exitCode).not.toBe(0);
79
- expect(errorOutput).toContain('Error');
80
- expect(errorOutput).toContain('"service-name" is required');
81
- }));
82
- test('requires valid pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
83
- const { exitCode, context } = yield runCommand((cmd) => {
84
- cmd['serviceName'] = 'fake.service';
85
- });
86
- const errorOutput = context.stderr.toString();
87
- expect(exitCode).not.toBe(0);
88
- expect(errorOutput).toBe(renderer_1.renderMissingPubspecError('./pubspec.yaml'));
89
- }));
90
- test('version bypasses pubspec check', () => __awaiter(void 0, void 0, void 0, function* () {
91
- const { exitCode, context } = yield runCommand((cmd) => {
92
- cmd['serviceName'] = 'fake.service';
93
- cmd['version'] = '1.0.0+114';
94
- });
95
- const errorOutput = context.stderr.toString();
96
- expect(exitCode).toBe(0);
97
- expect(errorOutput).toBe('');
98
- }));
99
- });
100
- describe('getFlutterSymbolFiles', () => {
101
- test('should read all symbol files', () => __awaiter(void 0, void 0, void 0, function* () {
102
- const command = new upload_1.UploadCommand();
103
- const searchDir = `${fixtureDir}/dart-symbols`;
104
- const files = command['getFlutterSymbolFiles'](searchDir);
105
- expect(files).toEqual([
106
- `${searchDir}/app.android-arm.symbols`,
107
- `${searchDir}/app.android-arm64.symbols`,
108
- `${searchDir}/app.android-x64.symbols`,
109
- `${searchDir}/app.ios-arm64.symbols`,
110
- ]);
111
- }));
112
- });
113
- describe('parsePubspec', () => {
114
- test('writes error on missing pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
115
- const context = createMockContext();
116
- const command = new upload_1.UploadCommand();
117
- command.context = context;
118
- const exitCode = yield command['parsePubspecVersion']('./pubspec.yaml');
119
- const errorOutput = context.stderr.toString();
120
- expect(exitCode).toBe(1);
121
- expect(errorOutput).toBe(renderer_1.renderMissingPubspecError('./pubspec.yaml'));
122
- }));
123
- test('writes error on invalid pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
124
- const context = createMockContext();
125
- const command = new upload_1.UploadCommand();
126
- command.context = context;
127
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/invalidPubspec.yaml`);
128
- const errorOutput = context.stderr.toString();
129
- expect(exitCode).toBe(1);
130
- expect(errorOutput).toBe(renderer_1.renderInvalidPubspecError(`${fixtureDir}/pubspecs/invalidPubspec.yaml`));
131
- }));
132
- test('writes error on missing version in pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
133
- const context = createMockContext();
134
- const command = new upload_1.UploadCommand();
135
- command.context = context;
136
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/missingVersionPubspec.yaml`);
137
- const errorOutput = context.stderr.toString();
138
- expect(exitCode).toBe(1);
139
- expect(errorOutput).toBe(renderer_1.renderPubspecMissingVersionError(`${fixtureDir}/pubspecs/missingVersionPubspec.yaml`));
140
- }));
141
- test('populates version from valid pubspec', () => __awaiter(void 0, void 0, void 0, function* () {
142
- const context = createMockContext();
143
- const command = new upload_1.UploadCommand();
144
- command.context = context;
145
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/validPubspec.yaml`);
146
- const errorOutput = context.stderr.toString();
147
- expect(exitCode).toBe(0);
148
- expect(errorOutput).toBe('');
149
- expect(command['version']).toBe('1.2.3');
150
- }));
151
- test('strips pre-release from pre-release pubspec and shows warning', () => __awaiter(void 0, void 0, void 0, function* () {
152
- const context = createMockContext();
153
- const command = new upload_1.UploadCommand();
154
- command.context = context;
155
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/prereleasePubspec.yaml`);
156
- const errorOutput = context.stderr.toString();
157
- expect(exitCode).toBe(0);
158
- expect(errorOutput).toBe(renderer_1.renderVersionBuildNumberWarning(`${fixtureDir}/pubspecs/prereleasePubspec.yaml`));
159
- expect(command['version']).toBe('1.2.3');
160
- }));
161
- test('strips build from build pubspec and shows warning', () => __awaiter(void 0, void 0, void 0, function* () {
162
- const context = createMockContext();
163
- const command = new upload_1.UploadCommand();
164
- command.context = context;
165
- const exitCode = yield command['parsePubspecVersion'](`${fixtureDir}/pubspecs/buildPubspec.yaml`);
166
- const errorOutput = context.stderr.toString();
167
- expect(exitCode).toBe(0);
168
- expect(errorOutput).toBe(renderer_1.renderVersionBuildNumberWarning(`${fixtureDir}/pubspecs/buildPubspec.yaml`));
169
- expect(command['version']).toBe('1.2.3');
170
- }));
171
- });
172
- describe('dsyms upload', () => {
173
- test('calls dsyms sub-command with proper default parameters', () => __awaiter(void 0, void 0, void 0, function* () {
174
- const { exitCode } = yield runCommand((cmd) => {
175
- cmd['serviceName'] = 'fake.service';
176
- cmd['version'] = '1.0.0';
177
- cmd['iosDsyms'] = true;
178
- });
179
- expect(exitCode).toBe(0);
180
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(dsyms.UploadCommand, ['dsyms', 'upload', './build/ios/archive/Runner.xcarchive/dSYMs'], expect.anything());
181
- }));
182
- test('calls dsyms sub-command with dry-run on dry-run', () => __awaiter(void 0, void 0, void 0, function* () {
183
- const { exitCode } = yield runCommand((cmd) => {
184
- cmd['serviceName'] = 'fake.service';
185
- cmd['version'] = '1.0.0';
186
- cmd['iosDsyms'] = true;
187
- cmd['dryRun'] = true;
188
- });
189
- expect(exitCode).toBe(0);
190
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(dsyms.UploadCommand, ['dsyms', 'upload', './build/ios/archive/Runner.xcarchive/dSYMs', '--dry-run'], expect.anything());
191
- }));
192
- test('calls dsyms sub-command passing through dsymLocation', () => __awaiter(void 0, void 0, void 0, function* () {
193
- const { exitCode, context } = yield runCommand((cmd) => {
194
- cmd['serviceName'] = 'fake.service';
195
- cmd['version'] = '1.0.0';
196
- cmd['iosDsymsLocation'] = './dsym-location';
197
- });
198
- const errorOutput = context.stderr.toString();
199
- expect(exitCode).toBe(0);
200
- expect(utils_1.performSubCommand).toHaveBeenCalledWith(dsyms.UploadCommand, ['dsyms', 'upload', './dsym-location'], expect.anything());
201
- expect(errorOutput).toBe('');
202
- }));
203
- });
204
- describe('android mapping upload', () => {
205
- const addDefaultCommandParameters = (command) => {
206
- command['serviceName'] = 'fake.service';
207
- command['version'] = '1.0.0';
208
- };
209
- const mockGitRepoParameters = (command) => {
210
- command['gitData'] = {
211
- hash: 'fake-git-hash',
212
- remote: 'fake-git-remote',
213
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
214
- './lib/main.dart',
215
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
216
- './ios/Runner/AppDelegate.swift',
217
- ]),
218
- };
219
- };
220
- test('errors if mapping file does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
221
- const { exitCode, context } = yield runCommand((cmd) => {
222
- addDefaultCommandParameters(cmd);
223
- cmd['androidMappingLocation'] = `${fixtureDir}/android/missing.txt`;
224
- });
225
- const errorOutput = context.stderr.toString();
226
- expect(exitCode).not.toBe(0);
227
- expect(errorOutput).toBe(renderer_1.renderMissingAndroidMappingFile(`${fixtureDir}/android/missing.txt`));
228
- }));
229
- test('errors if default mapping file does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
230
- const { exitCode, context } = yield runCommand((cmd) => {
231
- addDefaultCommandParameters(cmd);
232
- cmd['androidMapping'] = true;
233
- });
234
- const errorOutput = context.stderr.toString();
235
- expect(exitCode).not.toBe(0);
236
- expect(errorOutput).toBe(renderer_1.renderMissingAndroidMappingFile('./build/app/outputs/mapping/release/mapping.txt'));
237
- }));
238
- test('creates correct metadata payload', () => {
239
- const command = new upload_1.UploadCommand();
240
- addDefaultCommandParameters(command);
241
- mockGitRepoParameters(command);
242
- const metadata = command['getAndroidMetadata']();
243
- expect(metadata).toEqual({
244
- cli_version: cliVersion,
245
- git_commit_sha: 'fake-git-hash',
246
- git_repository_url: 'fake-git-remote',
247
- service: 'fake.service',
248
- type: 'jvm_mapping_file',
249
- variant: 'release',
250
- version: '1.0.0',
251
- });
252
- });
253
- test('build in version is sanitized in metadata payload', () => {
254
- const command = new upload_1.UploadCommand();
255
- addDefaultCommandParameters(command);
256
- mockGitRepoParameters(command);
257
- command['version'] = '1.2.4+987';
258
- const metadata = command['getAndroidMetadata']();
259
- expect(metadata).toEqual({
260
- cli_version: cliVersion,
261
- git_commit_sha: 'fake-git-hash',
262
- git_repository_url: 'fake-git-remote',
263
- service: 'fake.service',
264
- type: 'jvm_mapping_file',
265
- variant: 'release',
266
- version: '1.2.4-987',
267
- });
268
- });
269
- test('uploads correct multipart payload without repository', () => __awaiter(void 0, void 0, void 0, function* () {
270
- var _a;
271
- ;
272
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
273
- const { exitCode } = yield runCommand((cmd) => {
274
- addDefaultCommandParameters(cmd);
275
- cmd['androidMappingLocation'] = `${fixtureDir}/android/fake-mapping.txt`;
276
- });
277
- const expectedMetadata = {
278
- cli_version: cliVersion,
279
- service: 'fake.service',
280
- type: 'jvm_mapping_file',
281
- variant: 'release',
282
- version: '1.0.0',
283
- };
284
- expect(helpers_1.uploadMultipartHelper).toHaveBeenCalled();
285
- const payload = helpers_1.uploadMultipartHelper.mock.calls[0][1];
286
- expect(JSON.parse((_a = payload.content.get('event')) === null || _a === void 0 ? void 0 : _a.value)).toStrictEqual(expectedMetadata);
287
- const mappingFileItem = payload.content.get('jvm_mapping_file');
288
- expect(mappingFileItem).toBeTruthy();
289
- expect((mappingFileItem === null || mappingFileItem === void 0 ? void 0 : mappingFileItem.options).filename).toBe('jvm_mapping');
290
- expect(mappingFileItem === null || mappingFileItem === void 0 ? void 0 : mappingFileItem.value).toBeInstanceOf(fs_1.ReadStream);
291
- expect((mappingFileItem === null || mappingFileItem === void 0 ? void 0 : mappingFileItem.value).path).toBe(`${fixtureDir}/android/fake-mapping.txt`);
292
- expect(exitCode).toBe(0);
293
- }));
294
- test('uploads correct multipart payload with repository', () => __awaiter(void 0, void 0, void 0, function* () {
295
- var _b;
296
- ;
297
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
298
- format_git_sourcemaps_data_1.getRepositoryData.mockResolvedValueOnce({
299
- hash: 'fake-git-hash',
300
- remote: 'fake-git-remote',
301
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
302
- './lib/main.dart',
303
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
304
- './ios/Runner/AppDelegate.swift',
305
- ]),
306
- });
307
- const { exitCode } = yield runCommand((cmd) => {
308
- addDefaultCommandParameters(cmd);
309
- cmd['androidMappingLocation'] = `${fixtureDir}/android/fake-mapping.txt`;
310
- });
311
- const expectedMetadata = {
312
- cli_version: cliVersion,
313
- git_commit_sha: 'fake-git-hash',
314
- git_repository_url: 'fake-git-remote',
315
- service: 'fake.service',
316
- type: 'jvm_mapping_file',
317
- variant: 'release',
318
- version: '1.0.0',
319
- };
320
- const expectedRepository = {
321
- data: [
322
- {
323
- files: [
324
- './lib/main.dart',
325
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
326
- './ios/Runner/AppDelegate.swift',
327
- ],
328
- hash: 'fake-git-hash',
329
- repository_url: 'fake-git-remote',
330
- },
331
- ],
332
- version: 1,
333
- };
334
- expect(helpers_1.uploadMultipartHelper).toHaveBeenCalled();
335
- const payload = helpers_1.uploadMultipartHelper.mock.calls[0][1];
336
- expect(JSON.parse((_b = payload.content.get('event')) === null || _b === void 0 ? void 0 : _b.value)).toStrictEqual(expectedMetadata);
337
- const repoValue = payload.content.get('repository');
338
- expect(JSON.parse(repoValue === null || repoValue === void 0 ? void 0 : repoValue.value)).toStrictEqual(expectedRepository);
339
- expect((repoValue === null || repoValue === void 0 ? void 0 : repoValue.options).filename).toBe('repository');
340
- expect((repoValue === null || repoValue === void 0 ? void 0 : repoValue.options).contentType).toBe('application/json');
341
- expect(exitCode).toBe(0);
342
- }));
343
- test('skips upload on dry run', () => __awaiter(void 0, void 0, void 0, function* () {
344
- ;
345
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
346
- const { exitCode } = yield runCommand((cmd) => {
347
- addDefaultCommandParameters(cmd);
348
- cmd['androidMappingLocation'] = `${fixtureDir}/android/fake-mapping.txt`;
349
- cmd['dryRun'] = true;
350
- });
351
- expect(helpers_1.uploadMultipartHelper).not.toHaveBeenCalled();
352
- expect(exitCode).toBe(0);
353
- }));
354
- });
355
- describe('flutter symbol upload', () => {
356
- const addDefaultCommandParameters = (command) => {
357
- command['serviceName'] = 'fake.service';
358
- command['version'] = '1.0.0';
359
- };
360
- const mockGitRepoParameters = (command) => {
361
- command['gitData'] = {
362
- hash: 'fake-git-hash',
363
- remote: 'fake-git-remote',
364
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
365
- './lib/main.dart',
366
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
367
- './ios/Runner/AppDelegate.swift',
368
- ]),
369
- };
370
- };
371
- test('errors if symbol directory is missing', () => __awaiter(void 0, void 0, void 0, function* () {
372
- const { exitCode, context } = yield runCommand((cmd) => {
373
- addDefaultCommandParameters(cmd);
374
- cmd['dartSymbolsLocation'] = `${fixtureDir}/missing-dir`;
375
- });
376
- const errorOutput = context.stderr.toString();
377
- expect(exitCode).not.toBe(0);
378
- expect(errorOutput).toBe(renderer_1.renderMissingDartSymbolsDir(`${fixtureDir}/missing-dir`));
379
- }));
380
- test('errors if symbol directory is a file', () => __awaiter(void 0, void 0, void 0, function* () {
381
- const { exitCode, context } = yield runCommand((cmd) => {
382
- addDefaultCommandParameters(cmd);
383
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols/app.android-arm.symbols`;
384
- });
385
- const errorOutput = context.stderr.toString();
386
- expect(exitCode).not.toBe(0);
387
- expect(errorOutput).toBe(renderer_1.renderInvalidSymbolsDir(`${fixtureDir}/dart-symbols/app.android-arm.symbols`));
388
- }));
389
- test('creates correct metadata payloads', () => {
390
- const command = new upload_1.UploadCommand();
391
- addDefaultCommandParameters(command);
392
- mockGitRepoParameters(command);
393
- const metadata = command['getFlutterMetadata']('ios', 'arm64');
394
- expect(metadata).toEqual({
395
- arch: 'arm64',
396
- cli_version: cliVersion,
397
- git_commit_sha: 'fake-git-hash',
398
- git_repository_url: 'fake-git-remote',
399
- platform: 'ios',
400
- service: 'fake.service',
401
- type: 'flutter_symbol_file',
402
- variant: 'release',
403
- version: '1.0.0',
404
- });
405
- });
406
- test('sanitizes build in version number payload', () => {
407
- const command = new upload_1.UploadCommand();
408
- addDefaultCommandParameters(command);
409
- mockGitRepoParameters(command);
410
- command['version'] = '1.2.4+567';
411
- const metadata = command['getFlutterMetadata']('ios', 'arm64');
412
- expect(metadata).toEqual({
413
- arch: 'arm64',
414
- cli_version: cliVersion,
415
- git_commit_sha: 'fake-git-hash',
416
- git_repository_url: 'fake-git-remote',
417
- platform: 'ios',
418
- service: 'fake.service',
419
- type: 'flutter_symbol_file',
420
- variant: 'release',
421
- version: '1.2.4-567',
422
- });
423
- });
424
- test('parses symbol filenames into platform / arch', () => {
425
- const info1 = helpers_1.getArchInfoFromFilename('app.android-arm.symbols');
426
- const info2 = helpers_1.getArchInfoFromFilename('./a/directory/app.android-x64.symbols');
427
- const info3 = helpers_1.getArchInfoFromFilename('./a/directory/app.confusing-.ios-arm64.symbols');
428
- const info4 = helpers_1.getArchInfoFromFilename('app.bad.symbols');
429
- expect(info1).toEqual({ platform: 'android', arch: 'arm' });
430
- expect(info2).toEqual({ platform: 'android', arch: 'x64' });
431
- expect(info3).toEqual({ platform: 'ios', arch: 'arm64' });
432
- expect(info4).toBeUndefined();
433
- });
434
- const getExpectedMetadata = (platform, arch, gitCommitSha, gitRespositoryUrl) => (Object.assign(Object.assign(Object.assign({ arch, cli_version: cliVersion }, (gitCommitSha && { git_commit_sha: gitCommitSha })), (gitRespositoryUrl && { git_repository_url: gitRespositoryUrl })), { platform, service: 'fake.service', type: 'flutter_symbol_file', variant: 'release', version: '1.0.0' }));
435
- test('uploads correct multipart payloads without repository', () => __awaiter(void 0, void 0, void 0, function* () {
436
- ;
437
- helpers_1.uploadMultipartHelper.mockResolvedValue('');
438
- const { exitCode } = yield runCommand((cmd) => {
439
- addDefaultCommandParameters(cmd);
440
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols`;
441
- });
442
- const expectedMetadatas = [
443
- getExpectedMetadata('android', 'arm'),
444
- getExpectedMetadata('android', 'arm64'),
445
- getExpectedMetadata('android', 'x64'),
446
- getExpectedMetadata('ios', 'arm64'),
447
- ];
448
- expect(helpers_1.uploadMultipartHelper).toBeCalledTimes(4);
449
- expectedMetadatas.forEach((expectedMetadata) => {
450
- const mockCalls = helpers_1.uploadMultipartHelper.mock.calls;
451
- const index = mockCalls.findIndex((call) => {
452
- var _a;
453
- const checkPayload = call[1];
454
- const eventPayload = (_a = checkPayload.content.get('event')) === null || _a === void 0 ? void 0 : _a.value;
455
- return eventPayload === JSON.stringify(expectedMetadata);
456
- });
457
- // Ensure the metadata matches at least one call
458
- expect(index).not.toBe(-1);
459
- const payload = mockCalls[index][1];
460
- const mappingFileItem = payload.content.get('flutter_symbol_file');
461
- expect(mappingFileItem).toBeTruthy();
462
- expect((mappingFileItem === null || mappingFileItem === void 0 ? void 0 : mappingFileItem.options).filename).toBe('flutter_symbol_file');
463
- expect(mappingFileItem === null || mappingFileItem === void 0 ? void 0 : mappingFileItem.value).toBeInstanceOf(fs_1.ReadStream);
464
- const expectedPath = `${fixtureDir}/dart-symbols/app.${expectedMetadata.platform}-${expectedMetadata.arch}.symbols`;
465
- expect((mappingFileItem === null || mappingFileItem === void 0 ? void 0 : mappingFileItem.value).path).toBe(expectedPath);
466
- });
467
- expect(exitCode).toBe(0);
468
- }));
469
- test('uploads correct multipart payloads with repository', () => __awaiter(void 0, void 0, void 0, function* () {
470
- ;
471
- helpers_1.uploadMultipartHelper.mockResolvedValue('');
472
- format_git_sourcemaps_data_1.getRepositoryData.mockResolvedValueOnce({
473
- hash: 'fake-git-hash',
474
- remote: 'fake-git-remote',
475
- trackedFilesMatcher: new format_git_sourcemaps_data_1.TrackedFilesMatcher([
476
- './lib/main.dart',
477
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
478
- './ios/Runner/AppDelegate.swift',
479
- ]),
480
- });
481
- const { exitCode } = yield runCommand((cmd) => {
482
- addDefaultCommandParameters(cmd);
483
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols`;
484
- });
485
- const expectedMetadatas = [
486
- getExpectedMetadata('android', 'arm', 'fake-git-hash', 'fake-git-remote'),
487
- getExpectedMetadata('android', 'arm64', 'fake-git-hash', 'fake-git-remote'),
488
- getExpectedMetadata('android', 'x64', 'fake-git-hash', 'fake-git-remote'),
489
- getExpectedMetadata('ios', 'arm64', 'fake-git-hash', 'fake-git-remote'),
490
- ];
491
- const expectedRepository = {
492
- data: [
493
- {
494
- files: [
495
- './lib/main.dart',
496
- './android/app/src/main/kotlin/com/datadoghq/example/flutter/MainActivity.kt',
497
- './ios/Runner/AppDelegate.swift',
498
- ],
499
- hash: 'fake-git-hash',
500
- repository_url: 'fake-git-remote',
501
- },
502
- ],
503
- version: 1,
504
- };
505
- expect(helpers_1.uploadMultipartHelper).toBeCalledTimes(4);
506
- expectedMetadatas.forEach((expectedMetadata) => {
507
- const mockCalls = helpers_1.uploadMultipartHelper.mock.calls;
508
- const index = mockCalls.findIndex((call) => {
509
- var _a;
510
- const checkPayload = call[1];
511
- const eventPayload = (_a = checkPayload.content.get('event')) === null || _a === void 0 ? void 0 : _a.value;
512
- return eventPayload === JSON.stringify(expectedMetadata);
513
- });
514
- // Ensure the metadata matches at least one call
515
- expect(index).not.toBe(-1);
516
- const payload = mockCalls[index][1];
517
- const repoValue = payload.content.get('repository');
518
- expect(JSON.parse(repoValue === null || repoValue === void 0 ? void 0 : repoValue.value)).toStrictEqual(expectedRepository);
519
- expect((repoValue === null || repoValue === void 0 ? void 0 : repoValue.options).filename).toBe('repository');
520
- expect((repoValue === null || repoValue === void 0 ? void 0 : repoValue.options).contentType).toBe('application/json');
521
- expect(exitCode).toBe(0);
522
- });
523
- expect(exitCode).toBe(0);
524
- }));
525
- test('skips upload on dry run', () => __awaiter(void 0, void 0, void 0, function* () {
526
- ;
527
- helpers_1.uploadMultipartHelper.mockResolvedValueOnce('');
528
- const { exitCode } = yield runCommand((cmd) => {
529
- addDefaultCommandParameters(cmd);
530
- cmd['dartSymbolsLocation'] = `${fixtureDir}/dart-symbols`;
531
- cmd['dryRun'] = true;
532
- });
533
- expect(helpers_1.uploadMultipartHelper).not.toHaveBeenCalled();
534
- expect(exitCode).toBe(0);
535
- }));
536
- });
537
- });
538
- //# sourceMappingURL=upload.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/flutter-symbols/__tests__/upload.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};