@midleman/playwright-reporter 0.47.15 → 0.47.16

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.
@@ -1,157 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeResultsToParquet = writeResultsToParquet;
4
- exports.writeRunEventsToParquet = writeRunEventsToParquet;
5
- // Use @dsnp/parquetjs for Parquet file operations
6
- // eslint-disable-next-line @typescript-eslint/no-require-imports
7
- const parquet = require('@dsnp/parquetjs');
8
- /**
9
- * Schema for test result events
10
- */
11
- function getResultSchema() {
12
- return new parquet.ParquetSchema({
13
- type: { type: 'UTF8' },
14
- repoName: { type: 'UTF8' },
15
- runId: { type: 'UTF8' },
16
- specPath: { type: 'UTF8' },
17
- project: { type: 'UTF8', optional: true },
18
- testName: { type: 'UTF8' },
19
- testId: { type: 'UTF8', optional: true },
20
- status: { type: 'UTF8' },
21
- durationMs: { type: 'INT64', optional: true },
22
- startedAt: { type: 'UTF8', optional: true },
23
- attempt: { type: 'INT32', optional: true },
24
- retries: { type: 'INT32', optional: true },
25
- failureMessage: { type: 'UTF8', optional: true },
26
- eventId: { type: 'UTF8' },
27
- timestamp: { type: 'UTF8' },
28
- browser: { type: 'UTF8', optional: true },
29
- os: { type: 'UTF8', optional: true },
30
- branch: { type: 'UTF8', optional: true },
31
- sha: { type: 'UTF8', optional: true },
32
- // Phase 3 additions for Test Explorer
33
- reportUrl: { type: 'UTF8', optional: true },
34
- commitMessage: { type: 'UTF8', optional: true },
35
- commitAuthor: { type: 'UTF8', optional: true },
36
- titlePath: { type: 'UTF8', repeated: true, optional: true },
37
- });
38
- }
39
- /**
40
- * Schema for run events (started + completed)
41
- */
42
- function getRunSchema() {
43
- return new parquet.ParquetSchema({
44
- type: { type: 'UTF8' },
45
- repoName: { type: 'UTF8' },
46
- runId: { type: 'UTF8' },
47
- // run.started fields
48
- startedAt: { type: 'UTF8', optional: true },
49
- branch: { type: 'UTF8', optional: true },
50
- sha: { type: 'UTF8', optional: true },
51
- workflowName: { type: 'UTF8', optional: true },
52
- jobName: { type: 'UTF8', optional: true },
53
- runUrl: { type: 'UTF8', optional: true },
54
- // Phase 3 additions for Test Explorer
55
- commitMessage: { type: 'UTF8', optional: true },
56
- commitAuthor: { type: 'UTF8', optional: true },
57
- // run.completed fields
58
- completedAt: { type: 'UTF8', optional: true },
59
- status: { type: 'UTF8', optional: true },
60
- durationMs: { type: 'INT64', optional: true },
61
- countsPassed: { type: 'INT32', optional: true },
62
- countsFailed: { type: 'INT32', optional: true },
63
- countsSkipped: { type: 'INT32', optional: true },
64
- countsFlaky: { type: 'INT32', optional: true },
65
- });
66
- }
67
- /**
68
- * Write test results to a Parquet file
69
- */
70
- async function writeResultsToParquet(results, filePath) {
71
- const schema = getResultSchema();
72
- const writer = await parquet.ParquetWriter.openFile(schema, filePath);
73
- for (const result of results) {
74
- await writer.appendRow({
75
- type: result.type,
76
- repoName: result.repoName,
77
- runId: result.runId,
78
- specPath: result.specPath,
79
- project: result.project ?? null,
80
- testName: result.testName,
81
- testId: result.testId ?? null,
82
- status: result.status,
83
- durationMs: result.durationMs ?? null,
84
- startedAt: result.startedAt ?? null,
85
- attempt: result.attempt ?? null,
86
- retries: result.retries ?? null,
87
- failureMessage: result.failureMessage ?? null,
88
- eventId: result.eventId,
89
- timestamp: result.timestamp,
90
- browser: result.browser ?? null,
91
- os: result.os ?? null,
92
- branch: result.branch ?? null,
93
- sha: result.sha ?? null,
94
- // Phase 3 additions
95
- reportUrl: result.reportUrl ?? null,
96
- commitMessage: result.commitMessage ?? null,
97
- commitAuthor: result.commitAuthor ?? null,
98
- titlePath: result.titlePath ?? null,
99
- });
100
- }
101
- await writer.close();
102
- }
103
- /**
104
- * Write run events to a Parquet file
105
- */
106
- async function writeRunEventsToParquet(runStarted, runCompleted, filePath) {
107
- const schema = getRunSchema();
108
- const writer = await parquet.ParquetWriter.openFile(schema, filePath);
109
- // Write run.started
110
- await writer.appendRow({
111
- type: runStarted.type,
112
- repoName: runStarted.repoName,
113
- runId: runStarted.runId,
114
- startedAt: runStarted.startedAt,
115
- branch: runStarted.branch ?? null,
116
- sha: runStarted.sha ?? null,
117
- workflowName: runStarted.workflowName ?? null,
118
- jobName: runStarted.jobName ?? null,
119
- runUrl: runStarted.runUrl ?? null,
120
- // Phase 3 additions
121
- commitMessage: runStarted.commitMessage ?? null,
122
- commitAuthor: runStarted.commitAuthor ?? null,
123
- completedAt: null,
124
- status: null,
125
- durationMs: null,
126
- countsPassed: null,
127
- countsFailed: null,
128
- countsSkipped: null,
129
- countsFlaky: null,
130
- });
131
- // Write run.completed if available
132
- if (runCompleted) {
133
- await writer.appendRow({
134
- type: runCompleted.type,
135
- repoName: runCompleted.repoName,
136
- runId: runCompleted.runId,
137
- startedAt: null,
138
- branch: null,
139
- sha: null,
140
- workflowName: null,
141
- jobName: null,
142
- runUrl: null,
143
- // Phase 3 additions (null for completed event)
144
- commitMessage: null,
145
- commitAuthor: null,
146
- completedAt: runCompleted.completedAt,
147
- status: runCompleted.status,
148
- durationMs: runCompleted.durationMs ?? null,
149
- countsPassed: runCompleted.counts.passed,
150
- countsFailed: runCompleted.counts.failed,
151
- countsSkipped: runCompleted.counts.skipped,
152
- countsFlaky: runCompleted.counts.flaky,
153
- });
154
- }
155
- await writer.close();
156
- }
157
- //# sourceMappingURL=parquet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parquet.js","sourceRoot":"","sources":["../../src/storage/parquet.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../src/utils.test.ts"],"names":[],"mappings":""}
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const utils_1 = require("./utils");
5
- (0, vitest_1.describe)('iso', () => {
6
- (0, vitest_1.it)('returns ISO string for given date', () => {
7
- const date = new Date('2024-01-15T10:30:00.000Z');
8
- (0, vitest_1.expect)((0, utils_1.iso)(date)).toBe('2024-01-15T10:30:00.000Z');
9
- });
10
- (0, vitest_1.it)('returns current time ISO string when no date provided', () => {
11
- const before = new Date().toISOString();
12
- const result = (0, utils_1.iso)();
13
- const after = new Date().toISOString();
14
- (0, vitest_1.expect)(result >= before).toBe(true);
15
- (0, vitest_1.expect)(result <= after).toBe(true);
16
- });
17
- });
18
- (0, vitest_1.describe)('b64url', () => {
19
- (0, vitest_1.it)('encodes string to base64url', () => {
20
- const result = (0, utils_1.b64url)('hello world');
21
- (0, vitest_1.expect)(result).toBe(Buffer.from('hello world').toString('base64url'));
22
- });
23
- (0, vitest_1.it)('handles special characters', () => {
24
- const result = (0, utils_1.b64url)('test::path/to/file.ts::test-id');
25
- (0, vitest_1.expect)(result).toBeDefined();
26
- // Should not contain + or / (base64url uses - and _)
27
- (0, vitest_1.expect)(result).not.toMatch(/[+/]/);
28
- });
29
- (0, vitest_1.it)('produces consistent output', () => {
30
- const input = 'run-123::tests/foo.spec.ts::test-456';
31
- (0, vitest_1.expect)((0, utils_1.b64url)(input)).toBe((0, utils_1.b64url)(input));
32
- });
33
- });
34
- (0, vitest_1.describe)('inferBrowserFromProject', () => {
35
- vitest_1.it.each([
36
- ['chromium', 'chromium'],
37
- ['Chromium', 'chromium'],
38
- ['firefox', 'firefox'],
39
- ['Firefox', 'firefox'],
40
- ['webkit', 'webkit'],
41
- ['WebKit', 'webkit'],
42
- ['safari', 'safari'],
43
- ['Safari', 'safari'],
44
- ['chrome', 'chrome'],
45
- ['Chrome', 'chrome'],
46
- ['edge', 'edge'],
47
- ['Edge', 'edge'],
48
- ['electron', 'electron'],
49
- ['Electron Desktop', 'electron'],
50
- ])('infers browser from project name "%s"', (project, expected) => {
51
- (0, vitest_1.expect)((0, utils_1.inferBrowserFromProject)(project)).toBe(expected);
52
- });
53
- (0, vitest_1.it)('returns undefined for non-browser project names', () => {
54
- (0, vitest_1.expect)((0, utils_1.inferBrowserFromProject)('desktop')).toBeUndefined();
55
- (0, vitest_1.expect)((0, utils_1.inferBrowserFromProject)('mobile')).toBeUndefined();
56
- (0, vitest_1.expect)((0, utils_1.inferBrowserFromProject)('api')).toBeUndefined();
57
- });
58
- (0, vitest_1.it)('handles undefined project', () => {
59
- (0, vitest_1.expect)((0, utils_1.inferBrowserFromProject)(undefined)).toBeUndefined();
60
- });
61
- });
62
- (0, vitest_1.describe)('toRelativeSpec', () => {
63
- (0, vitest_1.it)('converts absolute path to relative', () => {
64
- const result = (0, utils_1.toRelativeSpec)('/home/user/project', '/home/user/project/tests/example.spec.ts');
65
- (0, vitest_1.expect)(result).toBe('tests/example.spec.ts');
66
- });
67
- (0, vitest_1.it)('returns relative path without leading slash', () => {
68
- const result = (0, utils_1.toRelativeSpec)('/home/user/project', '/home/user/project/tests/example.spec.ts');
69
- (0, vitest_1.expect)(result.startsWith('/')).toBe(false);
70
- });
71
- (0, vitest_1.it)('returns relative path with ../ for paths outside repo root', () => {
72
- const result = (0, utils_1.toRelativeSpec)('/home/user/project', '/other/path/test.ts');
73
- // path.relative returns a relative path with ../
74
- (0, vitest_1.expect)(result).toContain('..');
75
- });
76
- (0, vitest_1.it)('handles Windows-style paths', () => {
77
- const result = (0, utils_1.toRelativeSpec)('C:\\Users\\dev\\project', 'C:\\Users\\dev\\project\\tests\\example.spec.ts');
78
- (0, vitest_1.expect)(result).toBeDefined();
79
- });
80
- });
81
- (0, vitest_1.describe)('getRepoName', () => {
82
- const originalEnv = process.env;
83
- (0, vitest_1.beforeEach)(() => {
84
- vitest_1.vi.resetModules();
85
- process.env = { ...originalEnv };
86
- delete process.env.REPORTER_REPO_NAME;
87
- delete process.env.GITHUB_REPOSITORY;
88
- });
89
- (0, vitest_1.afterEach)(() => {
90
- process.env = originalEnv;
91
- });
92
- (0, vitest_1.it)('returns override if provided', () => {
93
- (0, vitest_1.expect)((0, utils_1.getRepoName)('my-custom-repo')).toBe('my-custom-repo');
94
- });
95
- (0, vitest_1.it)('extracts repo name from GITHUB_REPOSITORY', () => {
96
- process.env.GITHUB_REPOSITORY = 'posit-dev/positron';
97
- (0, vitest_1.expect)((0, utils_1.getRepoName)()).toBe('positron');
98
- });
99
- (0, vitest_1.it)('returns "local" when no repo info available', () => {
100
- (0, vitest_1.expect)((0, utils_1.getRepoName)()).toBe('local');
101
- });
102
- (0, vitest_1.it)('prefers REPORTER_REPO_NAME over GITHUB_REPOSITORY', () => {
103
- process.env.REPORTER_REPO_NAME = 'custom-name';
104
- process.env.GITHUB_REPOSITORY = 'posit-dev/positron';
105
- (0, vitest_1.expect)((0, utils_1.getRepoName)()).toBe('custom-name');
106
- });
107
- });
108
- (0, vitest_1.describe)('getRunId', () => {
109
- const originalEnv = process.env;
110
- (0, vitest_1.beforeEach)(() => {
111
- vitest_1.vi.resetModules();
112
- process.env = { ...originalEnv };
113
- delete process.env.GITHUB_RUN_ID;
114
- delete process.env.GITHUB_RUN_ATTEMPT;
115
- });
116
- (0, vitest_1.afterEach)(() => {
117
- process.env = originalEnv;
118
- });
119
- (0, vitest_1.it)('returns GITHUB_RUN_ID with attempt number', () => {
120
- process.env.GITHUB_RUN_ID = '123456789';
121
- process.env.GITHUB_RUN_ATTEMPT = '2';
122
- (0, vitest_1.expect)((0, utils_1.getRunId)()).toBe('123456789-2');
123
- });
124
- (0, vitest_1.it)('defaults attempt to 1 when not specified', () => {
125
- process.env.GITHUB_RUN_ID = '123456789';
126
- (0, vitest_1.expect)((0, utils_1.getRunId)()).toBe('123456789-1');
127
- });
128
- (0, vitest_1.it)('generates local ID when GITHUB_RUN_ID not available', () => {
129
- const runId = (0, utils_1.getRunId)();
130
- (0, vitest_1.expect)(runId).toMatch(/^local-\d+-[a-z0-9]+$/);
131
- });
132
- });
133
- (0, vitest_1.describe)('getDatePartition', () => {
134
- (0, vitest_1.it)('returns date in YYYY-MM-DD format', () => {
135
- const result = (0, utils_1.getDatePartition)();
136
- (0, vitest_1.expect)(result).toMatch(/^\d{4}-\d{2}-\d{2}$/);
137
- });
138
- (0, vitest_1.it)('returns current UTC date', () => {
139
- const now = new Date();
140
- const expected = now.toISOString().split('T')[0];
141
- (0, vitest_1.expect)((0, utils_1.getDatePartition)()).toBe(expected);
142
- });
143
- });
144
- (0, vitest_1.describe)('inferOs', () => {
145
- (0, vitest_1.it)('returns valid OS enum value', () => {
146
- const result = (0, utils_1.inferOs)();
147
- (0, vitest_1.expect)(['mac', 'win', 'linux']).toContain(result);
148
- });
149
- });
150
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../src/utils.test.ts"],"names":[],"mappings":"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"}