@axe-core/watcher 3.13.1-next.6f9fa4ca → 3.13.1-next.7128ea70
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/utils/initializeSession.d.ts +11 -0
- package/dist/utils/initializeSession.js +45 -0
- package/dist/utils/initializeSession.js.map +1 -0
- package/dist/utils/initializeSession.test.js +128 -0
- package/dist/utils/initializeSession.test.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +15 -4
- package/dist/utils/writeVariables.js +33 -18
- package/dist/utils/writeVariables.js.map +1 -1
- package/dist/utils/writeVariables.test.js +2 -21
- package/dist/utils/writeVariables.test.js.map +1 -1
- package/dist/wdio.js +6 -1
- package/dist/wdio.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +1 -1
- package/dist/utils/validateApiKey.d.ts +0 -7
- package/dist/utils/validateApiKey.js +0 -34
- package/dist/utils/validateApiKey.js.map +0 -1
- package/dist/utils/validateApiKey.test.js +0 -66
- package/dist/utils/validateApiKey.test.js.map +0 -1
- /package/dist/utils/{validateApiKey.test.d.ts → initializeSession.test.d.ts} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface InitializeSessionParams {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
serverURL: string;
|
|
4
|
+
watcherVersion: string;
|
|
5
|
+
sessionID: string | null;
|
|
6
|
+
buildID: string | null;
|
|
7
|
+
gitCommitSha: string | null;
|
|
8
|
+
}
|
|
9
|
+
/** Initialize a new session. */
|
|
10
|
+
declare function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, buildID, gitCommitSha }: InitializeSessionParams): string;
|
|
11
|
+
export default initializeSession;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const sync_request_1 = __importDefault(require("sync-request"));
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
|
9
|
+
const debugLogger = (0, createDebugger_1.default)('config:initializeSession');
|
|
10
|
+
/** Initialize a new session. */
|
|
11
|
+
function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, buildID, gitCommitSha }) {
|
|
12
|
+
(0, assert_1.default)(apiKey, 'API key is required');
|
|
13
|
+
(0, assert_1.default)(serverURL, 'Server URL is required');
|
|
14
|
+
(0, assert_1.default)(watcherVersion, 'Watcher version is required');
|
|
15
|
+
(0, assert_1.default)(!(sessionID && typeof sessionID !== 'string'), 'Session ID must be a string');
|
|
16
|
+
(0, assert_1.default)(!(buildID && typeof buildID !== 'string'), 'Build ID must be a string');
|
|
17
|
+
(0, assert_1.default)(!(sessionID && buildID), 'Session ID and Build ID are mutually exclusive. `sessionId` is deprecated, please use `buildID` instead');
|
|
18
|
+
(0, assert_1.default)(!(gitCommitSha && typeof gitCommitSha !== 'string'), 'Git commit SHA must be a string');
|
|
19
|
+
const url = new URL(`/api-pub/watcher/sessions`, serverURL);
|
|
20
|
+
const res = (0, sync_request_1.default)('POST', url.toString(), {
|
|
21
|
+
headers: {
|
|
22
|
+
'X-API-Key': apiKey
|
|
23
|
+
},
|
|
24
|
+
json: {
|
|
25
|
+
watcher_version: watcherVersion,
|
|
26
|
+
session_id: sessionID,
|
|
27
|
+
build_id: buildID,
|
|
28
|
+
git_commit_sha: gitCommitSha
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const body = JSON.parse(res.getBody('utf8'));
|
|
32
|
+
if (body.errors.length) {
|
|
33
|
+
debugLogger('Error initializing session:', body.errors);
|
|
34
|
+
throw new Error(body.errors.join(', '));
|
|
35
|
+
}
|
|
36
|
+
if (body.warnings.length) {
|
|
37
|
+
debugLogger('Warning initializing session:', body.warnings);
|
|
38
|
+
// eslint-disable-next-line no-console -- We want to emit a warning to the user's console
|
|
39
|
+
console.warn(body.warnings.join(', '));
|
|
40
|
+
}
|
|
41
|
+
debugLogger('Session initialized successfully:', body.session_id);
|
|
42
|
+
return body.session_id;
|
|
43
|
+
}
|
|
44
|
+
exports.default = initializeSession;
|
|
45
|
+
//# sourceMappingURL=initializeSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeSession.js","sourceRoot":"","sources":["../../src/utils/initializeSession.ts"],"names":[],"mappings":";;;;;AAAA,gEAAkC;AAClC,oDAA2B;AAC3B,uEAA8C;AAE9C,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,0BAA0B,CAAC,CAAA;AAkB9D,gCAAgC;AAChC,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,EACY;IACxB,IAAA,gBAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACrC,IAAA,gBAAM,EAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;IAC3C,IAAA,gBAAM,EAAC,cAAc,EAAE,6BAA6B,CAAC,CAAA;IACrD,IAAA,gBAAM,EACJ,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,EAC7C,6BAA6B,CAC9B,CAAA;IACD,IAAA,gBAAM,EAAC,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAA;IAC9E,IAAA,gBAAM,EACJ,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,EACvB,yGAAyG,CAC1G,CAAA;IACD,IAAA,gBAAM,EACJ,CAAC,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,EACnD,iCAAiC,CAClC,CAAA;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAA;IAC3D,MAAM,GAAG,GAAG,IAAA,sBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC1C,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;SACpB;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;YACjB,cAAc,EAAE,YAAY;SAC7B;KACF,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAA8B,CAAA;IAEzE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACvD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,WAAW,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE3D,yFAAyF;QACzF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,WAAW,CAAC,mCAAmC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAEjE,OAAO,IAAI,CAAC,UAAU,CAAA;AACxB,CAAC;AAED,kBAAe,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
require("mocha");
|
|
7
|
+
const chai_1 = require("chai");
|
|
8
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
9
|
+
const proxyquire_1 = __importDefault(require("proxyquire"));
|
|
10
|
+
const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
11
|
+
describe('initializeSession', () => {
|
|
12
|
+
afterEach(sinon_1.default.restore);
|
|
13
|
+
const defaultParams = {
|
|
14
|
+
apiKey: 'abc',
|
|
15
|
+
serverURL: 'http://localhost:3000',
|
|
16
|
+
watcherVersion: '1.0.0',
|
|
17
|
+
sessionID: null,
|
|
18
|
+
buildID: null,
|
|
19
|
+
gitCommitSha: null
|
|
20
|
+
};
|
|
21
|
+
describe('validating input', () => {
|
|
22
|
+
describe('when the API key is missing', () => {
|
|
23
|
+
it('throws an error', () => {
|
|
24
|
+
chai_1.assert.throws(() => {
|
|
25
|
+
//@ts-expect-error - expected missing apiKey
|
|
26
|
+
(0, initializeSession_1.default)({});
|
|
27
|
+
}, 'API key is required');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('when the server URL is missing', () => {
|
|
31
|
+
it('throws an error', () => {
|
|
32
|
+
chai_1.assert.throws(() => {
|
|
33
|
+
//@ts-expect-error - expected missing serverURL
|
|
34
|
+
(0, initializeSession_1.default)({ apiKey: 'abc' });
|
|
35
|
+
}, 'Server URL is required');
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('when the watcher version is missing', () => {
|
|
39
|
+
it('throws an error', () => {
|
|
40
|
+
chai_1.assert.throws(() => {
|
|
41
|
+
//@ts-expect-error - expected missing watcherVersion
|
|
42
|
+
(0, initializeSession_1.default)({
|
|
43
|
+
apiKey: 'abc',
|
|
44
|
+
serverURL: 'http://localhost:3000'
|
|
45
|
+
});
|
|
46
|
+
}, 'Watcher version is required');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe('when the session ID is not a string', () => {
|
|
50
|
+
it('throws an error', () => {
|
|
51
|
+
chai_1.assert.throws(() => {
|
|
52
|
+
(0, initializeSession_1.default)({
|
|
53
|
+
...defaultParams,
|
|
54
|
+
//@ts-expect-error - expected sessionID to be a string
|
|
55
|
+
sessionID: 123
|
|
56
|
+
});
|
|
57
|
+
}, 'Session ID must be a string');
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('when the build ID is not a string', () => {
|
|
61
|
+
it('throws an error', () => {
|
|
62
|
+
chai_1.assert.throws(() => {
|
|
63
|
+
(0, initializeSession_1.default)({
|
|
64
|
+
...defaultParams,
|
|
65
|
+
//@ts-expect-error - expected buildID to be a string
|
|
66
|
+
buildID: 123
|
|
67
|
+
});
|
|
68
|
+
}, 'Build ID must be a string');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('when both session ID and build ID are provided', () => {
|
|
72
|
+
it('throws an error', () => {
|
|
73
|
+
chai_1.assert.throws(() => {
|
|
74
|
+
(0, initializeSession_1.default)({
|
|
75
|
+
...defaultParams,
|
|
76
|
+
sessionID: 'abc',
|
|
77
|
+
buildID: '123'
|
|
78
|
+
});
|
|
79
|
+
}, 'Session ID and Build ID are mutually exclusive. `sessionId` is deprecated, please use `buildID` instead');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('when the git commit SHA is not a string', () => {
|
|
83
|
+
it('throws an error', () => {
|
|
84
|
+
chai_1.assert.throws(() => {
|
|
85
|
+
(0, initializeSession_1.default)({
|
|
86
|
+
...defaultParams,
|
|
87
|
+
//@ts-expect-error - expected gitCommitSha to be a string
|
|
88
|
+
gitCommitSha: 123
|
|
89
|
+
});
|
|
90
|
+
}, 'Git commit SHA must be a string');
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
describe('when the server returns a non-200 response', () => {
|
|
95
|
+
afterEach(sinon_1.default.restore);
|
|
96
|
+
it('throws an error', () => {
|
|
97
|
+
const requestStub = sinon_1.default
|
|
98
|
+
.stub()
|
|
99
|
+
.returns({ statusCode: 500, getBody: () => '{"errors":["boom"]}' });
|
|
100
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
101
|
+
'sync-request': requestStub
|
|
102
|
+
}).default;
|
|
103
|
+
chai_1.assert.throws(() => {
|
|
104
|
+
fn(defaultParams);
|
|
105
|
+
}, 'boom');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('when the server returns a 200 response', () => {
|
|
109
|
+
it('does not throw an error', () => {
|
|
110
|
+
const expectedBody = {
|
|
111
|
+
errors: [],
|
|
112
|
+
warnings: [],
|
|
113
|
+
session_id: 'abc'
|
|
114
|
+
};
|
|
115
|
+
const requestStub = sinon_1.default.stub().returns({
|
|
116
|
+
statusCode: 200,
|
|
117
|
+
getBody: () => JSON.stringify(expectedBody)
|
|
118
|
+
});
|
|
119
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
120
|
+
'sync-request': requestStub
|
|
121
|
+
}).default;
|
|
122
|
+
const invoke = fn(defaultParams);
|
|
123
|
+
chai_1.assert.doesNotThrow(() => invoke);
|
|
124
|
+
chai_1.assert.deepEqual(invoke, expectedBody.session_id);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=initializeSession.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeSession.test.js","sourceRoot":"","sources":["../../src/utils/initializeSession.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ interface AxeConfiguration {
|
|
|
16
16
|
apiKey: string;
|
|
17
17
|
/** Custom axe server URL. */
|
|
18
18
|
serverURL?: string;
|
|
19
|
-
/**
|
|
19
|
+
/** @deprecated Please use `buildID` instead */
|
|
20
20
|
sessionId?: string;
|
|
21
21
|
/**
|
|
22
22
|
* Whether or not to automatically run axe on the page when loaded and
|
|
@@ -39,8 +39,6 @@ interface AxeConfiguration {
|
|
|
39
39
|
* @see https://www.deque.com/axe/core-documentation/api-documentation/#options-parameter
|
|
40
40
|
*/
|
|
41
41
|
runOptions?: RunOptions;
|
|
42
|
-
/** Whether to take and send screenshots to the perf endpoint */
|
|
43
|
-
/** Run experimental advanced rules */
|
|
44
42
|
/**
|
|
45
43
|
* Exclude URLs from being scanned by axe-core/watcher by providing an array of minimatch patterns.
|
|
46
44
|
*
|
|
@@ -51,6 +49,19 @@ interface AxeConfiguration {
|
|
|
51
49
|
* ```
|
|
52
50
|
*/
|
|
53
51
|
excludeUrlPatterns?: string[];
|
|
52
|
+
/**
|
|
53
|
+
* A unique identifier for the build or test run. This is useful for:
|
|
54
|
+
*
|
|
55
|
+
* - Grouping `@axe-core/watcher` runs across multiple workers running in parallel
|
|
56
|
+
* - Grouping `@axe-core/watcher` runs across multiple axe Developer Hub projects
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```js
|
|
60
|
+
* buildID: ${ process.env.GITHUB.RUN_ID }
|
|
61
|
+
* buildID: ${ process.env.CIRCLE_PIPELINE_ID }
|
|
62
|
+
*```
|
|
63
|
+
*/
|
|
64
|
+
buildID?: string;
|
|
54
65
|
}
|
|
55
66
|
export interface Configuration {
|
|
56
67
|
axe: AxeConfiguration;
|
|
@@ -73,5 +84,5 @@ export interface Variables {
|
|
|
73
84
|
exclude_url_patterns: string[] | null;
|
|
74
85
|
}
|
|
75
86
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
76
|
-
declare function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions, takeScreenshots, experimentalAdvancedRules, excludeUrlPatterns }: WriteVariablesParams): void;
|
|
87
|
+
declare function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions, takeScreenshots, experimentalAdvancedRules, excludeUrlPatterns, buildID }: WriteVariablesParams): void;
|
|
77
88
|
export default writeVariables;
|
|
@@ -28,20 +28,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const git = __importStar(require("../git"));
|
|
30
30
|
const fs_1 = __importDefault(require("fs"));
|
|
31
|
-
const uuid_1 = require("uuid");
|
|
32
31
|
const constants_1 = require("./constants");
|
|
33
32
|
const validateAxeRunOptions_1 = require("./validateAxeRunOptions");
|
|
34
33
|
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
|
35
|
-
const
|
|
34
|
+
const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
36
35
|
const validateAxeRunContext_1 = require("./validateAxeRunContext");
|
|
37
36
|
const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
|
|
38
37
|
const debugLogger = (0, createDebugger_1.default)('config:writeVariables');
|
|
38
|
+
// Read the version from package.json, but do not include the file in the build.
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
40
|
+
const { version } = require('../../package.json');
|
|
39
41
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
40
42
|
function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions,
|
|
41
43
|
// @ts-expect-error Feature flag, not part of public type
|
|
42
44
|
takeScreenshots,
|
|
43
45
|
// @ts-expect-error Feature flag, not part of public type
|
|
44
|
-
experimentalAdvancedRules, excludeUrlPatterns }) {
|
|
46
|
+
experimentalAdvancedRules, excludeUrlPatterns, buildID }) {
|
|
45
47
|
// only log the properties if they are not undefined
|
|
46
48
|
debugLogger('Received configuration:', {
|
|
47
49
|
apiKey: '<redacted>',
|
|
@@ -49,7 +51,9 @@ experimentalAdvancedRules, excludeUrlPatterns }) {
|
|
|
49
51
|
...(serverURL !== undefined && { serverURL }),
|
|
50
52
|
...(sessionId !== undefined && { sessionId }),
|
|
51
53
|
...(runContext !== undefined && { runContext }),
|
|
52
|
-
...(runOptions !== undefined && { runOptions })
|
|
54
|
+
...(runOptions !== undefined && { runOptions }),
|
|
55
|
+
...(excludeUrlPatterns !== undefined && { excludeUrlPatterns }),
|
|
56
|
+
...(buildID !== undefined && { buildID })
|
|
53
57
|
});
|
|
54
58
|
if (!serverURL) {
|
|
55
59
|
serverURL = constants_1.DEFAULT_SERVER_URL;
|
|
@@ -84,31 +88,42 @@ experimentalAdvancedRules, excludeUrlPatterns }) {
|
|
|
84
88
|
gitData.git_commit_email = info === null || info === void 0 ? void 0 : info.email;
|
|
85
89
|
gitData.git_commit_message = info === null || info === void 0 ? void 0 : info.message;
|
|
86
90
|
}
|
|
87
|
-
debugLogger('
|
|
88
|
-
(0,
|
|
91
|
+
debugLogger('Initializing axe Watcher session');
|
|
92
|
+
let session_id = (0, initializeSession_1.default)({
|
|
93
|
+
apiKey,
|
|
94
|
+
serverURL: urlString,
|
|
95
|
+
watcherVersion: version,
|
|
96
|
+
sessionID: sessionId || null,
|
|
97
|
+
buildID: buildID || null,
|
|
98
|
+
gitCommitSha: gitData.git_commit_sha || null
|
|
99
|
+
});
|
|
89
100
|
if (typeof autoAnalyze === 'undefined') {
|
|
90
101
|
autoAnalyze = true;
|
|
91
102
|
}
|
|
92
103
|
if (excludeUrlPatterns === null || excludeUrlPatterns === void 0 ? void 0 : excludeUrlPatterns.length) {
|
|
93
104
|
(0, isValidExcludePattern_1.default)(excludeUrlPatterns);
|
|
94
105
|
}
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
// Note: If a build ID is provided the session ID will be consistent
|
|
107
|
+
// so there is no need to write to the file.
|
|
108
|
+
// between workers/machines (parallel runners)
|
|
109
|
+
if (!buildID) {
|
|
110
|
+
// When a custom session ID is not provided, attempt to read it from the filesystem.
|
|
111
|
+
// This enables multi-process/multi-browser test suites to all use the same session ID.
|
|
112
|
+
if (!sessionId && fs_1.default.existsSync(constants_1.PATH_TO_SESSION_FILE)) {
|
|
113
|
+
debugLogger('Reading session ID from file for WDIO Test Runner');
|
|
114
|
+
try {
|
|
115
|
+
const data = JSON.parse(fs_1.default.readFileSync(constants_1.PATH_TO_SESSION_FILE, 'utf8'));
|
|
116
|
+
session_id = data.id;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
throw new Error(`Unable to read session configuration: ${error}`);
|
|
120
|
+
}
|
|
105
121
|
}
|
|
106
122
|
}
|
|
107
123
|
const variables = {
|
|
108
124
|
api_key: apiKey,
|
|
109
125
|
server_url: urlString,
|
|
110
|
-
|
|
111
|
-
session_id: sessionId || (0, uuid_1.v4)(),
|
|
126
|
+
session_id,
|
|
112
127
|
take_screenshots: !!takeScreenshots,
|
|
113
128
|
auto_analyze: !!autoAnalyze,
|
|
114
129
|
cypress: !!cypress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB
|
|
1
|
+
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,34 +31,15 @@ const chai_1 = require("chai");
|
|
|
31
31
|
const sinon_1 = __importDefault(require("sinon"));
|
|
32
32
|
const fs_1 = __importDefault(require("fs"));
|
|
33
33
|
const git = __importStar(require("../git"));
|
|
34
|
-
const
|
|
34
|
+
const initializeSessionImp = __importStar(require("./initializeSession"));
|
|
35
35
|
const writeVariables_1 = __importDefault(require("./writeVariables"));
|
|
36
36
|
describe('writeVariables', () => {
|
|
37
|
-
let validateApiKey;
|
|
38
37
|
beforeEach(() => {
|
|
39
|
-
|
|
38
|
+
sinon_1.default.stub(initializeSessionImp, 'default').returns('123');
|
|
40
39
|
});
|
|
41
40
|
afterEach(() => {
|
|
42
41
|
sinon_1.default.restore();
|
|
43
42
|
});
|
|
44
|
-
describe('when validateApiKey=true', () => {
|
|
45
|
-
describe('when given an invalid API key', () => {
|
|
46
|
-
beforeEach(() => {
|
|
47
|
-
;
|
|
48
|
-
validateApiKey.throws(new Error('Invalid API key'));
|
|
49
|
-
});
|
|
50
|
-
it('should throw', () => {
|
|
51
|
-
chai_1.assert.throws(() => {
|
|
52
|
-
(0, writeVariables_1.default)({
|
|
53
|
-
apiKey: 'abc',
|
|
54
|
-
serverURL: 'http://localhost:3000',
|
|
55
|
-
// @ts-expect-error // Feature flag, not part of public type
|
|
56
|
-
takeScreenshots: true
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
43
|
describe('given `sessionId` variable', () => {
|
|
63
44
|
describe('when provided', () => {
|
|
64
45
|
it('should write to variables.json', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVariables.test.js","sourceRoot":"","sources":["../../src/utils/writeVariables.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAAc;AACd,+BAA6B;AAC7B,kDAAyB;AACzB,4CAAmB;AACnB,4CAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"writeVariables.test.js","sourceRoot":"","sources":["../../src/utils/writeVariables.test.ts"],"names":[],"mappings":"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"}
|
package/dist/wdio.js
CHANGED
|
@@ -75,7 +75,12 @@ function wdioTestRunner(...params) {
|
|
|
75
75
|
capabilities,
|
|
76
76
|
onPrepare(...prepareParams) {
|
|
77
77
|
const sessionId = axe.sessionId;
|
|
78
|
-
|
|
78
|
+
const buildID = axe.buildID;
|
|
79
|
+
// Note: we only want to write a file if a build ID is not provided.
|
|
80
|
+
// as the build ID will ensure the session ID is consistent between workers/machines.
|
|
81
|
+
if (!buildID) {
|
|
82
|
+
fs_1.default.writeFileSync(constants_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
|
|
83
|
+
}
|
|
79
84
|
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
80
85
|
return onPrepare(...prepareParams);
|
|
81
86
|
},
|
package/dist/wdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":";;;;;;AA0BA,gCA0BC;AAgBD,
|
|
1
|
+
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
|