@datadog/datadog-ci 1.6.0 → 1.7.2-alpha

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 (58) hide show
  1. package/README.md +30 -0
  2. package/dist/commands/dsyms/interfaces.d.ts +1 -0
  3. package/dist/commands/dsyms/interfaces.js +15 -4
  4. package/dist/commands/dsyms/interfaces.js.map +1 -1
  5. package/dist/commands/git-metadata/interfaces.d.ts +1 -0
  6. package/dist/commands/git-metadata/interfaces.js +15 -4
  7. package/dist/commands/git-metadata/interfaces.js.map +1 -1
  8. package/dist/commands/lambda/__tests__/functions/commons.test.js +8 -0
  9. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +1 -1
  10. package/dist/commands/lambda/__tests__/instrument.test.js +22 -0
  11. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -1
  12. package/dist/commands/lambda/constants.d.ts +2 -0
  13. package/dist/commands/lambda/constants.js +2 -0
  14. package/dist/commands/lambda/constants.js.map +1 -1
  15. package/dist/commands/lambda/functions/commons.d.ts +2 -2
  16. package/dist/commands/sourcemaps/interfaces.d.ts +1 -0
  17. package/dist/commands/sourcemaps/interfaces.js +32 -20
  18. package/dist/commands/sourcemaps/interfaces.js.map +1 -1
  19. package/dist/commands/synthetics/__tests__/api.test.js +5 -16
  20. package/dist/commands/synthetics/__tests__/api.test.js.map +1 -1
  21. package/dist/commands/synthetics/__tests__/cli.test.js +137 -39
  22. package/dist/commands/synthetics/__tests__/cli.test.js.map +1 -1
  23. package/dist/commands/synthetics/__tests__/fixtures.d.ts +34 -45
  24. package/dist/commands/synthetics/__tests__/fixtures.js +108 -42
  25. package/dist/commands/synthetics/__tests__/fixtures.js.map +1 -1
  26. package/dist/commands/synthetics/__tests__/reporters/default.test.js +148 -3
  27. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +1 -1
  28. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +16 -16
  29. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +1 -1
  30. package/dist/commands/synthetics/__tests__/run-test.test.js +40 -23
  31. package/dist/commands/synthetics/__tests__/run-test.test.js.map +1 -1
  32. package/dist/commands/synthetics/__tests__/utils.test.js +150 -245
  33. package/dist/commands/synthetics/__tests__/utils.test.js.map +1 -1
  34. package/dist/commands/synthetics/api.d.ts +12 -2
  35. package/dist/commands/synthetics/api.js +13 -3
  36. package/dist/commands/synthetics/api.js.map +1 -1
  37. package/dist/commands/synthetics/command.d.ts +7 -1
  38. package/dist/commands/synthetics/command.js +41 -56
  39. package/dist/commands/synthetics/command.js.map +1 -1
  40. package/dist/commands/synthetics/errors.d.ts +3 -3
  41. package/dist/commands/synthetics/errors.js +5 -5
  42. package/dist/commands/synthetics/errors.js.map +1 -1
  43. package/dist/commands/synthetics/interfaces.d.ts +49 -47
  44. package/dist/commands/synthetics/interfaces.js +1 -7
  45. package/dist/commands/synthetics/interfaces.js.map +1 -1
  46. package/dist/commands/synthetics/reporters/default.d.ts +5 -5
  47. package/dist/commands/synthetics/reporters/default.js +89 -76
  48. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  49. package/dist/commands/synthetics/reporters/junit.d.ts +2 -3
  50. package/dist/commands/synthetics/reporters/junit.js +48 -56
  51. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  52. package/dist/commands/synthetics/run-test.d.ts +14 -8
  53. package/dist/commands/synthetics/run-test.js +23 -18
  54. package/dist/commands/synthetics/run-test.js.map +1 -1
  55. package/dist/commands/synthetics/utils.d.ts +18 -14
  56. package/dist/commands/synthetics/utils.js +93 -99
  57. package/dist/commands/synthetics/utils.js.map +1 -1
  58. package/package.json +4 -3
