@midleman/playwright-reporter 0.1.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.
- package/README.md +373 -0
- package/dist/buffers.d.ts +13 -0
- package/dist/buffers.d.ts.map +1 -0
- package/dist/buffers.js +58 -0
- package/dist/buffers.js.map +1 -0
- package/dist/counts.d.ts +32 -0
- package/dist/counts.d.ts.map +1 -0
- package/dist/counts.js +66 -0
- package/dist/counts.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/payload.d.ts +33 -0
- package/dist/payload.d.ts.map +1 -0
- package/dist/payload.js +87 -0
- package/dist/payload.js.map +1 -0
- package/dist/payload.test.d.ts +2 -0
- package/dist/payload.test.d.ts.map +1 -0
- package/dist/payload.test.js +198 -0
- package/dist/payload.test.js.map +1 -0
- package/dist/reporter.d.ts +47 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporter.js +470 -0
- package/dist/reporter.js.map +1 -0
- package/dist/reporter.test.d.ts +2 -0
- package/dist/reporter.test.d.ts.map +1 -0
- package/dist/reporter.test.js +216 -0
- package/dist/reporter.test.js.map +1 -0
- package/dist/schemas.d.ts +485 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +128 -0
- package/dist/schemas.js.map +1 -0
- package/dist/schemas.test.d.ts +2 -0
- package/dist/schemas.test.d.ts.map +1 -0
- package/dist/schemas.test.js +313 -0
- package/dist/schemas.test.js.map +1 -0
- package/dist/storage/api.d.ts +13 -0
- package/dist/storage/api.d.ts.map +1 -0
- package/dist/storage/api.js +86 -0
- package/dist/storage/api.js.map +1 -0
- package/dist/storage/api.test.d.ts +2 -0
- package/dist/storage/api.test.d.ts.map +1 -0
- package/dist/storage/api.test.js +184 -0
- package/dist/storage/api.test.js.map +1 -0
- package/dist/storage/parquet.d.ts +10 -0
- package/dist/storage/parquet.d.ts.map +1 -0
- package/dist/storage/parquet.js +157 -0
- package/dist/storage/parquet.js.map +1 -0
- package/dist/storage/s3.d.ts +35 -0
- package/dist/storage/s3.d.ts.map +1 -0
- package/dist/storage/s3.js +129 -0
- package/dist/storage/s3.js.map +1 -0
- package/dist/types.d.ts +36 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +26 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +44 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +195 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.test.d.ts +2 -0
- package/dist/utils.test.d.ts.map +1 -0
- package/dist/utils.test.js +150 -0
- package/dist/utils.test.js.map +1 -0
- package/package.json +41 -0
package/dist/payload.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildResultPayload = buildResultPayload;
|
|
4
|
+
exports.buildRunStarted = buildRunStarted;
|
|
5
|
+
exports.buildRunCompleted = buildRunCompleted;
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
function buildResultPayload(runCtx, spec, project, browser, osName, test, result, status, attempt, titlePath) {
|
|
9
|
+
const { repoName, runId, branchName, sha, commitMessage, commitAuthor } = runCtx;
|
|
10
|
+
// Use Playwright's stable test.id for consistent identification across runs
|
|
11
|
+
const stableTestId = test.id;
|
|
12
|
+
// Idempotent event id without attempt to allow later attempts to replace
|
|
13
|
+
const eventKey = `${runId}::${spec}::${stableTestId}`;
|
|
14
|
+
const event = {
|
|
15
|
+
type: 'result.created',
|
|
16
|
+
repoName,
|
|
17
|
+
runId,
|
|
18
|
+
specPath: spec,
|
|
19
|
+
project,
|
|
20
|
+
browser,
|
|
21
|
+
os: osName,
|
|
22
|
+
branch: branchName,
|
|
23
|
+
sha,
|
|
24
|
+
testName: test.title,
|
|
25
|
+
testId: stableTestId,
|
|
26
|
+
status,
|
|
27
|
+
durationMs: result.duration,
|
|
28
|
+
startedAt: result.startTime ? (0, utils_1.iso)(result.startTime) : undefined,
|
|
29
|
+
attempt,
|
|
30
|
+
retries: typeof result.retry === 'number' ? result.retry : undefined,
|
|
31
|
+
failureMessage: result.error?.message || undefined,
|
|
32
|
+
eventId: (0, utils_1.b64url)(eventKey),
|
|
33
|
+
timestamp: (0, utils_1.iso)(),
|
|
34
|
+
reportUrl: (0, utils_1.buildReportUrl)(stableTestId),
|
|
35
|
+
commitMessage,
|
|
36
|
+
commitAuthor,
|
|
37
|
+
titlePath,
|
|
38
|
+
};
|
|
39
|
+
// Validate event against schema - throw if invalid to prevent bad data
|
|
40
|
+
const validation = (0, types_1.safeValidateResultEvent)(event);
|
|
41
|
+
if (!validation.success) {
|
|
42
|
+
console.error('[ParquetReporter] Invalid result event:', validation.error.message);
|
|
43
|
+
throw new Error(`Invalid result event: ${validation.error.message}`);
|
|
44
|
+
}
|
|
45
|
+
return validation.data;
|
|
46
|
+
}
|
|
47
|
+
function buildRunStarted(runCtx, opts) {
|
|
48
|
+
const event = {
|
|
49
|
+
type: 'run.started',
|
|
50
|
+
repoName: runCtx.repoName,
|
|
51
|
+
runId: runCtx.runId,
|
|
52
|
+
startedAt: opts.startedAt,
|
|
53
|
+
branch: opts.branch,
|
|
54
|
+
sha: opts.sha,
|
|
55
|
+
workflowName: opts.workflowName,
|
|
56
|
+
jobName: opts.jobName,
|
|
57
|
+
runUrl: opts.runUrl,
|
|
58
|
+
commitMessage: opts.commitMessage,
|
|
59
|
+
commitAuthor: opts.commitAuthor,
|
|
60
|
+
};
|
|
61
|
+
// Validate event against schema - throw if invalid to prevent bad data
|
|
62
|
+
const validation = (0, types_1.safeValidateRunStartedEvent)(event);
|
|
63
|
+
if (!validation.success) {
|
|
64
|
+
console.error('[ParquetReporter] Invalid RunStarted event:', validation.error.message);
|
|
65
|
+
throw new Error(`Invalid RunStarted event: ${validation.error.message}`);
|
|
66
|
+
}
|
|
67
|
+
return validation.data;
|
|
68
|
+
}
|
|
69
|
+
function buildRunCompleted(runCtx, opts) {
|
|
70
|
+
const event = {
|
|
71
|
+
type: 'run.completed',
|
|
72
|
+
repoName: runCtx.repoName,
|
|
73
|
+
runId: runCtx.runId,
|
|
74
|
+
completedAt: opts.completedAt,
|
|
75
|
+
status: opts.status,
|
|
76
|
+
durationMs: opts.durationMs,
|
|
77
|
+
counts: opts.counts,
|
|
78
|
+
};
|
|
79
|
+
// Validate event against schema - throw if invalid to prevent bad data
|
|
80
|
+
const validation = (0, types_1.safeValidateRunCompletedEvent)(event);
|
|
81
|
+
if (!validation.success) {
|
|
82
|
+
console.error('[ParquetReporter] Invalid RunCompleted event:', validation.error.message);
|
|
83
|
+
throw new Error(`Invalid RunCompleted event: ${validation.error.message}`);
|
|
84
|
+
}
|
|
85
|
+
return validation.data;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":";;AAqBA,gDAsDC;AAED,0CAmCC;AAED,8CA2BC;AA5ID,mCAQiB;AACjB,mCAAsD;AAWtD,SAAgB,kBAAkB,CAChC,MAAkB,EAClB,IAAY,EACZ,OAA2B,EAC3B,OAA2B,EAC3B,MAAc,EACd,IAAc,EACd,MAAkB,EAClB,MAAoB,EACpB,OAAe,EACf,SAAoB;IAEpB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEjF,4EAA4E;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;IAE7B,yEAAyE;IACzE,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,IAAI,KAAK,YAAY,EAAE,CAAC;IAEtD,MAAM,KAAK,GAAuB;QAChC,IAAI,EAAE,gBAAgB;QACtB,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,IAAI;QACd,OAAO;QACP,OAAO;QACP,EAAE,EAAE,MAAiC;QACrC,MAAM,EAAE,UAAU;QAClB,GAAG;QACH,QAAQ,EAAE,IAAI,CAAC,KAAK;QACpB,MAAM,EAAE,YAAY;QACpB,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,QAAQ;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,WAAG,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,OAAO;QACP,OAAO,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACpE,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,SAAS;QAClD,OAAO,EAAE,IAAA,cAAM,EAAC,QAAQ,CAAC;QACzB,SAAS,EAAE,IAAA,WAAG,GAAE;QAChB,SAAS,EAAE,IAAA,sBAAc,EAAC,YAAY,CAAC;QACvC,aAAa;QACb,YAAY;QACZ,SAAS;KACV,CAAC;IAEF,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,SAAgB,eAAe,CAC7B,MAAkB,EAClB,IASC;IAED,MAAM,KAAK,GAAoB;QAC7B,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC;IAEF,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAA,mCAA2B,EAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,SAAgB,iBAAiB,CAC/B,MAAkB,EAClB,IAKC;IAED,MAAM,KAAK,GAAsB;QAC/B,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IAEF,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAA,qCAA6B,EAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.test.d.ts","sourceRoot":"","sources":["../src/payload.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const payload_1 = require("./payload");
|
|
5
|
+
// Mock the utils module
|
|
6
|
+
vitest_1.vi.mock('./utils', () => ({
|
|
7
|
+
iso: (date) => date?.toISOString() ?? '2024-01-15T10:30:00.000Z',
|
|
8
|
+
b64url: (str) => Buffer.from(str).toString('base64url'),
|
|
9
|
+
buildReportUrl: (testId) => `https://example.com/report/${testId}`,
|
|
10
|
+
}));
|
|
11
|
+
(0, vitest_1.describe)('buildResultPayload', () => {
|
|
12
|
+
const runCtx = {
|
|
13
|
+
repoName: 'test-repo',
|
|
14
|
+
runId: 'run-123',
|
|
15
|
+
branchName: 'main',
|
|
16
|
+
sha: 'abc123def',
|
|
17
|
+
commitMessage: 'fix: something',
|
|
18
|
+
commitAuthor: 'dev@example.com',
|
|
19
|
+
};
|
|
20
|
+
const mockTest = {
|
|
21
|
+
id: 'test-id-123',
|
|
22
|
+
title: 'should work correctly',
|
|
23
|
+
location: { file: '/path/to/test.spec.ts', line: 10, column: 5 },
|
|
24
|
+
};
|
|
25
|
+
const mockResult = {
|
|
26
|
+
status: 'passed',
|
|
27
|
+
duration: 1500,
|
|
28
|
+
startTime: new Date('2024-01-15T10:30:00.000Z'),
|
|
29
|
+
retry: 0,
|
|
30
|
+
error: undefined,
|
|
31
|
+
};
|
|
32
|
+
(0, vitest_1.it)('builds valid result payload with all fields', () => {
|
|
33
|
+
const payload = (0, payload_1.buildResultPayload)(runCtx, 'tests/example.spec.ts', 'chromium', 'chromium', 'mac', mockTest, mockResult, 'passed', 1, ['Suite', 'Nested']);
|
|
34
|
+
(0, vitest_1.expect)(payload.type).toBe('result.created');
|
|
35
|
+
(0, vitest_1.expect)(payload.repoName).toBe('test-repo');
|
|
36
|
+
(0, vitest_1.expect)(payload.runId).toBe('run-123');
|
|
37
|
+
(0, vitest_1.expect)(payload.specPath).toBe('tests/example.spec.ts');
|
|
38
|
+
(0, vitest_1.expect)(payload.project).toBe('chromium');
|
|
39
|
+
(0, vitest_1.expect)(payload.browser).toBe('chromium');
|
|
40
|
+
(0, vitest_1.expect)(payload.os).toBe('mac');
|
|
41
|
+
(0, vitest_1.expect)(payload.testName).toBe('should work correctly');
|
|
42
|
+
(0, vitest_1.expect)(payload.testId).toBe('test-id-123');
|
|
43
|
+
(0, vitest_1.expect)(payload.status).toBe('passed');
|
|
44
|
+
(0, vitest_1.expect)(payload.durationMs).toBe(1500);
|
|
45
|
+
(0, vitest_1.expect)(payload.attempt).toBe(1);
|
|
46
|
+
(0, vitest_1.expect)(payload.branch).toBe('main');
|
|
47
|
+
(0, vitest_1.expect)(payload.sha).toBe('abc123def');
|
|
48
|
+
(0, vitest_1.expect)(payload.commitMessage).toBe('fix: something');
|
|
49
|
+
(0, vitest_1.expect)(payload.commitAuthor).toBe('dev@example.com');
|
|
50
|
+
(0, vitest_1.expect)(payload.titlePath).toEqual(['Suite', 'Nested']);
|
|
51
|
+
(0, vitest_1.expect)(payload.eventId).toBeDefined();
|
|
52
|
+
(0, vitest_1.expect)(payload.timestamp).toBeDefined();
|
|
53
|
+
});
|
|
54
|
+
(0, vitest_1.it)('builds valid payload with minimal context', () => {
|
|
55
|
+
const minimalCtx = {
|
|
56
|
+
repoName: 'test-repo',
|
|
57
|
+
runId: 'run-123',
|
|
58
|
+
};
|
|
59
|
+
const payload = (0, payload_1.buildResultPayload)(minimalCtx, 'tests/example.spec.ts', undefined, undefined, 'linux', mockTest, mockResult, 'passed', 1);
|
|
60
|
+
(0, vitest_1.expect)(payload.type).toBe('result.created');
|
|
61
|
+
(0, vitest_1.expect)(payload.repoName).toBe('test-repo');
|
|
62
|
+
(0, vitest_1.expect)(payload.project).toBeUndefined();
|
|
63
|
+
(0, vitest_1.expect)(payload.browser).toBeUndefined();
|
|
64
|
+
(0, vitest_1.expect)(payload.branch).toBeUndefined();
|
|
65
|
+
});
|
|
66
|
+
(0, vitest_1.it)('handles flaky status for retry passes', () => {
|
|
67
|
+
const payload = (0, payload_1.buildResultPayload)(runCtx, 'tests/example.spec.ts', 'chromium', 'chromium', 'mac', mockTest, mockResult, 'flaky', // status already determined as flaky
|
|
68
|
+
2 // second attempt
|
|
69
|
+
);
|
|
70
|
+
(0, vitest_1.expect)(payload.status).toBe('flaky');
|
|
71
|
+
(0, vitest_1.expect)(payload.attempt).toBe(2);
|
|
72
|
+
});
|
|
73
|
+
(0, vitest_1.it)('includes failure message when present', () => {
|
|
74
|
+
const failedResult = {
|
|
75
|
+
...mockResult,
|
|
76
|
+
status: 'failed',
|
|
77
|
+
error: { message: 'Expected true but got false' },
|
|
78
|
+
};
|
|
79
|
+
const payload = (0, payload_1.buildResultPayload)(runCtx, 'tests/example.spec.ts', 'chromium', 'chromium', 'mac', mockTest, failedResult, 'failed', 1);
|
|
80
|
+
(0, vitest_1.expect)(payload.status).toBe('failed');
|
|
81
|
+
(0, vitest_1.expect)(payload.failureMessage).toBe('Expected true but got false');
|
|
82
|
+
});
|
|
83
|
+
(0, vitest_1.it)('generates idempotent eventId without attempt number', () => {
|
|
84
|
+
const payload1 = (0, payload_1.buildResultPayload)(runCtx, 'tests/example.spec.ts', 'chromium', 'chromium', 'mac', mockTest, mockResult, 'failed', 1);
|
|
85
|
+
const payload2 = (0, payload_1.buildResultPayload)(runCtx, 'tests/example.spec.ts', 'chromium', 'chromium', 'mac', mockTest, mockResult, 'passed', 2);
|
|
86
|
+
// Same test should have same eventId regardless of attempt
|
|
87
|
+
(0, vitest_1.expect)(payload1.eventId).toBe(payload2.eventId);
|
|
88
|
+
});
|
|
89
|
+
(0, vitest_1.it)('throws on invalid payload', () => {
|
|
90
|
+
const badCtx = {
|
|
91
|
+
repoName: '', // empty string should fail validation
|
|
92
|
+
runId: 'run-123',
|
|
93
|
+
};
|
|
94
|
+
(0, vitest_1.expect)(() => (0, payload_1.buildResultPayload)(badCtx, 'tests/example.spec.ts', undefined, undefined, 'mac', mockTest, mockResult, 'passed', 1)).toThrow();
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
(0, vitest_1.describe)('buildRunStarted', () => {
|
|
98
|
+
const runCtx = {
|
|
99
|
+
repoName: 'test-repo',
|
|
100
|
+
runId: 'run-123',
|
|
101
|
+
};
|
|
102
|
+
(0, vitest_1.it)('builds valid run started event', () => {
|
|
103
|
+
const event = (0, payload_1.buildRunStarted)(runCtx, {
|
|
104
|
+
startedAt: '2024-01-15T10:30:00.000Z',
|
|
105
|
+
branch: 'main',
|
|
106
|
+
sha: 'abc123',
|
|
107
|
+
workflowName: 'CI',
|
|
108
|
+
jobName: 'test',
|
|
109
|
+
runUrl: 'https://github.com/org/repo/actions/runs/123',
|
|
110
|
+
commitMessage: 'fix: bug',
|
|
111
|
+
commitAuthor: 'dev@example.com',
|
|
112
|
+
});
|
|
113
|
+
(0, vitest_1.expect)(event.type).toBe('run.started');
|
|
114
|
+
(0, vitest_1.expect)(event.repoName).toBe('test-repo');
|
|
115
|
+
(0, vitest_1.expect)(event.runId).toBe('run-123');
|
|
116
|
+
(0, vitest_1.expect)(event.startedAt).toBe('2024-01-15T10:30:00.000Z');
|
|
117
|
+
(0, vitest_1.expect)(event.branch).toBe('main');
|
|
118
|
+
(0, vitest_1.expect)(event.sha).toBe('abc123');
|
|
119
|
+
(0, vitest_1.expect)(event.workflowName).toBe('CI');
|
|
120
|
+
(0, vitest_1.expect)(event.jobName).toBe('test');
|
|
121
|
+
(0, vitest_1.expect)(event.runUrl).toBe('https://github.com/org/repo/actions/runs/123');
|
|
122
|
+
});
|
|
123
|
+
(0, vitest_1.it)('builds valid event with minimal options', () => {
|
|
124
|
+
const event = (0, payload_1.buildRunStarted)(runCtx, {
|
|
125
|
+
startedAt: '2024-01-15T10:30:00.000Z',
|
|
126
|
+
});
|
|
127
|
+
(0, vitest_1.expect)(event.type).toBe('run.started');
|
|
128
|
+
(0, vitest_1.expect)(event.startedAt).toBe('2024-01-15T10:30:00.000Z');
|
|
129
|
+
(0, vitest_1.expect)(event.branch).toBeUndefined();
|
|
130
|
+
});
|
|
131
|
+
(0, vitest_1.it)('throws on invalid event', () => {
|
|
132
|
+
const badCtx = {
|
|
133
|
+
repoName: '',
|
|
134
|
+
runId: 'run-123',
|
|
135
|
+
};
|
|
136
|
+
(0, vitest_1.expect)(() => (0, payload_1.buildRunStarted)(badCtx, {
|
|
137
|
+
startedAt: '2024-01-15T10:30:00.000Z',
|
|
138
|
+
})).toThrow();
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
(0, vitest_1.describe)('buildRunCompleted', () => {
|
|
142
|
+
const runCtx = {
|
|
143
|
+
repoName: 'test-repo',
|
|
144
|
+
runId: 'run-123',
|
|
145
|
+
};
|
|
146
|
+
(0, vitest_1.it)('builds valid run completed event', () => {
|
|
147
|
+
const event = (0, payload_1.buildRunCompleted)(runCtx, {
|
|
148
|
+
completedAt: '2024-01-15T10:35:00.000Z',
|
|
149
|
+
status: 'passed',
|
|
150
|
+
durationMs: 300000,
|
|
151
|
+
counts: {
|
|
152
|
+
passed: 10,
|
|
153
|
+
failed: 0,
|
|
154
|
+
skipped: 2,
|
|
155
|
+
flaky: 1,
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
(0, vitest_1.expect)(event.type).toBe('run.completed');
|
|
159
|
+
(0, vitest_1.expect)(event.repoName).toBe('test-repo');
|
|
160
|
+
(0, vitest_1.expect)(event.runId).toBe('run-123');
|
|
161
|
+
(0, vitest_1.expect)(event.completedAt).toBe('2024-01-15T10:35:00.000Z');
|
|
162
|
+
(0, vitest_1.expect)(event.status).toBe('passed');
|
|
163
|
+
(0, vitest_1.expect)(event.durationMs).toBe(300000);
|
|
164
|
+
(0, vitest_1.expect)(event.counts.passed).toBe(10);
|
|
165
|
+
(0, vitest_1.expect)(event.counts.failed).toBe(0);
|
|
166
|
+
(0, vitest_1.expect)(event.counts.skipped).toBe(2);
|
|
167
|
+
(0, vitest_1.expect)(event.counts.flaky).toBe(1);
|
|
168
|
+
});
|
|
169
|
+
(0, vitest_1.it)('builds valid event with failed status', () => {
|
|
170
|
+
const event = (0, payload_1.buildRunCompleted)(runCtx, {
|
|
171
|
+
completedAt: '2024-01-15T10:35:00.000Z',
|
|
172
|
+
status: 'failed',
|
|
173
|
+
durationMs: 300000,
|
|
174
|
+
counts: {
|
|
175
|
+
passed: 8,
|
|
176
|
+
failed: 2,
|
|
177
|
+
skipped: 0,
|
|
178
|
+
flaky: 0,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
(0, vitest_1.expect)(event.status).toBe('failed');
|
|
182
|
+
(0, vitest_1.expect)(event.counts.failed).toBe(2);
|
|
183
|
+
});
|
|
184
|
+
(0, vitest_1.it)('throws on invalid counts', () => {
|
|
185
|
+
(0, vitest_1.expect)(() => (0, payload_1.buildRunCompleted)(runCtx, {
|
|
186
|
+
completedAt: '2024-01-15T10:35:00.000Z',
|
|
187
|
+
status: 'passed',
|
|
188
|
+
durationMs: 300000,
|
|
189
|
+
counts: {
|
|
190
|
+
passed: -1, // invalid
|
|
191
|
+
failed: 0,
|
|
192
|
+
skipped: 0,
|
|
193
|
+
flaky: 0,
|
|
194
|
+
},
|
|
195
|
+
})).toThrow();
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
//# sourceMappingURL=payload.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.test.js","sourceRoot":"","sources":["../src/payload.test.ts"],"names":[],"mappings":";;AAAA,mCAAkD;AAClD,uCAA+F;AAG/F,wBAAwB;AACxB,WAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,GAAG,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,0BAA0B;IACvE,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC/D,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,8BAA8B,MAAM,EAAE;CAC3E,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,MAAM,GAAe;QACzB,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,MAAM;QAClB,GAAG,EAAE,WAAW;QAChB,aAAa,EAAE,gBAAgB;QAC/B,YAAY,EAAE,iBAAiB;KAChC,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,uBAAuB;QAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;KAC1C,CAAC;IAEzB,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC/C,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;KACQ,CAAC;IAE3B,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAChC,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;QAEF,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAA,eAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,IAAA,eAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAe;YAC7B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,SAAS;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAChC,UAAU,EACV,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,CACF,CAAC;QAEF,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAA,eAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACxC,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACxC,IAAA,eAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAChC,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EAAE,qCAAqC;QAC9C,CAAC,CAAC,iBAAiB;SACpB,CAAC;QAEF,IAAA,eAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,YAAY,GAAG;YACnB,GAAG,UAAU;YACb,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;SACzB,CAAC;QAE3B,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAChC,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,CAAC,CACF,CAAC;QAEF,IAAA,eAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EACjC,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EACjC,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,CACF,CAAC;QAEF,2DAA2D;QAC3D,IAAA,eAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAe;YACzB,QAAQ,EAAE,EAAE,EAAE,sCAAsC;YACpD,KAAK,EAAE,SAAS;SACjB,CAAC;QAEF,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,IAAA,4BAAkB,EAChB,MAAM,EACN,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,CACF,CACF,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,MAAM,GAAe;QACzB,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,KAAK,GAAG,IAAA,yBAAe,EAAC,MAAM,EAAE;YACpC,SAAS,EAAE,0BAA0B;YACrC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,8CAA8C;YACtD,aAAa,EAAE,UAAU;YACzB,YAAY,EAAE,iBAAiB;SAChC,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzD,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAA,eAAM,EAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG,IAAA,yBAAe,EAAC,MAAM,EAAE;YACpC,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzD,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAe;YACzB,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,SAAS;SACjB,CAAC;QAEF,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,IAAA,yBAAe,EAAC,MAAM,EAAE;YACtB,SAAS,EAAE,0BAA0B;SACtC,CAAC,CACH,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,MAAM,GAAe;QACzB,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,IAAA,2BAAiB,EAAC,MAAM,EAAE;YACtC,WAAW,EAAE,0BAA0B;YACvC,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC3D,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,KAAK,GAAG,IAAA,2BAAiB,EAAC,MAAM,EAAE;YACtC,WAAW,EAAE,0BAA0B;YACvC,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,IAAA,2BAAiB,EAAC,MAAM,EAAE;YACxB,WAAW,EAAE,0BAA0B;YACvC,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU;gBACtB,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CACH,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { FullConfig, FullResult, Reporter, Suite, TestCase, TestResult } from '@playwright/test/reporter';
|
|
2
|
+
import { ReporterOptions } from './types';
|
|
3
|
+
export default class ParquetReporter implements Reporter {
|
|
4
|
+
private mode;
|
|
5
|
+
private apiWriter;
|
|
6
|
+
private repoName;
|
|
7
|
+
private verbose;
|
|
8
|
+
private disabled;
|
|
9
|
+
private runId;
|
|
10
|
+
private startedAt;
|
|
11
|
+
private repoRoot;
|
|
12
|
+
private testDir?;
|
|
13
|
+
private datePartition;
|
|
14
|
+
private defaultProjectName?;
|
|
15
|
+
private projectRetries;
|
|
16
|
+
private branchName?;
|
|
17
|
+
private sha?;
|
|
18
|
+
private workflowName?;
|
|
19
|
+
private jobName?;
|
|
20
|
+
private runUrl?;
|
|
21
|
+
private commitMessage?;
|
|
22
|
+
private commitAuthor?;
|
|
23
|
+
private buffers;
|
|
24
|
+
private expectedTestsPerSpec;
|
|
25
|
+
private completedTestsPerSpec;
|
|
26
|
+
private countsState;
|
|
27
|
+
private runStartedEvent;
|
|
28
|
+
private flushIntervalMs;
|
|
29
|
+
private flushThreshold;
|
|
30
|
+
private flushTimer;
|
|
31
|
+
private flushCounter;
|
|
32
|
+
private pendingResults;
|
|
33
|
+
private flushedResults;
|
|
34
|
+
constructor(options: ReporterOptions);
|
|
35
|
+
onBegin(config: FullConfig, suite: Suite): Promise<void>;
|
|
36
|
+
private writeInitialRunFile;
|
|
37
|
+
private startFlushTimer;
|
|
38
|
+
private stopFlushTimer;
|
|
39
|
+
private flushPendingResults;
|
|
40
|
+
onTestEnd(test: TestCase, result: TestResult): Promise<void>;
|
|
41
|
+
onEnd(result: FullResult): Promise<void>;
|
|
42
|
+
private writeFinalFiles;
|
|
43
|
+
private initProjectConfig;
|
|
44
|
+
private analyzeTestOutcome;
|
|
45
|
+
private collectExpectedTests;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACb,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACH,eAAe,EAOlB,MAAM,SAAS,CAAC;AAiBjB,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,QAAQ;IAEpD,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAS;IAG9B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,WAAW,CAAc;IAGjC,OAAO,CAAC,eAAe,CAAgC;IAGvD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,cAAc,CAA4B;gBAEtC,OAAO,EAAE,eAAe;IA6H9B,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;YA6DhC,mBAAmB;IAWjC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;YAOR,mBAAmB;IA8B3B,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;IAiE5C,KAAK,CAAC,MAAM,EAAE,UAAU;YAuDhB,eAAe;IA8B7B,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,oBAAoB;CA+B/B"}
|