@datadog/datadog-ci-plugin-synthetics 3.21.0 → 3.21.2

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 (82) hide show
  1. package/dist/api.d.ts +52 -0
  2. package/dist/api.js +333 -0
  3. package/dist/api.js.map +1 -0
  4. package/dist/batch.d.ts +9 -0
  5. package/dist/batch.js +325 -0
  6. package/dist/batch.js.map +1 -0
  7. package/dist/build-and-test.d.ts +25 -0
  8. package/dist/build-and-test.js +196 -0
  9. package/dist/build-and-test.js.map +1 -0
  10. package/dist/commands/deploy-tests.d.ts +19 -0
  11. package/dist/commands/deploy-tests.js +125 -0
  12. package/dist/commands/deploy-tests.js.map +1 -0
  13. package/dist/commands/import-tests.d.ts +19 -0
  14. package/dist/commands/import-tests.js +118 -0
  15. package/dist/commands/import-tests.js.map +1 -0
  16. package/dist/commands/run-tests.d.ts +19 -0
  17. package/dist/commands/run-tests.js +308 -0
  18. package/dist/commands/run-tests.js.map +1 -0
  19. package/dist/commands/upload-application.d.ts +18 -0
  20. package/dist/commands/upload-application.js +138 -0
  21. package/dist/commands/upload-application.js.map +1 -0
  22. package/dist/deploy-tests-lib.d.ts +2 -0
  23. package/dist/deploy-tests-lib.js +96 -0
  24. package/dist/deploy-tests-lib.js.map +1 -0
  25. package/dist/errors.d.ts +18 -0
  26. package/dist/errors.js +30 -0
  27. package/dist/errors.js.map +1 -0
  28. package/dist/import-tests-lib.d.ts +2 -0
  29. package/dist/import-tests-lib.js +71 -0
  30. package/dist/import-tests-lib.js.map +1 -0
  31. package/dist/index.d.ts +7 -0
  32. package/dist/index.js +44 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/interfaces.d.ts +739 -0
  35. package/dist/interfaces.js +27 -0
  36. package/dist/interfaces.js.map +1 -0
  37. package/dist/local-test-definition.d.ts +2 -0
  38. package/dist/local-test-definition.js +16 -0
  39. package/dist/local-test-definition.js.map +1 -0
  40. package/dist/mobile.d.ts +28 -0
  41. package/dist/mobile.js +275 -0
  42. package/dist/mobile.js.map +1 -0
  43. package/dist/multilocator.d.ts +2 -0
  44. package/dist/multilocator.js +88 -0
  45. package/dist/multilocator.js.map +1 -0
  46. package/dist/reporters/constants.d.ts +6 -0
  47. package/dist/reporters/constants.js +14 -0
  48. package/dist/reporters/constants.js.map +1 -0
  49. package/dist/reporters/default.d.ts +31 -0
  50. package/dist/reporters/default.js +416 -0
  51. package/dist/reporters/default.js.map +1 -0
  52. package/dist/reporters/junit.d.ts +100 -0
  53. package/dist/reporters/junit.js +425 -0
  54. package/dist/reporters/junit.js.map +1 -0
  55. package/dist/reporters/mobile/app-upload.d.ts +15 -0
  56. package/dist/reporters/mobile/app-upload.js +54 -0
  57. package/dist/reporters/mobile/app-upload.js.map +1 -0
  58. package/dist/run-tests-lib.d.ts +21 -0
  59. package/dist/run-tests-lib.js +247 -0
  60. package/dist/run-tests-lib.js.map +1 -0
  61. package/dist/test.d.ts +30 -0
  62. package/dist/test.js +204 -0
  63. package/dist/test.js.map +1 -0
  64. package/dist/tunnel/crypto.d.ts +6 -0
  65. package/dist/tunnel/crypto.js +48 -0
  66. package/dist/tunnel/crypto.js.map +1 -0
  67. package/dist/tunnel/index.d.ts +1 -0
  68. package/dist/tunnel/index.js +6 -0
  69. package/dist/tunnel/index.js.map +1 -0
  70. package/dist/tunnel/tunnel.d.ts +49 -0
  71. package/dist/tunnel/tunnel.js +329 -0
  72. package/dist/tunnel/tunnel.js.map +1 -0
  73. package/dist/tunnel/websocket.d.ts +39 -0
  74. package/dist/tunnel/websocket.js +154 -0
  75. package/dist/tunnel/websocket.js.map +1 -0
  76. package/dist/utils/internal.d.ts +56 -0
  77. package/dist/utils/internal.js +313 -0
  78. package/dist/utils/internal.js.map +1 -0
  79. package/dist/utils/public.d.ts +76 -0
  80. package/dist/utils/public.js +509 -0
  81. package/dist/utils/public.js.map +1 -0
  82. package/package.json +9 -3