@@ -9,40 +9,33 @@ export interface MainReporter {
9
9
  reportStart(timings: {
10
10
  startTime: number;
11
11
  }): void;
12
- runEnd(summary: Summary): void;
13
- testEnd(test: Test, results: PollResult[], baseUrl: string, locationNames: LocationsMapping, failOnCriticalErrors: boolean, failOnTimeout: boolean): void;
14
- testResult(triggerResponse: TriggerResponse, result: PollResult): void;
12
+ resultEnd(result: Result, baseUrl: string): void;
13
+ resultReceived(result: Batch['results'][0]): void;
14
+ runEnd(summary: Summary, baseUrl: string): void;
15
15
  testsWait(tests: Test[]): void;
16
16
  testTrigger(test: Test, testId: string, executionRule: ExecutionRule, config: ConfigOverride): void;
17
17
  testWait(test: Test): void;
18
18
  }
19
- export declare enum ERRORS {
20
- TIMEOUT = "Timeout",
21
- ENDPOINT = "Endpoint Failure",
22
- TUNNEL = "Tunnel Failure"
23
- }
24
19
  export declare type Reporter = Partial<MainReporter>;
25
- export interface TestResult {
20
+ export interface BaseServerResult {
26
21
  error?: string;
27
22
  errorCode?: string;
28
23
  errorMessage?: string;
29
- eventType: string;
30
24
  failure?: {
31
25
  code: string;
32
26
  message: string;
33
27
  };
34
28
  passed: boolean;
35
- tunnel?: boolean;
36
29
  unhealthy?: boolean;
37
30
  }
38
- export interface BrowserTestResult extends TestResult {
31
+ export interface BrowserServerResult extends BaseServerResult {
39
32
  device: {
40
33
  height: number;
41
34
  id: string;
42
35
  width: number;
43
36
  };
44
37
  duration: number;
45
- error?: string | ERRORS;
38
+ error?: string;
46
39
  startUrl: string;
47
40
  stepDetails: Step[];
48
41
  }
@@ -51,7 +44,7 @@ interface AssertionResult {
51
44
  expected?: any;
52
45
  valid: boolean;
53
46
  }
54
- export interface ApiTestResult extends TestResult {
47
+ export interface ApiServerResult extends BaseServerResult {
55
48
  assertionResults: AssertionResult[];
56
49
  timings: {
57
50
  total: number;
@@ -72,19 +65,48 @@ export interface MultiStep {
72
65
  total: number;
73
66
  };
74
67
  }
75
- export interface MultiStepsTestResult extends TestResult {
68
+ export interface MultiStepsServerResult extends BaseServerResult {
76
69
  duration: number;
77
70
  steps: MultiStep[];
78
71
  }
79
- export declare type Result = BrowserTestResult | ApiTestResult | MultiStepsTestResult;
72
+ export declare type ServerResult = BrowserServerResult | ApiServerResult | MultiStepsServerResult;
80
73
  export interface PollResult {
81
- check?: Test;
82
- check_id?: string;
83
- dc_id: number;
84
- result: Result;
74
+ check: Pick<Test, 'config' | 'subtype' | 'type'>;
75
+ result: ServerResult;
85
76
  resultID: string;
86
77
  timestamp: number;
87
78
  }
79
+ export interface Result {
80
+ executionRule: ExecutionRule;
81
+ location: string;
82
+ passed: boolean;
83
+ result: ServerResult;
84
+ resultId: string;
85
+ test: Test;
86
+ timedOut: boolean;
87
+ timestamp: number;
88
+ }
89
+ declare type Status = 'passed' | 'failed' | 'in_progress';
90
+ export interface ResultInBatch {
91
+ execution_rule: ExecutionRule;
92
+ location: string;
93
+ result_id: string;
94
+ status: Status;
95
+ test_public_id: string;
96
+ timed_out: boolean;
97
+ }
98
+ export interface Batch {
99
+ results: ResultInBatch[];
100
+ status: Status;
101
+ }
102
+ interface SkippedResultInBatch extends Omit<ResultInBatch, 'result_id' | 'status'> {
103
+ status: 'skipped';
104
+ }
105
+ declare type ServerResultInBatch = SkippedResultInBatch | ResultInBatch;
106
+ export interface ServerBatch {
107
+ results: ServerResultInBatch[];
108
+ status: Status;
109
+ }
88
110
  export interface Vitals {
89
111
  cls?: number;
90
112
  lcp?: number;
@@ -115,7 +137,7 @@ export interface Step {
115
137
  type: string;
116
138
  }[];
117
139
  }
118
- export interface Test {
140
+ export interface ServerTest {
119
141
  config: {
120
142
  assertions: Assertion[];
121
143
  request: {
@@ -146,7 +168,7 @@ export interface Test {
146
168
  ci?: {
147
169
  executionRule: ExecutionRule;
148
170
  };
149
- device_ids: string[];
171
+ device_ids?: string[];
150
172
  min_failure_duration: number;
151
173
  min_location_failed: number;
152
174
  tick_every: number;
@@ -160,7 +182,7 @@ export interface Test {
160
182
  tags: string[];
161
183
  type: string;
162
184
  }
163
- export interface InternalTest extends Test {
185
+ export interface Test extends ServerTest {
164
186
  suite?: string;
165
187
  }
166
188
  export interface Assertion {
@@ -198,16 +220,6 @@ export interface User {
198
220
  id: number;
199
221
  name: string;
200
222
  }
201
- export interface TriggerResponse {
202
- device: string;
203
- location: number;
204
- public_id: string;
205
- result_id: string;
206
- }
207
- export interface TriggerResult extends TriggerResponse {
208
- pollingTimeout: number;
209
- result?: PollResult;
210
- }
211
223
  export interface Location {
212
224
  display_name: string;
213
225
  id: number;
@@ -216,12 +228,11 @@ export interface Location {
216
228
  region: string;
217
229
  }
218
230
  export interface LocationsMapping {
219
- [key: number]: string;
231
+ [key: string]: string;
220
232
  }
221
233
  export interface Trigger {
234
+ batch_id: string;
222
235
  locations: Location[];
223
- results: TriggerResponse[];
224
- triggered_check_ids: string[];
225
236
  }
226
237
  export interface RetryConfig {
227
238
  count: number;
@@ -297,8 +308,10 @@ export interface Suite {
297
308
  name?: string;
298
309
  }
299
310
  export interface Summary {
311
+ batchId?: string;
300
312
  criticalErrors: number;
301
313
  failed: number;
314
+ failedNonBlocking: number;
302
315
  passed: number;
303
316
  skipped: number;
304
317
  testsNotFound: Set<string>;
@@ -309,17 +322,6 @@ export interface TestSearchResult {
309
322
  public_id: string;
310
323
  }[];
311
324
  }
312
- export interface APIHelper {
313
- getPresignedURL(testIds: string[]): Promise<{
314
- url: string;
315
- }>;
316
- getTest(testId: string): Promise<Test>;
317
- pollResults(resultIds: string[]): Promise<{
318
- results: PollResult[];
319
- }>;
320
- searchTests(query: string): Promise<TestSearchResult>;
321
- triggerTests(payload: Payload): Promise<Trigger>;
322
- }
323
325
  export interface APIConfiguration {
324
326
  apiKey: string;
325
327
  appKey: string;
@@ -1,12 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecutionRule = exports.Operator = exports.ERRORS = void 0;
4
- var ERRORS;
5
- (function (ERRORS) {
6
- ERRORS["TIMEOUT"] = "Timeout";
7
- ERRORS["ENDPOINT"] = "Endpoint Failure";
8
- ERRORS["TUNNEL"] = "Tunnel Failure";
9
- })(ERRORS = exports.ERRORS || (exports.ERRORS = {}));
3
+ exports.ExecutionRule = exports.Operator = void 0;
10
4
  var Operator;
11
5
  (function (Operator) {
12
6
  Operator["contains"] = "contains";
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/synthetics/interfaces.ts"],"names":[],"mappings":";;;AAwBA,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,6BAAmB,CAAA;IACnB,uCAA6B,CAAA;IAC7B,mCAAyB,CAAA;AAC3B,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB;AAoKD,IAAY,QAeX;AAfD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,6CAAiC,CAAA;IACjC,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,yCAA6B,CAAA;IAC7B,yCAA6B,CAAA;IAC7B,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,+BAAmB,CAAA;IACnB,yCAA6B,CAAA;IAC7B,mDAAuC,CAAA;IACvC,6CAAiC,CAAA;AACnC,CAAC,EAfW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAenB;AAqGD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/synthetics/interfaces.ts"],"names":[],"mappings":";;;AAwNA,IAAY,QAeX;AAfD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,6CAAiC,CAAA;IACjC,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,yCAA6B,CAAA;IAC7B,yCAA6B,CAAA;IAC7B,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,+BAAmB,CAAA;IACnB,yCAA6B,CAAA;IAC7B,mDAAuC,CAAA;IACvC,6CAAiC,CAAA;AACnC,CAAC,EAfW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAenB;AAwFD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB"}
@@ -1,5 +1,5 @@
1
1
  import { BaseContext } from 'clipanion';
2
- import { ConfigOverride, ExecutionRule, LocationsMapping, MainReporter, PollResult, Summary, Test, TriggerResponse } from '../interfaces';
2
+ import { Batch, ConfigOverride, ExecutionRule, MainReporter, Result, Summary, Test } from '../interfaces';
3
3
  export declare class DefaultReporter implements MainReporter {
4
4
  private write;
5
5
  constructor({ context }: {
@@ -11,10 +11,10 @@ export declare class DefaultReporter implements MainReporter {
11
11
  reportStart(timings: {
12
12
  startTime: number;
13
13
  }): void;
14
- runEnd(summary: Summary): void;
15
- testEnd(test: Test, results: PollResult[], baseUrl: string, locationNames: LocationsMapping, failOnCriticalErrors: boolean, failOnTimeout: boolean): void;
16
- testResult(response: TriggerResponse, result: PollResult): void;
14
+ resultEnd(result: Result, baseUrl: string): void;
15
+ resultReceived(result: Batch['results'][0]): void;
16
+ runEnd(summary: Summary, baseUrl: string): void;
17
17
  testsWait(tests: Test[]): void;
18
- testTrigger(test: Test, testId: string, executionRule: ExecutionRule, config: ConfigOverride): void;
18
+ testTrigger(test: Pick<Test, 'name'>, testId: string, executionRule: ExecutionRule, config: ConfigOverride): void;
19
19
  testWait(test: Test): void;
20
20
  }
@@ -23,6 +23,7 @@ const renderStepDuration = (duration) => {
23
23
  };
24
24
  const ICONS = {
25
25
  FAILED: chalk_1.default.bold.red('✖'),
26
+ FAILED_NON_BLOCKING: chalk_1.default.bold.yellow('✖'),
26
27
  SKIPPED: chalk_1.default.bold.yellow('⇢'),
27
28
  SUCCESS: chalk_1.default.bold.green('✓'),
28
29
  };
@@ -38,10 +39,19 @@ const renderStepIcon = (step) => {
38
39
  const renderStep = (step) => {
39
40
  const duration = renderStepDuration(step.duration);
40
41
  const icon = renderStepIcon(step);
41
- const value = step.value ? `\n ${chalk_1.default.dim(step.value)}` : '';
42
- const error = step.error ? `\n ${chalk_1.default.red.dim(step.error)}` : '';
42
+ const value = step.value ? `\n ${chalk_1.default.dim(step.value)}` : '';
43
+ const error = step.error ? `\n ${chalk_1.default.red.dim(step.error)}` : '';
43
44
  return ` ${icon} | ${duration} - ${step.description}${value}${error}`;
44
45
  };
46
+ const renderSkippedSteps = (steps) => {
47
+ if (!steps.length) {
48
+ return;
49
+ }
50
+ if (steps.length === 1) {
51
+ return renderStep(steps[0]);
52
+ }
53
+ return ` ${ICONS.SKIPPED} | ${steps.length} skipped steps`;
54
+ };
45
55
  const readableOperation = {
46
56
  [interfaces_1.Operator.contains]: 'should contain',
47
57
  [interfaces_1.Operator.doesNotContain]: 'should not contain',
@@ -62,32 +72,32 @@ const renderApiError = (errorCode, errorMessage, color) => {
62
72
  if (errorCode === 'INCORRECT_ASSERTION') {
63
73
  try {
64
74
  const assertionsErrors = JSON.parse(errorMessage);
65
- const output = [' - Assertion(s) failed:'];
75
+ const output = [' - Assertion(s) failed:'];
66
76
  output.push(...assertionsErrors.map((error) => {
67
77
  const expected = chalk_1.default.underline(`${error.target}`);
68
78
  const actual = chalk_1.default.underline(`${error.actual}`);
69
79
  return `▶ ${error.type} ${readableOperation[error.operator]} ${expected}. Actual: ${actual}`;
70
80
  }));
71
- return color(output.join('\n '));
81
+ return color(output.join('\n '));
72
82
  }
73
83
  catch (e) {
74
84
  // JSON parsing failed, do nothing to return the raw error
75
85
  }
76
86
  }
77
- return chalk_1.default.red(` [${chalk_1.default.bold(errorCode)}] - ${chalk_1.default.dim(errorMessage)}`);
87
+ return chalk_1.default.red(` [${chalk_1.default.bold(errorCode)}] - ${chalk_1.default.dim(errorMessage)}`);
78
88
  };
79
89
  // Test execution rendering
80
- const renderResultOutcome = (result, test, icon, color, failOnCriticalErrors, failOnTimeout) => {
90
+ const renderResultOutcome = (result, test, icon, color) => {
81
91
  // Only display critical errors if failure is not filled.
82
92
  if (result.error && !(result.failure || result.errorMessage)) {
83
- return ` ${chalk_1.default.bold(`${ICONS.FAILED} | ${result.error}`)}`;
93
+ return ` ${chalk_1.default.bold(`${ICONS.FAILED} | ${result.error}`)}`;
84
94
  }
85
95
  if (result.unhealthy) {
86
96
  const errorMessage = result.failure ? result.failure.message : result.errorMessage;
87
97
  const errorName = errorMessage && errorMessage !== 'Unknown error' ? errorMessage : 'General Error';
88
98
  return [
89
- ` ${chalk_1.default.yellow(` ${ICONS.SKIPPED} | ${errorName}`)}`,
90
- ` ${chalk_1.default.yellow('We had an error during the execution of this test. The result will be ignored')}`,
99
+ ` ${chalk_1.default.yellow(`${ICONS.SKIPPED} | ${errorName}`)}`,
100
+ ` ${chalk_1.default.yellow('We had an error during the execution of this test. The result will be ignored')}`,
91
101
  ].join('\n');
92
102
  }
93
103
  if (test.type === 'api') {
@@ -95,14 +105,20 @@ const renderResultOutcome = (result, test, icon, color, failOnCriticalErrors, fa
95
105
  if (result.failure || (result.errorCode && result.errorMessage)) {
96
106
  const errorCode = result.failure ? result.failure.code : result.errorCode;
97
107
  const errorMessage = result.failure ? result.failure.message : result.errorMessage;
98
- return [` ${icon} ${color(requestDescription)}`, renderApiError(errorCode, errorMessage, color)].join('\n');
108
+ return [` ${icon} ${color(requestDescription)}`, renderApiError(errorCode, errorMessage, color)].join('\n');
99
109
  }
100
- return ` ${icon} ${color(requestDescription)}`;
110
+ return ` ${icon} ${color(requestDescription)}`;
101
111
  }
102
112
  if (test.type === 'browser') {
103
- if (!utils_1.hasResultPassed(result, failOnCriticalErrors, failOnTimeout) && 'stepDetails' in result) {
104
- // We render the step only if the test hasn't passed to avoid cluttering the output.
105
- return result.stepDetails.map(renderStep).join('\n');
113
+ // We render the step only if the test hasn't passed to avoid cluttering the output.
114
+ if (!result.passed && 'stepDetails' in result) {
115
+ const criticalFailedStepIndex = result.stepDetails.findIndex((s) => s.error && !s.allowFailure) + 1;
116
+ const stepsDisplay = result.stepDetails.slice(0, criticalFailedStepIndex).map(renderStep);
117
+ const skippedStepDisplay = renderSkippedSteps(result.stepDetails.slice(criticalFailedStepIndex));
118
+ if (skippedStepDisplay) {
119
+ stepsDisplay.push(skippedStepDisplay);
120
+ }
121
+ return stepsDisplay.join('\n');
106
122
  }
107
123
  return '';
108
124
  }
@@ -143,49 +159,42 @@ const getResultUrl = (baseUrl, test, resultId) => {
143
159
  }
144
160
  return `${testDetailUrl}?resultId=${resultId}&${ciQueryParam}`;
145
161
  };
146
- const renderExecutionResult = (test, execution, baseUrl, locationNames, failOnCriticalErrors, failOnTimeout) => {
147
- var _a;
148
- const { check: overridedTest, dc_id, resultID, result } = execution;
149
- const isSuccess = utils_1.hasResultPassed(result, failOnCriticalErrors, failOnTimeout);
150
- const color = getTestResultColor(isSuccess, ((_a = test.options.ci) === null || _a === void 0 ? void 0 : _a.executionRule) === interfaces_1.ExecutionRule.NON_BLOCKING);
151
- const icon = isSuccess ? ICONS.SUCCESS : ICONS.FAILED;
152
- const locationName = !!result.tunnel ? 'Tunneled' : locationNames[dc_id] || dc_id.toString();
153
- const device = test.type === 'browser' && 'device' in result ? ` - device: ${chalk_1.default.bold(result.device.id)}` : '';
154
- const resultIdentification = color(` ${icon} location: ${chalk_1.default.bold(locationName)}${device}`);
162
+ const getBatchUrl = (baseUrl, batchId) => `${baseUrl}synthetics/explorer/ci?batchResultId=${batchId}`;
163
+ const renderExecutionResult = (test, execution, baseUrl) => {
164
+ const { executionRule, test: overriddenTest, resultId, result, timedOut } = execution;
165
+ const resultOutcome = utils_1.getResultOutcome(execution);
166
+ const [icon, setColor] = getResultIconAndColor(resultOutcome);
167
+ const executionRuleText = ["passed" /* Passed */, "passed-non-blocking" /* PassedNonBlocking */].includes(resultOutcome)
168
+ ? ''
169
+ : `[${setColor(executionRule === interfaces_1.ExecutionRule.BLOCKING ? 'blocking' : 'non-blocking')}] `;
170
+ const testLabel = `${executionRuleText}[${chalk_1.default.bold.dim(test.public_id)}] ${chalk_1.default.bold(test.name)}`;
171
+ const location = setColor(`location: ${chalk_1.default.bold(execution.location)}`);
172
+ const device = test.type === 'browser' && 'device' in result ? ` - ${setColor(`device: ${chalk_1.default.bold(result.device.id)}`)}` : '';
173
+ const resultIdentification = `${icon} ${testLabel} - ${location}${device}`;
155
174
  const outputLines = [resultIdentification];
156
175
  // Unhealthy test results don't have a duration or result URL
157
176
  if (!result.unhealthy) {
158
177
  const duration = utils_1.getResultDuration(result);
159
- const durationText = duration ? ` total duration: ${duration} ms -` : '';
160
- const resultUrl = getResultUrl(baseUrl, test, resultID);
161
- const resultUrlStatus = result.error === interfaces_1.ERRORS.TIMEOUT ? '(not yet received)' : '';
162
- const resultInfo = ` ⎋${durationText} result url: ${chalk_1.default.dim.cyan(resultUrl)} ${resultUrlStatus}`;
178
+ const durationText = duration ? ` Total duration: ${duration} ms -` : '';
179
+ const resultUrl = getResultUrl(baseUrl, test, resultId);
180
+ const resultUrlStatus = timedOut ? '(not yet received)' : '';
181
+ const resultInfo = ` ⎋${durationText} Result URL: ${chalk_1.default.dim.cyan(resultUrl)} ${resultUrlStatus}`;
163
182
  outputLines.push(resultInfo);
164
183
  }
165
- const resultOutcome = renderResultOutcome(result, overridedTest || test, icon, color, failOnCriticalErrors, failOnTimeout);
166
- if (resultOutcome) {
167
- outputLines.push(resultOutcome);
184
+ const resultOutcomeText = renderResultOutcome(result, overriddenTest || test, icon, setColor);
185
+ if (resultOutcomeText) {
186
+ outputLines.push(resultOutcomeText);
168
187
  }
169
188
  return outputLines.join('\n');
170
189
  };
171
- // Results of all tests rendering
172
- const renderResultIcon = (success, isNonBlocking) => {
173
- if (success) {
174
- return ICONS.SUCCESS;
190
+ const getResultIconAndColor = (resultOutcome) => {
191
+ if (resultOutcome === "passed" /* Passed */ || resultOutcome === "passed-non-blocking" /* PassedNonBlocking */) {
192
+ return [ICONS.SUCCESS, chalk_1.default.bold.green];
175
193
  }
176
- if (isNonBlocking) {
177
- return ICONS.SKIPPED;
194
+ if (resultOutcome === "failed-non-blocking" /* FailedNonBlocking */) {
195
+ return [ICONS.FAILED_NON_BLOCKING, chalk_1.default.bold.yellow];
178
196
  }
179
- return ICONS.FAILED;
180
- };
181
- const getTestResultColor = (success, isNonBlocking) => {
182
- if (success) {
183
- return chalk_1.default.bold.green;
184
- }
185
- if (isNonBlocking) {
186
- return chalk_1.default.bold.yellow;
187
- }
188
- return chalk_1.default.bold.red;
197
+ return [ICONS.FAILED, chalk_1.default.bold.red];
189
198
  };
190
199
  class DefaultReporter {
191
200
  constructor({ context }) {
@@ -204,43 +213,39 @@ class DefaultReporter {
204
213
  const delay = (Date.now() - timings.startTime).toString();
205
214
  this.write(['', chalk_1.default.bold.cyan('=== REPORT ==='), `Took ${chalk_1.default.bold(delay)}ms`, '\n'].join('\n'));
206
215
  }
207
- runEnd(summary) {
208
- const summaries = [
209
- chalk_1.default.green(`${chalk_1.default.bold(summary.passed)} passed`),
210
- chalk_1.default.red(`${chalk_1.default.bold(summary.failed)} failed`),
211
- ];
216
+ resultEnd(result, baseUrl) {
217
+ this.write(renderExecutionResult(result.test, result, baseUrl) + '\n\n');
218
+ }
219
+ resultReceived(result) {
220
+ return;
221
+ }
222
+ runEnd(summary, baseUrl) {
223
+ const { bold: b, gray, green, red, yellow } = chalk_1.default;
224
+ const lines = [];
225
+ const runSummary = [green(`${b(summary.passed)} passed`), red(`${b(summary.failed)} failed`)];
226
+ if (summary.failedNonBlocking) {
227
+ runSummary.push(yellow(`${b(summary.failedNonBlocking)} failed (non-blocking)`));
228
+ }
212
229
  if (summary.skipped) {
213
- summaries.push(`${chalk_1.default.bold(summary.skipped)} skipped`);
230
+ runSummary.push(`${b(summary.skipped)} skipped`);
214
231
  }
215
232
  if (summary.testsNotFound.size > 0) {
216
- const testsNotFoundStr = chalk_1.default.gray(`(${[...summary.testsNotFound].join(', ')})`);
217
- summaries.push(`${chalk_1.default.yellow(`${chalk_1.default.bold(summary.testsNotFound.size)} not found`)} ${testsNotFoundStr}`);
233
+ const testsNotFoundListStr = gray(`(${[...summary.testsNotFound].join(', ')})`);
234
+ lines.push(`${yellow(`${b(summary.testsNotFound.size)} ${pluralize('test', summary.testsNotFound.size)} not found`)} ${testsNotFoundListStr}`);
218
235
  }
219
236
  const extraInfo = [];
220
237
  if (summary.timedOut) {
221
- extraInfo.push(chalk_1.default.yellow(`${chalk_1.default.bold(summary.timedOut)} timed out`));
238
+ extraInfo.push(yellow(`${b(summary.timedOut)} timed out`));
222
239
  }
223
240
  if (summary.criticalErrors) {
224
- extraInfo.push(chalk_1.default.red(`${chalk_1.default.bold(summary.criticalErrors)} critical errors`));
241
+ extraInfo.push(red(`${b(summary.criticalErrors)} critical errors`));
225
242
  }
226
- this.write(`${chalk_1.default.bold('Tests execution summary:')} ${summaries.join(', ')}${extraInfo.length ? ' (' + extraInfo.join(', ') + ')' : ''}\n`);
227
- }
228
- testEnd(test, results, baseUrl, locationNames, failOnCriticalErrors, failOnTimeout) {
229
- var _a;
230
- const success = utils_1.hasTestSucceeded(results, failOnCriticalErrors, failOnTimeout);
231
- const isNonBlocking = ((_a = test.options.ci) === null || _a === void 0 ? void 0 : _a.executionRule) === interfaces_1.ExecutionRule.NON_BLOCKING;
232
- const icon = renderResultIcon(success, isNonBlocking);
233
- const idDisplay = `[${chalk_1.default.bold.dim(test.public_id)}]`;
234
- const nameColor = getTestResultColor(success, isNonBlocking);
235
- const nonBlockingText = !success && isNonBlocking ? '[NON-BLOCKING]' : '';
236
- const testResultsText = results
237
- .map((r) => renderExecutionResult(test, r, baseUrl, locationNames, failOnCriticalErrors, failOnTimeout))
238
- .join('\n\n')
239
- .concat('\n\n');
240
- this.write([`${icon} ${idDisplay}${nonBlockingText} | ${nameColor(test.name)}`, testResultsText].join('\n'));
241
- }
242
- testResult(response, result) {
243
- return;
243
+ const extraInfoStr = extraInfo.length ? ' (' + extraInfo.join(', ') + ')' : '';
244
+ if (summary.batchId) {
245
+ lines.push('Results URL: ' + chalk_1.default.dim.cyan(getBatchUrl(baseUrl, summary.batchId)));
246
+ }
247
+ lines.push(`${b('Run summary:')} ${runSummary.join(', ')}${extraInfoStr}\n\n`);
248
+ this.write(lines.join('\n'));
244
249
  }
245
250
  testsWait(tests) {
246
251
  const testsList = tests.map((t) => t.public_id);
@@ -249,7 +254,7 @@ class DefaultReporter {
249
254
  testsList.push('…');
250
255
  }
251
256
  const testsDisplay = chalk_1.default.gray(`(${testsList.join(', ')})`);
252
- this.write(`Waiting for ${chalk_1.default.bold.cyan(tests.length)} test result${tests.length > 1 ? 's' : ''} ${testsDisplay}…\n`);
257
+ this.write(`Waiting for ${chalk_1.default.bold.cyan(tests.length)} test ${pluralize('result', tests.length)} ${testsDisplay}…\n`);
253
258
  }
254
259
  testTrigger(test, testId, executionRule, config) {
255
260
  const idDisplay = `[${chalk_1.default.bold.dim(testId)}]`;
@@ -269,11 +274,19 @@ class DefaultReporter {
269
274
  }
270
275
  return `Found test "${chalk_1.default.green.bold(test.name)}"`;
271
276
  };
272
- this.write(`${idDisplay} ${getMessage()}\n`);
277
+ const getConfigOverridesPart = () => {
278
+ const nbConfigsOverridden = Object.keys(config).length;
279
+ if (nbConfigsOverridden === 0 || executionRule === interfaces_1.ExecutionRule.SKIPPED) {
280
+ return '';
281
+ }
282
+ return ' ' + chalk_1.default.gray(`(${nbConfigsOverridden} config ${pluralize('override', nbConfigsOverridden)})`);
283
+ };
284
+ this.write(`${idDisplay} ${getMessage()}${getConfigOverridesPart()}\n`);
273
285
  }
274
286
  testWait(test) {
275
287
  return;
276
288
  }
277
289
  }
278
290
  exports.DefaultReporter = DefaultReporter;
291
+ const pluralize = (word, count) => (count === 1 ? word : `${word}s`);
279
292
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/reporters/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/reporters/default.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseContext } from 'clipanion';
2
- import { InternalTest, LocationsMapping, PollResult, Reporter, Vitals } from '../interfaces';
2
+ import { Reporter, Result, Vitals } from '../interfaces';
3
3
  interface Stats {
4
4
  allowfailures: number;
5
5
  errors: number;
@@ -97,14 +97,13 @@ export declare class JUnitReporter implements Reporter {
97
97
  private json;
98
98
  private write;
99
99
  constructor({ context, jUnitReport, runName }: Args);
100
+ resultEnd(result: Result, baseUrl: string): void;
100
101
  runEnd(): Promise<void>;
101
- testEnd(test: InternalTest, results: PollResult[], baseUrl: string, locations: LocationsMapping, failOnCriticalErrors: boolean, failOnTimeout: boolean): void;
102
102
  private getApiStepStats;
103
103
  private getApiTestStep;
104
104
  private getBrowserStepStats;
105
105
  private getBrowserTestStep;
106
106
  private getResultStats;
107
- private getSuiteStats;
108
107
  private getTestCase;
109
108
  }
110
109
  export {};