major-tom-playwright-reporter 0.0.1
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/dist/env-metadata-helpers.d.ts +8 -0
- package/dist/env-metadata-helpers.d.ts.map +1 -0
- package/dist/env-metadata-helpers.js +40 -0
- package/dist/env-metadata-helpers.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/major-tom.d.ts +21 -0
- package/dist/major-tom.d.ts.map +1 -0
- package/dist/major-tom.js +90 -0
- package/dist/major-tom.js.map +1 -0
- package/dist/mission-details.d.ts +14 -0
- package/dist/mission-details.d.ts.map +1 -0
- package/dist/mission-details.js +2 -0
- package/dist/mission-details.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MissionDetails } from "./mission-details";
|
|
2
|
+
export interface MetadataOptions {
|
|
3
|
+
noCapsule?: true;
|
|
4
|
+
}
|
|
5
|
+
type RunMetadata = Omit<MissionDetails, "groundControl">;
|
|
6
|
+
export declare function getRunMetadata(options: MetadataOptions): RunMetadata;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=env-metadata-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-metadata-helpers.d.ts","sourceRoot":"","sources":["../src/env-metadata-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAA;AAExD,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,CAcpE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as os from "node:os";
|
|
2
|
+
export function getRunMetadata(options) {
|
|
3
|
+
const result = {};
|
|
4
|
+
if (!options.noCapsule) {
|
|
5
|
+
result.capsule = os.hostname();
|
|
6
|
+
}
|
|
7
|
+
// Новый способ получения CI информации
|
|
8
|
+
const ci = getCiMeta();
|
|
9
|
+
if (Object.keys(ci).length > 0) {
|
|
10
|
+
result.ci = ci;
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
function getCiMeta() {
|
|
15
|
+
const ciInfo = {};
|
|
16
|
+
// Git информация
|
|
17
|
+
if (process.env.GIT_BRANCH) {
|
|
18
|
+
ciInfo.branch = process.env.GIT_BRANCH;
|
|
19
|
+
}
|
|
20
|
+
if (process.env.GIT_COMMIT) {
|
|
21
|
+
ciInfo.commit = process.env.GIT_COMMIT;
|
|
22
|
+
}
|
|
23
|
+
// Pull Request информация
|
|
24
|
+
if (process.env.CHANGE_URL) {
|
|
25
|
+
ciInfo.pullRequestUrl = process.env.CHANGE_URL;
|
|
26
|
+
}
|
|
27
|
+
// Автор
|
|
28
|
+
if (process.env.CHANGE_AUTHOR) {
|
|
29
|
+
ciInfo.authorName = process.env.CHANGE_AUTHOR;
|
|
30
|
+
}
|
|
31
|
+
if (process.env.CHANGE_AUTHOR_DISPLAY_NAME) {
|
|
32
|
+
ciInfo.authorDisplayName = process.env.CHANGE_AUTHOR_DISPLAY_NAME;
|
|
33
|
+
}
|
|
34
|
+
// Job URL
|
|
35
|
+
if (process.env.JOB_URL) {
|
|
36
|
+
ciInfo.jobUrl = process.env.JOB_URL;
|
|
37
|
+
}
|
|
38
|
+
return ciInfo;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=env-metadata-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-metadata-helpers.js","sourceRoot":"","sources":["../src/env-metadata-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAS7B,MAAM,UAAU,cAAc,CAAC,OAAwB;IAErD,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IAChC,CAAC;IAED,uCAAuC;IACvC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IACtB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAsC,EAAE,CAAA;IAEpD,iBAAiB;IACjB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;IACxC,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;IAChD,CAAC;IAED,QAAQ;IACR,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;IAC/C,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IACnE,CAAC;IAED,UAAU;IACV,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;IACrC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEpC,eAAe,QAAQ,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEpC,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FullConfig, FullResult, Reporter, Suite, TestCase, TestError, TestResult, TestStep } from '@playwright/test/reporter';
|
|
2
|
+
import { Socket, type Channel } from 'phoenix';
|
|
3
|
+
import { MissionDetails } from './mission-details';
|
|
4
|
+
export declare class MajorTom implements Reporter {
|
|
5
|
+
socket: Socket;
|
|
6
|
+
mission_id: string;
|
|
7
|
+
uplink: Channel;
|
|
8
|
+
constructor({ groundControl, ...missionDetails }: MissionDetails);
|
|
9
|
+
onBegin(config: FullConfig, suite: Suite): void;
|
|
10
|
+
onEnd(result: FullResult): void;
|
|
11
|
+
onError(error: TestError): void;
|
|
12
|
+
onTestBegin(test: TestCase, result: TestResult): void;
|
|
13
|
+
onTestEnd(test: TestCase, result: TestResult): void;
|
|
14
|
+
onStdOut(chunk: string): void;
|
|
15
|
+
onStdErr(chunk: string): void;
|
|
16
|
+
onExit(): Promise<void>;
|
|
17
|
+
onStepBegin(test: TestCase, result: TestResult, step: TestStep): void;
|
|
18
|
+
onStepEnd(test: TestCase, result: TestResult, step: TestStep): void;
|
|
19
|
+
printsToStdio(): boolean;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=major-tom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"major-tom.d.ts","sourceRoot":"","sources":["../src/major-tom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAE9H,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,QAAS,YAAW,QAAQ;IAEvC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAK;IACvB,MAAM,EAAE,OAAO,CAAC;gBAEJ,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,EAAE,cAAc;IA4BhE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAY/C,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAU/B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAE/B,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IASrD,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAanD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAavB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAErE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAEnE,aAAa,IAAI,OAAO;CAGzB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { WebSocket } from 'ws';
|
|
2
|
+
import { Socket } from 'phoenix';
|
|
3
|
+
export class MajorTom {
|
|
4
|
+
constructor({ groundControl, ...missionDetails }) {
|
|
5
|
+
this.mission_id = '';
|
|
6
|
+
if (groundControl) {
|
|
7
|
+
this.socket = new Socket(groundControl, { timeout: 500, transport: WebSocket });
|
|
8
|
+
this.socket.connect();
|
|
9
|
+
// Передаем missionDetails сразу при подключении к lobby
|
|
10
|
+
const lobby = this.socket.channel("uplink:lobby", { missionDetails });
|
|
11
|
+
this.uplink = lobby;
|
|
12
|
+
this.uplink.join().receive("ok", (res) => {
|
|
13
|
+
console.log("mission_id:", res.mission_id);
|
|
14
|
+
this.mission_id = res.mission_id; // Используем mission_id вместо report_id
|
|
15
|
+
// Переходим к специфичному каналу
|
|
16
|
+
const missionSpecific = this.socket.channel(`uplink:${this.mission_id}`);
|
|
17
|
+
missionSpecific.join().receive("ok", () => {
|
|
18
|
+
this.uplink = missionSpecific;
|
|
19
|
+
lobby.leave().receive("ok", () => {
|
|
20
|
+
// Больше ничего не отправляем - всё уже было отправлено в lobby
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
throw new Error("No ground control uplink specified");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Используем mission_id вместо report_id
|
|
30
|
+
onBegin(config, suite) {
|
|
31
|
+
this.uplink.push('test-run-start', {
|
|
32
|
+
mission_id: this.mission_id,
|
|
33
|
+
payload: {
|
|
34
|
+
tests: suite.allTests().map(test => ({
|
|
35
|
+
title: test.title,
|
|
36
|
+
id: test.id
|
|
37
|
+
}))
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
onEnd(result) {
|
|
42
|
+
this.uplink.push('test-run-end', {
|
|
43
|
+
mission_id: this.mission_id,
|
|
44
|
+
payload: {
|
|
45
|
+
status: result.status,
|
|
46
|
+
duration: result.duration
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
onError(error) { }
|
|
51
|
+
onTestBegin(test, result) {
|
|
52
|
+
this.uplink.push('test-begin', {
|
|
53
|
+
mission_id: this.mission_id,
|
|
54
|
+
payload: {
|
|
55
|
+
id: test.id
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
onTestEnd(test, result) {
|
|
60
|
+
this.uplink.push('test-end', {
|
|
61
|
+
mission_id: this.mission_id,
|
|
62
|
+
payload: {
|
|
63
|
+
id: test.id,
|
|
64
|
+
status: result.status,
|
|
65
|
+
duration: result.duration,
|
|
66
|
+
retry: result.retry,
|
|
67
|
+
outcome: test.outcome()
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
onStdOut(chunk) { }
|
|
72
|
+
onStdErr(chunk) { }
|
|
73
|
+
onExit() {
|
|
74
|
+
return new Promise((resolve) => {
|
|
75
|
+
if (this.socket) {
|
|
76
|
+
this.uplink.push("exit", {});
|
|
77
|
+
this.uplink.leave();
|
|
78
|
+
this.socket.disconnect();
|
|
79
|
+
}
|
|
80
|
+
// На случай, если нужно чуть больше времени для отправки
|
|
81
|
+
setTimeout(() => resolve(), 100);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
onStepBegin(test, result, step) { }
|
|
85
|
+
onStepEnd(test, result, step) { }
|
|
86
|
+
printsToStdio() {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=major-tom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"major-tom.js","sourceRoot":"","sources":["../src/major-tom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type MissionDetails = {
|
|
2
|
+
groundControl: string;
|
|
3
|
+
project?: string;
|
|
4
|
+
capsule?: string;
|
|
5
|
+
ci?: {
|
|
6
|
+
branch?: string;
|
|
7
|
+
commit?: string;
|
|
8
|
+
pullRequestUrl?: string;
|
|
9
|
+
authorName?: string;
|
|
10
|
+
authorDisplayName?: string;
|
|
11
|
+
jobUrl?: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=mission-details.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mission-details.d.ts","sourceRoot":"","sources":["../src/mission-details.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,EAAE,CAAC,EAAE;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAA;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mission-details.js","sourceRoot":"","sources":["../src/mission-details.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "major-tom-playwright-reporter",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Playwright reporter for realtime monitoring for CI/Dev",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"require": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./env-metadata-helpers": {
|
|
14
|
+
"import": "./dist/env-metadata-helpers.js",
|
|
15
|
+
"require": "./dist/env-metadata-helpers.js",
|
|
16
|
+
"types": "./dist/env-metadata-helpers.d.ts"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://gitverse.ru/webperf/mt2gc"
|
|
22
|
+
},
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://gitverse.ru/webperf/mt2gc/tasktracker"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://gitverse.ru/webperf/mt2gc",
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"prepublishOnly": "npm run build",
|
|
30
|
+
"test": "vitest run",
|
|
31
|
+
"tdd": "vitest"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"playwright",
|
|
35
|
+
"reporter",
|
|
36
|
+
"test",
|
|
37
|
+
"testing",
|
|
38
|
+
"phoenix",
|
|
39
|
+
"websocket",
|
|
40
|
+
"realtime"
|
|
41
|
+
],
|
|
42
|
+
"author": "Alexander Taran",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@playwright/test": "^1.57.0",
|
|
46
|
+
"@types/node": "^25.0.3",
|
|
47
|
+
"@types/ws": "^8.5.3",
|
|
48
|
+
"typescript": "^5.9.3",
|
|
49
|
+
"vitest": "^2.0.0"
|
|
50
|
+
},
|
|
51
|
+
"files": [
|
|
52
|
+
"dist/",
|
|
53
|
+
"README.md",
|
|
54
|
+
"LICENSE"
|
|
55
|
+
],
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"phoenix": "^1.8.3",
|
|
58
|
+
"ws": "^8.18.0"
|
|
59
|
+
},
|
|
60
|
+
"peerDependencies": {
|
|
61
|
+
"@playwright/test": "^1.30.0"
|
|
62
|
+
}
|
|
63
|
+
}
|