@@ -0,0 +1,509 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.reportCiError = exports.pluralize = exports.getDatadogHost = exports.toExitCode = exports.getExitReason = exports.reportExitLogs = exports.renderResults = exports.sortResultsByOutcome = exports.getResultUrl = exports.getBatchUrl = exports.getAppBaseURL = exports.retry = exports.fetchTest = exports.isDeviceIdSet = exports.getReporter = exports.createInitialSummary = exports.isResultSkippedBySelectiveRerun = exports.getOrgSettings = exports.parsePublicIdWithVersion = exports.normalizePublicId = exports.getFilePathRelativeToRepo = exports.getSuites = exports.getResultOutcome = exports.PASSED_RESULT_OUTCOMES = exports.isTestSupportedByTunnel = exports.getStrictestExecutionRule = exports.getExecutionRule = exports.setCiTriggerApp = exports.getTestOverridesCount = exports.makeTestPayload = exports.ciTriggerApp = exports.readableOperation = exports.PUBLIC_ID_REGEX = void 0;
39
+ const child_process_1 = require("child_process");
40
+ const fs = __importStar(require("fs"));
41
+ const process_1 = __importDefault(require("process"));
42
+ const util_1 = require("util");
43
+ const app_1 = require("@datadog/datadog-ci-base/helpers/app");
44
+ const glob_1 = require("@datadog/datadog-ci-base/helpers/glob");
45
+ const chalk_1 = __importDefault(require("chalk"));
46
+ const upath_1 = __importDefault(require("upath"));
47
+ const api_1 = require("../api");
48
+ const errors_1 = require("../errors");
49
+ const interfaces_1 = require("../interfaces");
50
+ const internal_1 = require("./internal");
51
+ exports.PUBLIC_ID_REGEX = /\b[a-z0-9]{3}-[a-z0-9]{3}-[a-z0-9]{3}\b/;
52
+ exports.readableOperation = {
53
+ [interfaces_1.Operator.contains]: 'should contain',
54
+ [interfaces_1.Operator.doesNotContain]: 'should not contain',
55
+ [interfaces_1.Operator.is]: 'should be',
56
+ [interfaces_1.Operator.isNot]: 'should not be',
57
+ [interfaces_1.Operator.lessThan]: 'should be less than',
58
+ [interfaces_1.Operator.matches]: 'should match',
59
+ [interfaces_1.Operator.doesNotMatch]: 'should not match',
60
+ [interfaces_1.Operator.isInLessThan]: 'will expire in less than',
61
+ [interfaces_1.Operator.isInMoreThan]: 'will expire in more than',
62
+ [interfaces_1.Operator.lessThanOrEqual]: 'should be less than or equal to',
63
+ [interfaces_1.Operator.moreThan]: 'should be more than',
64
+ [interfaces_1.Operator.moreThanOrEqual]: 'should be less than or equal to',
65
+ [interfaces_1.Operator.validatesJSONPath]: 'assert on JSONPath extracted value',
66
+ [interfaces_1.Operator.validatesXPath]: 'assert on XPath extracted value',
67
+ };
68
+ exports.ciTriggerApp = process_1.default.env.DATADOG_SYNTHETICS_CI_TRIGGER_APP || 'npm_package';
69
+ const makeTestPayload = (test, triggerConfig, publicId) => {
70
+ if ((0, internal_1.isLocalTriggerConfig)(triggerConfig)) {
71
+ return Object.assign(Object.assign({}, (0, internal_1.getBasePayload)(test, triggerConfig.testOverrides)), { local_test_definition: triggerConfig.localTestDefinition });
72
+ }
73
+ return Object.assign(Object.assign({}, (0, internal_1.getBasePayload)(test, triggerConfig.testOverrides)), { public_id: publicId, version: triggerConfig.version });
74
+ };
75
+ exports.makeTestPayload = makeTestPayload;
76
+ const getTestOverridesCount = (testOverrides) => {
77
+ return Object.keys(testOverrides).reduce((count) => count + 1, 0);
78
+ };
79
+ exports.getTestOverridesCount = getTestOverridesCount;
80
+ const setCiTriggerApp = (source) => {
81
+ exports.ciTriggerApp = source;
82
+ };
83
+ exports.setCiTriggerApp = setCiTriggerApp;
84
+ const getExecutionRule = (test, configOverride) => {
85
+ var _a, _b, _c, _d;
86
+ if (configOverride && configOverride.executionRule) {
87
+ return (0, exports.getStrictestExecutionRule)(configOverride.executionRule, (_b = (_a = test === null || test === void 0 ? void 0 : test.options) === null || _a === void 0 ? void 0 : _a.ci) === null || _b === void 0 ? void 0 : _b.executionRule);
88
+ }
89
+ return ((_d = (_c = test === null || test === void 0 ? void 0 : test.options) === null || _c === void 0 ? void 0 : _c.ci) === null || _d === void 0 ? void 0 : _d.executionRule) || interfaces_1.ExecutionRule.BLOCKING;
90
+ };
91
+ exports.getExecutionRule = getExecutionRule;
92
+ const getStrictestExecutionRule = (configRule, testRule) => {
93
+ if (configRule === interfaces_1.ExecutionRule.SKIPPED || testRule === interfaces_1.ExecutionRule.SKIPPED) {
94
+ return interfaces_1.ExecutionRule.SKIPPED;
95
+ }
96
+ if (configRule === interfaces_1.ExecutionRule.NON_BLOCKING || testRule === interfaces_1.ExecutionRule.NON_BLOCKING) {
97
+ return interfaces_1.ExecutionRule.NON_BLOCKING;
98
+ }
99
+ if (configRule === interfaces_1.ExecutionRule.BLOCKING || testRule === interfaces_1.ExecutionRule.BLOCKING) {
100
+ return interfaces_1.ExecutionRule.BLOCKING;
101
+ }
102
+ return interfaces_1.ExecutionRule.BLOCKING;
103
+ };
104
+ exports.getStrictestExecutionRule = getStrictestExecutionRule;
105
+ const isTestSupportedByTunnel = (test) => {
106
+ var _a;
107
+ // Test public IDs are required by the tunnel.
108
+ if (!test.public_id) {
109
+ return false;
110
+ }
111
+ return (test.type === 'browser' ||
112
+ test.subtype === 'http' ||
113
+ (test.subtype === 'multi' && ((_a = test.config.steps) === null || _a === void 0 ? void 0 : _a.every((step) => step.subtype === 'http'))));
114
+ };
115
+ exports.isTestSupportedByTunnel = isTestSupportedByTunnel;
116
+ exports.PASSED_RESULT_OUTCOMES = [
117
+ "passed" /* ResultOutcome.Passed */,
118
+ "passed-non-blocking" /* ResultOutcome.PassedNonBlocking */,
119
+ "previously-passed" /* ResultOutcome.PreviouslyPassed */,
120
+ ];
121
+ const getResultOutcome = (result) => {
122
+ if ((0, exports.isResultSkippedBySelectiveRerun)(result)) {
123
+ return "previously-passed" /* ResultOutcome.PreviouslyPassed */;
124
+ }
125
+ const executionRule = result.executionRule;
126
+ if (result.passed) {
127
+ if (executionRule === interfaces_1.ExecutionRule.NON_BLOCKING) {
128
+ return "passed-non-blocking" /* ResultOutcome.PassedNonBlocking */;
129
+ }
130
+ return "passed" /* ResultOutcome.Passed */;
131
+ }
132
+ if (executionRule === interfaces_1.ExecutionRule.NON_BLOCKING) {
133
+ return "failed-non-blocking" /* ResultOutcome.FailedNonBlocking */;
134
+ }
135
+ return "failed" /* ResultOutcome.Failed */;
136
+ };
137
+ exports.getResultOutcome = getResultOutcome;
138
+ const getSuites = (pattern, reporter) => __awaiter(void 0, void 0, void 0, function* () {
139
+ reporter.log(`Finding files matching ${upath_1.default.resolve(process_1.default.cwd(), pattern)}\n`);
140
+ const files = (0, glob_1.globSync)(pattern);
141
+ if (files.length) {
142
+ reporter.log(`\nGot test files:\n${files.map((file) => ` - ${file}\n`).join('')}\n`);
143
+ }
144
+ else {
145
+ reporter.log('\nNo test files found.\n\n');
146
+ }
147
+ return Promise.all(files.map((file) => __awaiter(void 0, void 0, void 0, function* () {
148
+ try {
149
+ const content = yield (0, util_1.promisify)(fs.readFile)(file, 'utf8');
150
+ const suiteName = yield (0, exports.getFilePathRelativeToRepo)(file);
151
+ return { name: suiteName, content: JSON.parse(content) };
152
+ }
153
+ catch (e) {
154
+ throw new Error(`Unable to read and parse the test file ${file}`);
155
+ }
156
+ })));
157
+ });
158
+ exports.getSuites = getSuites;
159
+ const getFilePathRelativeToRepo = (filePath) => __awaiter(void 0, void 0, void 0, function* () {
160
+ const parentDirectory = upath_1.default.dirname(filePath);
161
+ const filename = upath_1.default.basename(filePath);
162
+ let relativeDirectory;
163
+ try {
164
+ const { stdout } = yield (0, util_1.promisify)(child_process_1.exec)('git rev-parse --show-toplevel');
165
+ const repoTopLevel = stdout.trim();
166
+ relativeDirectory = upath_1.default.relative(repoTopLevel, parentDirectory);
167
+ }
168
+ catch (_a) {
169
+ // We aren't in a git repository: fall back to the given path, relative to the process working directory.
170
+ relativeDirectory = upath_1.default.relative(process_1.default.cwd(), parentDirectory);
171
+ }
172
+ return upath_1.default.join(relativeDirectory, filename);
173
+ });
174
+ exports.getFilePathRelativeToRepo = getFilePathRelativeToRepo;
175
+ const normalizePublicId = (id) => { var _a; return id === internal_1.LOCAL_TEST_DEFINITION_PUBLIC_ID_PLACEHOLDER ? id : (_a = id.match(exports.PUBLIC_ID_REGEX)) === null || _a === void 0 ? void 0 : _a[0]; };
176
+ exports.normalizePublicId = normalizePublicId;
177
+ const parsePublicIdWithVersion = (id) => {
178
+ // Check if the ID contains a version (format: <public-id>@<version-id>)
179
+ const versionMatch = id.match(/^([a-z0-9]{3}-[a-z0-9]{3}-[a-z0-9]{3})@(\d+)$/);
180
+ if (versionMatch) {
181
+ const [, matchedId, versionStr] = versionMatch;
182
+ const version = parseInt(versionStr, 10);
183
+ return { publicId: matchedId, version };
184
+ }
185
+ const plainId = (0, exports.normalizePublicId)(id);
186
+ if (plainId) {
187
+ return { publicId: plainId };
188
+ }
189
+ return undefined;
190
+ };
191
+ exports.parsePublicIdWithVersion = parsePublicIdWithVersion;
192
+ const getOrgSettings = (reporter, config) => __awaiter(void 0, void 0, void 0, function* () {
193
+ const api = (0, api_1.getApiHelper)(config);
194
+ try {
195
+ return yield api.getSyntheticsOrgSettings();
196
+ }
197
+ catch (e) {
198
+ reporter.error(`Failed to get settings: ${(0, api_1.formatBackendErrors)(e, 'synthetics_default_settings_read')}`);
199
+ }
200
+ });
201
+ exports.getOrgSettings = getOrgSettings;
202
+ const isResultSkippedBySelectiveRerun = (result) => {
203
+ var _a;
204
+ return ((_a = result.selectiveRerun) === null || _a === void 0 ? void 0 : _a.decision) === 'skip';
205
+ };
206
+ exports.isResultSkippedBySelectiveRerun = isResultSkippedBySelectiveRerun;
207
+ const createInitialSummary = () => ({
208
+ criticalErrors: 0,
209
+ expected: 0,
210
+ failed: 0,
211
+ failedNonBlocking: 0,
212
+ passed: 0,
213
+ previouslyPassed: 0,
214
+ skipped: 0,
215
+ testsNotFound: new Set(),
216
+ testsNotAuthorized: new Set(),
217
+ timedOut: 0,
218
+ });
219
+ exports.createInitialSummary = createInitialSummary;
220
+ const getReporter = (reporters) => ({
221
+ error: (error) => {
222
+ for (const reporter of reporters) {
223
+ if (typeof reporter.error === 'function') {
224
+ reporter.error(error);
225
+ }
226
+ }
227
+ },
228
+ initErrors: (errors) => {
229
+ for (const reporter of reporters) {
230
+ if (typeof reporter.initErrors === 'function') {
231
+ reporter.initErrors(errors);
232
+ }
233
+ }
234
+ },
235
+ log: (log) => {
236
+ for (const reporter of reporters) {
237
+ if (typeof reporter.log === 'function') {
238
+ reporter.log(log);
239
+ }
240
+ }
241
+ },
242
+ reportStart: (timings) => {
243
+ for (const reporter of reporters) {
244
+ if (typeof reporter.reportStart === 'function') {
245
+ reporter.reportStart(timings);
246
+ }
247
+ }
248
+ },
249
+ resultEnd: (result, baseUrl, batchId) => {
250
+ for (const reporter of reporters) {
251
+ if (typeof reporter.resultEnd === 'function') {
252
+ reporter.resultEnd(result, baseUrl, batchId);
253
+ }
254
+ }
255
+ },
256
+ resultReceived: (result) => {
257
+ for (const reporter of reporters) {
258
+ if (typeof reporter.resultReceived === 'function') {
259
+ reporter.resultReceived(result);
260
+ }
261
+ }
262
+ },
263
+ runEnd: (summary, baseUrl, orgSettings) => {
264
+ for (const reporter of reporters) {
265
+ if (typeof reporter.runEnd === 'function') {
266
+ reporter.runEnd(summary, baseUrl, orgSettings);
267
+ }
268
+ }
269
+ },
270
+ testTrigger: (test, testId, executionRule, testOverrides) => {
271
+ for (const reporter of reporters) {
272
+ if (typeof reporter.testTrigger === 'function') {
273
+ reporter.testTrigger(test, testId, executionRule, testOverrides);
274
+ }
275
+ }
276
+ },
277
+ testWait: (test) => {
278
+ for (const reporter of reporters) {
279
+ if (typeof reporter.testWait === 'function') {
280
+ reporter.testWait(test);
281
+ }
282
+ }
283
+ },
284
+ testsWait: (tests, baseUrl, batchId, skippedCount) => {
285
+ for (const reporter of reporters) {
286
+ if (typeof reporter.testsWait === 'function') {
287
+ reporter.testsWait(tests, baseUrl, batchId, skippedCount);
288
+ }
289
+ }
290
+ },
291
+ });
292
+ exports.getReporter = getReporter;
293
+ const isDeviceIdSet = (result) => 'device' in result && result.device !== undefined;
294
+ exports.isDeviceIdSet = isDeviceIdSet;
295
+ const fetchTest = (publicId, config) => __awaiter(void 0, void 0, void 0, function* () {
296
+ const api = (0, api_1.getApiHelper)(config);
297
+ return api.getTest(publicId);
298
+ });
299
+ exports.fetchTest = fetchTest;
300
+ const retry = (func, shouldRetryAfterWait) => __awaiter(void 0, void 0, void 0, function* () {
301
+ const trier = (retries = 0) => __awaiter(void 0, void 0, void 0, function* () {
302
+ try {
303
+ return yield func();
304
+ }
305
+ catch (e) {
306
+ const waiter = shouldRetryAfterWait(retries, e);
307
+ if (waiter) {
308
+ yield (0, internal_1.wait)(waiter);
309
+ return trier(retries + 1);
310
+ }
311
+ throw e;
312
+ }
313
+ });
314
+ return trier();
315
+ });
316
+ exports.retry = retry;
317
+ const getAppBaseURL = ({ datadogSite, subdomain }) => {
318
+ return (0, app_1.getCommonAppBaseURL)(datadogSite, subdomain);
319
+ };
320
+ exports.getAppBaseURL = getAppBaseURL;
321
+ const getBatchUrl = (baseUrl, batchId) => `${baseUrl}synthetics/explorer/ci?batchResultId=${batchId}`;
322
+ exports.getBatchUrl = getBatchUrl;
323
+ const getResultUrl = (baseUrl, test, resultId, batchId) => {
324
+ const ciQueryParam = `batch_id=${batchId}&from_ci=true`;
325
+ const testDetailUrl = `${baseUrl}synthetics/details/${test.public_id}`;
326
+ if (test.type === 'browser') {
327
+ return `${testDetailUrl}/result/${resultId}?${ciQueryParam}`;
328
+ }
329
+ return `${testDetailUrl}?resultId=${resultId}&${ciQueryParam}`;
330
+ };
331
+ exports.getResultUrl = getResultUrl;
332
+ /**
333
+ * Sort results with the following rules:
334
+ * - Passed results come first
335
+ * - Then non-blocking failed results
336
+ * - And finally failed results
337
+ */
338
+ const sortResultsByOutcome = () => {
339
+ const outcomeWeight = {
340
+ ["previously-passed" /* ResultOutcome.PreviouslyPassed */]: 1,
341
+ ["passed-non-blocking" /* ResultOutcome.PassedNonBlocking */]: 2,
342
+ ["passed" /* ResultOutcome.Passed */]: 3,
343
+ ["failed-non-blocking" /* ResultOutcome.FailedNonBlocking */]: 4,
344
+ ["failed" /* ResultOutcome.Failed */]: 5,
345
+ };
346
+ return (r1, r2) => outcomeWeight[(0, exports.getResultOutcome)(r1)] - outcomeWeight[(0, exports.getResultOutcome)(r2)];
347
+ };
348
+ exports.sortResultsByOutcome = sortResultsByOutcome;
349
+ const renderResults = ({ config, orgSettings, reporter, results, startTime, summary, }) => {
350
+ reporter.reportStart({ startTime });
351
+ if (!config.failOnTimeout) {
352
+ if (!summary.timedOut) {
353
+ summary.timedOut = 0;
354
+ }
355
+ }
356
+ if (!config.failOnCriticalErrors) {
357
+ if (!summary.criticalErrors) {
358
+ summary.criticalErrors = 0;
359
+ }
360
+ }
361
+ for (const result of results) {
362
+ if (!config.failOnTimeout && result.timedOut) {
363
+ summary.timedOut++;
364
+ }
365
+ if ((0, internal_1.hasDefinedResult)(result) && result.result.unhealthy && !config.failOnCriticalErrors) {
366
+ summary.criticalErrors++;
367
+ }
368
+ const resultOutcome = (0, exports.getResultOutcome)(result);
369
+ if (result.executionRule !== interfaces_1.ExecutionRule.SKIPPED || resultOutcome === "previously-passed" /* ResultOutcome.PreviouslyPassed */) {
370
+ summary.expected++;
371
+ }
372
+ if (["passed" /* ResultOutcome.Passed */, "passed-non-blocking" /* ResultOutcome.PassedNonBlocking */].includes(resultOutcome)) {
373
+ summary.passed++;
374
+ }
375
+ else if (resultOutcome === "previously-passed" /* ResultOutcome.PreviouslyPassed */) {
376
+ summary.passed++;
377
+ summary.previouslyPassed++;
378
+ }
379
+ else if (resultOutcome === "failed-non-blocking" /* ResultOutcome.FailedNonBlocking */) {
380
+ summary.failedNonBlocking++;
381
+ }
382
+ else {
383
+ summary.failed++;
384
+ }
385
+ }
386
+ reporter.runEnd(summary, (0, exports.getAppBaseURL)(config), orgSettings);
387
+ };
388
+ exports.renderResults = renderResults;
389
+ const reportExitLogs = (reporter, config, { results, error }) => {
390
+ if (!config.failOnTimeout && (results === null || results === void 0 ? void 0 : results.some((result) => result.timedOut))) {
391
+ reporter.error(chalk_1.default.yellow('Because `failOnTimeout` is disabled, the command will succeed. ' +
392
+ 'Use `failOnTimeout: true` to make it fail instead.\n'));
393
+ }
394
+ if (!config.failOnCriticalErrors && error instanceof errors_1.CriticalError) {
395
+ reporter.error(chalk_1.default.yellow('Because `failOnCriticalErrors` is not set or disabled, the command will succeed. ' +
396
+ 'Use `failOnCriticalErrors: true` to make it fail instead.\n'));
397
+ }
398
+ if (error instanceof errors_1.CiError) {
399
+ (0, exports.reportCiError)(error, reporter);
400
+ }
401
+ };
402
+ exports.reportExitLogs = reportExitLogs;
403
+ const getExitReason = (config, { results, error }) => {
404
+ if (results === null || results === void 0 ? void 0 : results.some((result) => (0, exports.getResultOutcome)(result) === "failed" /* ResultOutcome.Failed */)) {
405
+ return 'failing-tests';
406
+ }
407
+ if (error instanceof errors_1.CiError) {
408
+ // Make the CI fail if something outside was changed, leading to missing tests. For example:
409
+ // - a search query starts returning no results because somebody changed some tags
410
+ // - an explicitly listed test was deleted
411
+ // - some tests can't be read or written to because of permissions
412
+ if (config.failOnMissingTests && ['NO_TESTS_TO_RUN', 'MISSING_TESTS', 'UNAUTHORIZED_TESTS'].includes(error.code)) {
413
+ return 'missing-tests';
414
+ }
415
+ if (error instanceof errors_1.CriticalError) {
416
+ if (config.failOnCriticalErrors) {
417
+ return 'critical-error';
418
+ }
419
+ }
420
+ }
421
+ return 'passed';
422
+ };
423
+ exports.getExitReason = getExitReason;
424
+ const toExitCode = (reason) => {
425
+ return reason === 'passed' ? 0 : 1;
426
+ };
427
+ exports.toExitCode = toExitCode;
428
+ const getDatadogHost = (hostConfig) => {
429
+ const { useIntake, apiVersion, config } = hostConfig;
430
+ const apiPath = (() => {
431
+ switch (apiVersion) {
432
+ case 'v1':
433
+ return 'api/v1';
434
+ case 'v2':
435
+ return 'api/v2';
436
+ case 'unstable':
437
+ return 'api/unstable';
438
+ default:
439
+ return 'api/unstable';
440
+ }
441
+ })();
442
+ let host = `https://api.${config.datadogSite}`;
443
+ const hostOverride = process_1.default.env.DD_API_HOST_OVERRIDE;
444
+ if (hostOverride) {
445
+ host = hostOverride;
446
+ }
447
+ else if (useIntake && (config.datadogSite === 'datadoghq.com' || config.datadogSite === 'datad0g.com')) {
448
+ host = `https://intake.synthetics.${config.datadogSite}`;
449
+ }
450
+ return `${host}/${apiPath}`;
451
+ };
452
+ exports.getDatadogHost = getDatadogHost;
453
+ const pluralize = (word, count) => (count === 1 ? word : `${word}s`);
454
+ exports.pluralize = pluralize;
455
+ const reportCiError = (error, reporter) => {
456
+ switch (error.code) {
457
+ case 'NO_TESTS_TO_RUN':
458
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: No tests to run ')}\n${error.message}\n\n`);
459
+ break;
460
+ case 'MISSING_TESTS':
461
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: some tests are missing ')}\n${error.message}\n\n`);
462
+ break;
463
+ case 'UNAUTHORIZED_TESTS':
464
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: missing read or write access to some tests ')}\n${error.message}\n\n`);
465
+ break;
466
+ // Critical command errors
467
+ case 'AUTHORIZATION_ERROR':
468
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: authorization error ')}\n${error.message}\n\n`);
469
+ reporter.log('Credentials refused, make sure `apiKey`, `appKey` and `datadogSite` are correct.\n');
470
+ break;
471
+ case 'INVALID_CONFIG':
472
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: invalid config ')}\n${error.message}\n\n`);
473
+ break;
474
+ case 'MISSING_APP_KEY':
475
+ reporter.error(`Missing ${chalk_1.default.red.bold('DATADOG_APP_KEY')} or ${chalk_1.default.red.bold('DD_APP_KEY')} in your environment.\n`);
476
+ break;
477
+ case 'MISSING_API_KEY':
478
+ reporter.error(`Missing ${chalk_1.default.red.bold('DATADOG_API_KEY')} or ${chalk_1.default.red.bold('DD_API_KEY')} in your environment.\n`);
479
+ break;
480
+ case 'POLL_RESULTS_FAILED':
481
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: unable to poll test results ')}\n${error.message}\n\n`);
482
+ break;
483
+ case 'BATCH_TIMEOUT_RUNAWAY':
484
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: batch timeout runaway ')}\n${error.message}\n\n`);
485
+ break;
486
+ case 'TUNNEL_START_FAILED':
487
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: unable to start tunnel ')}\n${error.message}\n\n`);
488
+ break;
489
+ case 'TOO_MANY_TESTS_TO_TRIGGER':
490
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: too many tests to trigger ')}\n${error.message}\n\n`);
491
+ break;
492
+ case 'TRIGGER_TESTS_FAILED':
493
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: unable to trigger tests ')}\n${error.message}\n\n`);
494
+ break;
495
+ case 'UNAVAILABLE_TEST_CONFIG':
496
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: unable to obtain test configurations with search query ')}\n${error.message}\n\n`);
497
+ break;
498
+ case 'UNAVAILABLE_TUNNEL_CONFIG':
499
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: unable to get tunnel configuration ')}\n${error.message}\n\n`);
500
+ break;
501
+ case 'LTD_MULTILOCATORS_UPDATE_FAILED':
502
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR: unable to update multilocators in local test definition')}\n${error.message}\n\n`);
503
+ break;
504
+ default:
505
+ reporter.error(`\n${chalk_1.default.bgRed.bold(' ERROR ')}\n${error.message}\n\n`);
506
+ }
507
+ };
508
+ exports.reportCiError = reportCiError;
509
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/utils/public.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,13 @@
1
1
  {
2
2
  "name": "@datadog/datadog-ci-plugin-synthetics",
3
- "version": "3.21.0",
3
+ "version": "3.21.2",
4
4
  "license": "Apache-2.0",
5
+ "description": "Datadog CI plugin for `synthetics` commands",
6
+ "keywords": [
7
+ "datadog",
8
+ "datadog-ci",
9
+ "plugin"
10
+ ],
5
11
  "homepage": "https://github.com/DataDog/datadog-ci/tree/master/packages/plugin-synthetics",
6
12
  "repository": {
7
13
  "type": "git",
@@ -33,10 +39,10 @@
33
39
  "prepack": "yarn package:clean-dist"
34
40
  },
35
41
  "peerDependencies": {
36
- "@datadog/datadog-ci": "3.21.0"
42
+ "@datadog/datadog-ci": "3.21.2"
37
43
  },
38
44
  "dependencies": {
39
- "@datadog/datadog-ci-base": "3.21.0",
45
+ "@datadog/datadog-ci-base": "3.21.2",
40
46
  "axios": "^1.12.1",
41
47
  "chalk": "3.0.0",
42
48
  "debug": "^4.4.1",