@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,297 +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 fs_1 = require("fs");
16
- const os_1 = require("os");
17
- const path_1 = __importDefault(require("path"));
18
- const advanced_1 = require("clipanion/lib/advanced");
19
- const glob_1 = __importDefault(require("glob"));
20
- const utils_1 = require("../../../helpers/utils");
21
- const upload_1 = require("../upload");
22
- const utils_2 = require("../utils");
23
- /**
24
- * `dwarfdump` and `lipo` are only available in macOS, so we mock their behaviour when running tests on other platforms.
25
- */
26
- const mockDwarfdumpAndLipoIfNotMacOS = () => {
27
- if (os_1.platform() !== 'darwin') {
28
- // For `dwarfdump --uuid` mock, return the same output as the command would give on macOS:
29
- require('../utils').executeDwarfdump = jest.fn().mockImplementation((dsymPath) => {
30
- let fixture = dsymPath.includes('multiple-archs') ? fatDSYMFixture : undefined;
31
- fixture = fixture !== null && fixture !== void 0 ? fixture : (dsymPath.includes('single-arch') ? slimDSYMFixture : undefined);
32
- if (fixture !== undefined) {
33
- const outputLines = fixture.slices.map((slice) => {
34
- const objectPathInDsym = path_1.default.relative(fixture.bundlePath, slice.objectPath);
35
- const objectPathInMockedDSYM = utils_1.buildPath(dsymPath, objectPathInDsym);
36
- return `UUID: ${slice.uuid} (${slice.arch}) ${objectPathInMockedDSYM}`;
37
- });
38
- return { stderr: '', stdout: outputLines.join('\n') };
39
- }
40
- else {
41
- throw new Error(`Cannot find mock dSYM fixture for dsymPath: ${dsymPath}`);
42
- }
43
- });
44
- // For `lipo -thin` mock, just copy the object to new location (without extracting the slice as macOS would do):
45
- require('../utils').executeLipo = jest
46
- .fn()
47
- .mockImplementation((objectPath, arch, newObjectPath) => __awaiter(void 0, void 0, void 0, function* () {
48
- yield fs_1.promises.copyFile(objectPath, newObjectPath);
49
- return { stderr: '', stdout: '' };
50
- }));
51
- }
52
- };
53
- /**
54
- * Fixture for dSYM containing two arch slices. This is the same dSYM information as can be
55
- * read with `dwarfdump --uuid ./src/commands/dsyms/__tests__/fixtures/multiple-archs/DDTest.framework.dSYM` on macOS.
56
- */
57
- const fatDSYMFixture = {
58
- bundlePath: 'src/commands/dsyms/__tests__/fixtures/multiple-archs/DDTest.framework.dSYM',
59
- slices: [
60
- {
61
- arch: 'armv7',
62
- objectPath: 'src/commands/dsyms/__tests__/fixtures/multiple-archs/DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest',
63
- uuid: 'C8469F85-B060-3085-B69D-E46C645560EA',
64
- },
65
- {
66
- arch: 'arm64',
67
- objectPath: 'src/commands/dsyms/__tests__/fixtures/multiple-archs/DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest',
68
- uuid: '06EE3D68-D605-3E92-B92D-2F48C02A505E',
69
- },
70
- ],
71
- };
72
- /**
73
- * Fixture for dSYM containing single arch slice. This is the same dSYM information as can be
74
- * read with `dwarfdump --uuid ./src/commands/dsyms/__tests__/fixtures/single-archs/DDTest.framework.dSYM` on macOS.
75
- */
76
- const slimDSYMFixture = {
77
- bundlePath: 'src/commands/dsyms/__tests__/fixtures/single-arch/DDTest.framework.dSYM',
78
- slices: [
79
- {
80
- arch: 'arm64',
81
- objectPath: 'src/commands/dsyms/__tests__/fixtures/single-arch/DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest',
82
- uuid: '3BC12422-63CC-30E8-B916-E5006CE3286C',
83
- },
84
- ],
85
- };
86
- describe('upload', () => {
87
- beforeAll(() => {
88
- mockDwarfdumpAndLipoIfNotMacOS();
89
- });
90
- describe('findDSYMsInDirectory', () => {
91
- const command = new upload_1.UploadCommand();
92
- test('Should find dSYMs recursively', () => __awaiter(void 0, void 0, void 0, function* () {
93
- const expectedDSYMs = [fatDSYMFixture, slimDSYMFixture];
94
- const actualDSYMs = yield command['findDSYMsInDirectory']('src/commands/dsyms/__tests__/fixtures');
95
- expect(actualDSYMs.length).toEqual(2);
96
- expect(actualDSYMs).toContainEqual(expectedDSYMs[0]);
97
- expect(actualDSYMs).toContainEqual(expectedDSYMs[1]);
98
- }));
99
- });
100
- describe('parseDwarfdumpOutput', () => {
101
- const command = new upload_1.UploadCommand();
102
- test('Should read arch slice from single-line output', () => {
103
- const output = 'UUID: 00000000-1111-2222-3333-444444444444 (arm64) /folder/Foo.dSYM/Contents/Resources/DWARF/Foo';
104
- const slices = command['parseDwarfdumpOutput'](output);
105
- expect(slices).toEqual([
106
- {
107
- arch: 'arm64',
108
- objectPath: '/folder/Foo.dSYM/Contents/Resources/DWARF/Foo',
109
- uuid: '00000000-1111-2222-3333-444444444444',
110
- },
111
- ]);
112
- });
113
- test('Should read arch slices from multi-line output', () => {
114
- const output = 'UUID: 00000000-1111-2222-3333-444444444444 (arm64) /folder/Foo.dSYM/Contents/Resources/DWARF/Foo\n' +
115
- 'UUID: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE (x86_64) /folder/Foo.dSYM/Contents/Resources/DWARF/Foo\n' +
116
- 'UUID: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF (armv7) /folder/Foo.dSYM/Contents/Resources/DWARF/Foo\n';
117
- const slices = command['parseDwarfdumpOutput'](output);
118
- expect(slices).toEqual([
119
- {
120
- arch: 'arm64',
121
- objectPath: '/folder/Foo.dSYM/Contents/Resources/DWARF/Foo',
122
- uuid: '00000000-1111-2222-3333-444444444444',
123
- },
124
- {
125
- arch: 'x86_64',
126
- objectPath: '/folder/Foo.dSYM/Contents/Resources/DWARF/Foo',
127
- uuid: 'AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE',
128
- },
129
- {
130
- arch: 'armv7',
131
- objectPath: '/folder/Foo.dSYM/Contents/Resources/DWARF/Foo',
132
- uuid: 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF',
133
- },
134
- ]);
135
- });
136
- test('Should read arch slice if object path contains whitespaces', () => {
137
- const output = 'UUID: 00000000-1111-2222-3333-444444444444 (arm64) /folder with whitespaces/Foo Bar.dSYM/Contents/Resources/DWARF/Foo Bar';
138
- const slices = command['parseDwarfdumpOutput'](output);
139
- expect(slices).toEqual([
140
- {
141
- arch: 'arm64',
142
- objectPath: '/folder with whitespaces/Foo Bar.dSYM/Contents/Resources/DWARF/Foo Bar',
143
- uuid: '00000000-1111-2222-3333-444444444444',
144
- },
145
- ]);
146
- });
147
- test('Should read no arch slices from invalid output', () => {
148
- const slices = command['parseDwarfdumpOutput']('');
149
- expect(slices).toEqual([]);
150
- });
151
- });
152
- describe('thinDSYMs', () => {
153
- const command = new upload_1.UploadCommand();
154
- test('Given fat dSYM, it should extract each arch slice to separate dSYM in target folder', () => __awaiter(void 0, void 0, void 0, function* () {
155
- const tmpDirectory = yield utils_2.createUniqueTmpDirectory();
156
- // Given
157
- const inputDSYM = fatDSYMFixture;
158
- expect(inputDSYM.slices.length).toBeGreaterThan(1);
159
- // When
160
- const extractedDSYMs = yield command['thinDSYMs']([inputDSYM], tmpDirectory);
161
- // Then
162
- expect(extractedDSYMs.length).toEqual(inputDSYM.slices.length);
163
- inputDSYM.slices.forEach((slice) => {
164
- expect(extractedDSYMs).toContainEqual({
165
- bundlePath: `${utils_1.buildPath(tmpDirectory, slice.uuid)}.dSYM`,
166
- slices: [
167
- {
168
- arch: slice.arch,
169
- objectPath: `${utils_1.buildPath(tmpDirectory, slice.uuid)}.dSYM/Contents/Resources/DWARF/DDTest`,
170
- uuid: slice.uuid,
171
- },
172
- ],
173
- });
174
- });
175
- const objectFilesInTargetFolder = glob_1.default.sync(utils_1.buildPath(tmpDirectory, '**/Contents/Resources/DWARF/DDTest'));
176
- expect(objectFilesInTargetFolder.length).toEqual(inputDSYM.slices.length);
177
- yield utils_2.deleteDirectory(tmpDirectory);
178
- }));
179
- test('Given slim dSYM, it should leave it untouched and not extract anything into target folder', () => __awaiter(void 0, void 0, void 0, function* () {
180
- const tmpDirectory = yield utils_2.createUniqueTmpDirectory();
181
- // Given
182
- const inputDSYM = slimDSYMFixture;
183
- expect(inputDSYM.slices.length).toEqual(1);
184
- // When
185
- const extractedDSYMs = yield command['thinDSYMs']([inputDSYM], tmpDirectory);
186
- // Then
187
- expect(extractedDSYMs).toEqual([inputDSYM]);
188
- const filesInTargetFolder = glob_1.default.sync(utils_1.buildPath(tmpDirectory, '*'));
189
- expect(filesInTargetFolder.length).toEqual(0);
190
- yield utils_2.deleteDirectory(tmpDirectory);
191
- }));
192
- });
193
- describe('compressDSYMsToDirectory', () => {
194
- const command = new upload_1.UploadCommand();
195
- test('Should archive dSYMs to target directory and name archives by their UUIDs', () => __awaiter(void 0, void 0, void 0, function* () {
196
- const tmpDirectory = yield utils_2.createUniqueTmpDirectory();
197
- const dsymFixtures = [fatDSYMFixture, slimDSYMFixture];
198
- // When
199
- const compressedDSYMs = yield command['compressDSYMsToDirectory'](dsymFixtures, tmpDirectory);
200
- // Then
201
- expect(compressedDSYMs[0].dsym).toEqual(dsymFixtures[0]);
202
- expect(compressedDSYMs[0].archivePath).toEqual(utils_1.buildPath(tmpDirectory, `${dsymFixtures[0].slices[0].uuid}.zip`));
203
- expect(fs_1.existsSync(compressedDSYMs[0].archivePath)).toBeTruthy();
204
- expect(compressedDSYMs[1].dsym).toEqual(dsymFixtures[1]);
205
- expect(compressedDSYMs[1].archivePath).toEqual(utils_1.buildPath(tmpDirectory, `${dsymFixtures[1].slices[0].uuid}.zip`));
206
- expect(fs_1.existsSync(compressedDSYMs[1].archivePath)).toBeTruthy();
207
- yield utils_2.deleteDirectory(tmpDirectory);
208
- }));
209
- });
210
- });
211
- describe('execute', () => {
212
- const makeCli = () => {
213
- const cli = new advanced_1.Cli();
214
- cli.register(upload_1.UploadCommand);
215
- return cli;
216
- };
217
- const createMockContext = () => {
218
- let data = '';
219
- return {
220
- stdout: {
221
- toString: () => data,
222
- write: (input) => {
223
- data += input;
224
- },
225
- },
226
- };
227
- };
228
- const runCLI = (dsymPath, options) => __awaiter(void 0, void 0, void 0, function* () {
229
- const cli = makeCli();
230
- const context = createMockContext();
231
- const command = ['dsyms', 'upload', dsymPath, '--dry-run'];
232
- if (options === null || options === void 0 ? void 0 : options.configPath) {
233
- command.push('--config');
234
- command.push(options.configPath);
235
- }
236
- else {
237
- process.env = { DATADOG_API_KEY: 'PLACEHOLDER' };
238
- }
239
- const code = yield cli.run(command, context);
240
- return { context, code };
241
- });
242
- beforeAll(() => {
243
- mockDwarfdumpAndLipoIfNotMacOS();
244
- });
245
- afterEach(() => {
246
- delete process.env.DATADOG_API_KEY;
247
- delete process.env.DATADOG_SITE;
248
- });
249
- test('Should succeed with folder input', () => __awaiter(void 0, void 0, void 0, function* () {
250
- const { context, code } = yield runCLI('src/commands/dsyms/__tests__/fixtures/');
251
- const outputString = context.stdout.toString();
252
- const output = outputString.split(os_1.EOL);
253
- expect(outputString).not.toContain('Error');
254
- expect(code).toBe(0);
255
- expect(output[1]).toContain('Starting upload with concurrency 20. ');
256
- expect(output[2]).toContain('Will look for dSYMs in src/commands/dsyms/__tests__/fixtures/');
257
- expect(output[3]).toContain('Will use temporary intermediate directory: ');
258
- expect(output[4]).toContain('Will use temporary upload directory: ');
259
- expect(output[5]).toContain('Uploading C8469F85-B060-3085-B69D-E46C645560EA.zip (DDTest, arch: armv7, UUID: C8469F85-B060-3085-B69D-E46C645560EA)');
260
- expect(output[6]).toContain('Uploading 06EE3D68-D605-3E92-B92D-2F48C02A505E.zip (DDTest, arch: arm64, UUID: 06EE3D68-D605-3E92-B92D-2F48C02A505E)');
261
- expect(output[7]).toContain('Uploading 3BC12422-63CC-30E8-B916-E5006CE3286C.zip (DDTest, arch: arm64, UUID: 3BC12422-63CC-30E8-B916-E5006CE3286C)');
262
- expect(output[10]).toContain('Handled 3 dSYMs with success');
263
- }));
264
- test('Should succeed with zip file input', () => __awaiter(void 0, void 0, void 0, function* () {
265
- const { context, code } = yield runCLI('src/commands/dsyms/__tests__/fixtures/all.zip');
266
- const outputString = context.stdout.toString();
267
- const output = outputString.split(os_1.EOL);
268
- expect(outputString).not.toContain('Error');
269
- expect(code).toBe(0);
270
- expect(output[1]).toContain('Starting upload with concurrency 20. ');
271
- expect(output[2]).toContain('Will look for dSYMs in src/commands/dsyms/__tests__/fixtures/all.zip');
272
- expect(output[3]).toContain('Will use temporary intermediate directory: ');
273
- expect(output[4]).toContain('Will use temporary upload directory: ');
274
- expect(output[5]).toContain('Uploading C8469F85-B060-3085-B69D-E46C645560EA.zip (DDTest, arch: armv7, UUID: C8469F85-B060-3085-B69D-E46C645560EA)');
275
- expect(output[6]).toContain('Uploading 06EE3D68-D605-3E92-B92D-2F48C02A505E.zip (DDTest, arch: arm64, UUID: 06EE3D68-D605-3E92-B92D-2F48C02A505E)');
276
- expect(output[7]).toContain('Uploading 3BC12422-63CC-30E8-B916-E5006CE3286C.zip (DDTest, arch: arm64, UUID: 3BC12422-63CC-30E8-B916-E5006CE3286C)');
277
- expect(output[10]).toContain('Handled 3 dSYMs with success');
278
- }));
279
- test('Should succeed with API key and site from datadog.json file', () => __awaiter(void 0, void 0, void 0, function* () {
280
- const { context, code } = yield runCLI('src/commands/dsyms/__tests__/fixtures/', {
281
- configPath: 'src/commands/dsyms/__tests__/fixtures/datadog-ci.json',
282
- });
283
- const outputString = context.stdout.toString();
284
- const output = outputString.split(os_1.EOL);
285
- expect(outputString).not.toContain('Error');
286
- expect(code).toBe(0);
287
- expect(output[1]).toContain('Starting upload with concurrency 20. ');
288
- expect(output[2]).toContain('Will look for dSYMs in src/commands/dsyms/__tests__/fixtures/');
289
- expect(output[3]).toContain('Will use temporary intermediate directory: ');
290
- expect(output[4]).toContain('Will use temporary upload directory: ');
291
- expect(output[5]).toContain('Uploading C8469F85-B060-3085-B69D-E46C645560EA.zip (DDTest, arch: armv7, UUID: C8469F85-B060-3085-B69D-E46C645560EA)');
292
- expect(output[6]).toContain('Uploading 06EE3D68-D605-3E92-B92D-2F48C02A505E.zip (DDTest, arch: arm64, UUID: 06EE3D68-D605-3E92-B92D-2F48C02A505E)');
293
- expect(output[7]).toContain('Uploading 3BC12422-63CC-30E8-B916-E5006CE3286C.zip (DDTest, arch: arm64, UUID: 3BC12422-63CC-30E8-B916-E5006CE3286C)');
294
- expect(output[10]).toContain('Handled 3 dSYMs with success');
295
- }));
296
- });
297
- //# sourceMappingURL=upload.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/dsyms/__tests__/upload.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,99 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
31
- return (mod && mod.__esModule) ? mod : { "default": mod };
32
- };
33
- Object.defineProperty(exports, "__esModule", { value: true });
34
- const fs_1 = __importStar(require("fs"));
35
- const glob_1 = __importDefault(require("glob"));
36
- const utils_1 = require("../../../helpers/utils");
37
- const utils_2 = require("../utils");
38
- describe('utils', () => {
39
- describe('createTmpDirectory', () => {
40
- test('Create unique directory', () => __awaiter(void 0, void 0, void 0, function* () {
41
- const tmpDirectory1 = yield utils_2.createUniqueTmpDirectory();
42
- const tmpDirectory2 = yield utils_2.createUniqueTmpDirectory();
43
- expect(fs_1.default.existsSync(tmpDirectory1)).toBeTruthy();
44
- expect(fs_1.default.existsSync(tmpDirectory2)).toBeTruthy();
45
- expect(tmpDirectory1).not.toEqual(tmpDirectory2);
46
- yield utils_2.deleteDirectory(tmpDirectory1);
47
- yield utils_2.deleteDirectory(tmpDirectory2);
48
- }));
49
- });
50
- describe('deleteDirectory', () => {
51
- test('Delete empty directory', () => __awaiter(void 0, void 0, void 0, function* () {
52
- const tmpDirectory = yield utils_2.createUniqueTmpDirectory();
53
- yield utils_2.deleteDirectory(tmpDirectory);
54
- expect(fs_1.default.existsSync(tmpDirectory)).toBeFalsy();
55
- }));
56
- test('Delete non-empty directory', () => __awaiter(void 0, void 0, void 0, function* () {
57
- const tmpDirectory = yield utils_2.createUniqueTmpDirectory();
58
- yield fs_1.promises.mkdir(utils_1.buildPath(tmpDirectory, 'foo'));
59
- yield fs_1.promises.writeFile(utils_1.buildPath(tmpDirectory, 'foo', 'bar1'), 'mock1');
60
- yield fs_1.promises.writeFile(utils_1.buildPath(tmpDirectory, 'foo', 'bar2'), 'mock2');
61
- yield utils_2.deleteDirectory(tmpDirectory);
62
- expect(fs_1.default.existsSync(tmpDirectory)).toBeFalsy();
63
- }));
64
- });
65
- describe('zipDirectoryToArchive', () => {
66
- test('Compress folder to archive at given path', () => __awaiter(void 0, void 0, void 0, function* () {
67
- const archiveDirectory = yield utils_2.createUniqueTmpDirectory();
68
- const archivePath = utils_1.buildPath(archiveDirectory, 'archive.zip');
69
- yield utils_2.zipDirectoryToArchive('./src/commands/dsyms/__tests__/fixtures', archivePath);
70
- expect(fs_1.default.existsSync(archivePath)).toBeTruthy();
71
- yield utils_2.deleteDirectory(archiveDirectory);
72
- }));
73
- });
74
- describe('unzipArchiveToDirectory', () => {
75
- test('Uncompress archive to given destination', () => __awaiter(void 0, void 0, void 0, function* () {
76
- const archiveDirectory = yield utils_2.createUniqueTmpDirectory();
77
- const destinationDirectory = yield utils_2.createUniqueTmpDirectory();
78
- const archivePath = utils_1.buildPath(archiveDirectory, 'archive.zip');
79
- yield utils_2.zipDirectoryToArchive('./src/commands/dsyms/__tests__/fixtures', archivePath);
80
- yield utils_2.unzipArchiveToDirectory(archivePath, destinationDirectory);
81
- const originalContentList = glob_1.default.sync(utils_1.buildPath('./src/commands/dsyms/__tests__/', 'fixtures/**/*'));
82
- const unzippedContentList = glob_1.default.sync(utils_1.buildPath(destinationDirectory, 'fixtures/**/*'));
83
- expect(originalContentList.length).toEqual(unzippedContentList.length);
84
- yield utils_2.deleteDirectory(archiveDirectory);
85
- yield utils_2.deleteDirectory(destinationDirectory);
86
- }));
87
- });
88
- describe('isZipFile', () => {
89
- test('Zip file should return true', () => __awaiter(void 0, void 0, void 0, function* () {
90
- const file = './src/commands/dsyms/__tests__/fixtures/all.zip';
91
- expect(yield utils_2.isZipFile(file)).toBeTruthy();
92
- }));
93
- test('Arbitrary file should return false', () => __awaiter(void 0, void 0, void 0, function* () {
94
- const file = './src/commands/dsyms/__tests__/fixtures/multiple-archs/DDTest.framework.dSYM';
95
- expect(yield utils_2.isZipFile(file)).toBeFalsy();
96
- }));
97
- });
98
- });
99
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../src/commands/dsyms/__tests__/utils.test.ts"],"names":[],"mappings":"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"}