@axe-core/watcher 3.13.0-rc.9828b46d → 3.13.1-next.1e5153b8
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/cypress.d.ts +1 -0
- package/dist/cypress.js +31 -9
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +7 -2
- package/dist/cypressCommands.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +2 -0
- package/dist/sendResultsToServer.js +18 -15
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/constants.js +25 -2
- package/dist/utils/constants.js.map +1 -1
- 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/axe.js +2 -0
- package/extension/axe.js.LICENSE.txt +11 -0
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/content.js.LICENSE.txt +0 -12
- package/extension/manifest.json +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
package/dist/cypress.d.ts
CHANGED
package/dist/cypress.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.cypressConfig = void 0;
|
|
6
|
+
exports.cypressConfig = exports.cypressConfigRunFlag = void 0;
|
|
7
7
|
const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
|
|
8
8
|
const EventForwarder_1 = __importDefault(require("./EventForwarder"));
|
|
9
9
|
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
|
@@ -12,12 +12,14 @@ const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError")
|
|
|
12
12
|
const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
|
13
13
|
const createDebugger_1 = __importDefault(require("./createDebugger"));
|
|
14
14
|
const debugLogger = (0, createDebugger_1.default)('CypressController');
|
|
15
|
+
exports.cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
|
15
16
|
/**
|
|
16
17
|
* Create a Cypress config that uses the axe Watcher extension.
|
|
17
18
|
*
|
|
18
19
|
* @param config Cypress config to extend
|
|
19
20
|
*/
|
|
20
21
|
const cypressConfig = (config) => {
|
|
22
|
+
var _a;
|
|
21
23
|
const { axe, ...userConfig } = config;
|
|
22
24
|
const { DEBUG } = process.env;
|
|
23
25
|
const hasWatcherDebug = DEBUG && DEBUG.includes('axe-watcher');
|
|
@@ -35,13 +37,23 @@ const cypressConfig = (config) => {
|
|
|
35
37
|
'*/__cypress/iframes/*'
|
|
36
38
|
]
|
|
37
39
|
});
|
|
40
|
+
if ((_a = userConfig.e2e) === null || _a === void 0 ? void 0 : _a.env) {
|
|
41
|
+
userConfig.e2e.env = Object.assign({}, userConfig.e2e.env, {
|
|
42
|
+
[exports.cypressConfigRunFlag]: true
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
userConfig.env = Object.assign({}, userConfig.env, {
|
|
47
|
+
[exports.cypressConfigRunFlag]: true
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
// TODO: ensure that __AXE_WATCHER_DEBUG is being set in each scenario, including in the e2e.env. See https://github.com/dequelabs/jazzband/pull/1290
|
|
51
|
+
if (hasWatcherDebug) {
|
|
52
|
+
userConfig.env = Object.assign({}, userConfig.env, {
|
|
53
|
+
__AXE_WATCHER_DEBUG: hasWatcherDebug
|
|
54
|
+
});
|
|
55
|
+
}
|
|
38
56
|
return {
|
|
39
|
-
...(hasWatcherDebug && {
|
|
40
|
-
env: {
|
|
41
|
-
...config.env,
|
|
42
|
-
__AXE_WATCHER_DEBUG: hasWatcherDebug
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
57
|
...userConfig,
|
|
46
58
|
e2e: {
|
|
47
59
|
...userConfig.e2e,
|
|
@@ -73,14 +85,24 @@ const cypressConfig = (config) => {
|
|
|
73
85
|
* ensure we wait for the user's `setupNodeEvents` to resolve.
|
|
74
86
|
*/
|
|
75
87
|
const userNodeEventConfig = await ((_b = (_a = userConfig.e2e) === null || _a === void 0 ? void 0 : _a.setupNodeEvents) === null || _b === void 0 ? void 0 : _b.call(_a, on, ...args));
|
|
88
|
+
if (userNodeEventConfig) {
|
|
89
|
+
/*
|
|
90
|
+
The user-provided `setupNodeEvents` returned a new config, which will override the env we set above,
|
|
91
|
+
so we set it again
|
|
92
|
+
*/
|
|
93
|
+
userNodeEventConfig.env = Object.assign({}, userNodeEventConfig.env, {
|
|
94
|
+
[exports.cypressConfigRunFlag]: true
|
|
95
|
+
});
|
|
96
|
+
}
|
|
76
97
|
on('task', {
|
|
77
|
-
__uploadAxeWatcherResults: async (results) => {
|
|
78
|
-
if (!results.length) {
|
|
98
|
+
__uploadAxeWatcherResults: async ({ results, skipped_url }) => {
|
|
99
|
+
if (!(results === null || results === void 0 ? void 0 : results.length) && !skipped_url) {
|
|
79
100
|
// Indicates to Cypress that the event has been handled.
|
|
80
101
|
// @see https://docs.cypress.io/api/commands/task#Usage
|
|
81
102
|
return null;
|
|
82
103
|
}
|
|
83
104
|
await (0, sendResultsToServer_1.default)({
|
|
105
|
+
skipped_url,
|
|
84
106
|
results,
|
|
85
107
|
debugLogger
|
|
86
108
|
});
|
package/dist/cypress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":"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"}
|
package/dist/cypressCommands.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WRAPPED_COMMANDS = void 0;
|
|
4
|
+
const cypress_1 = require("./cypress");
|
|
4
5
|
/**
|
|
5
6
|
* Has the user stopped automatic mode.
|
|
6
7
|
*
|
|
@@ -39,6 +40,10 @@ const logDebugAxeWatcher = ({ message }) => {
|
|
|
39
40
|
}
|
|
40
41
|
};
|
|
41
42
|
const shouldAnalyzeLocation = (location) => ['http:', 'https:', 'file:'].includes(location.protocol);
|
|
43
|
+
// If cypressConfig was never invoked, fail immediately
|
|
44
|
+
if (!Cypress.env(cypress_1.cypressConfigRunFlag)) {
|
|
45
|
+
throw new Error(`Cypress is not configured for axe watcher. Please ensure that axe watcher's cypressConfig() is invoked within Cypress' defineConfig() in your ${Cypress.config('configFile')}. All tests will fail with this error.`);
|
|
46
|
+
}
|
|
42
47
|
/**
|
|
43
48
|
* Wrapped commands queue an axe run before calling the original method. This can seem
|
|
44
49
|
* a little counter-intuitive, but the reason we do this is so that we make sure we wait
|
|
@@ -86,7 +91,7 @@ exports.WRAPPED_COMMANDS.forEach(method => Cypress.Commands.overwrite(method, (o
|
|
|
86
91
|
// commandChain = commandChain.then(() => (cy as CyInternal).getSubjectFromChain!(originalSubjectChain))
|
|
87
92
|
//
|
|
88
93
|
if (tryRequerySubject) {
|
|
89
|
-
const timeout = (_e = args.find(arg => arg.timeout)) === null || _e === void 0 ? void 0 : _e.timeout;
|
|
94
|
+
const timeout = (_e = args.find(arg => arg === null || arg === void 0 ? void 0 : arg.timeout)) === null || _e === void 0 ? void 0 : _e.timeout;
|
|
90
95
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
96
|
commandChain = commandChain.__axeRestoreSubject(originalSubjectChain, timeout);
|
|
92
97
|
// In all hooked cases, originalFn can have its own timeout.
|
|
@@ -148,7 +153,7 @@ function axeWatcherFlushCommand() {
|
|
|
148
153
|
const event = new CustomEvent('axe:flush-start');
|
|
149
154
|
win.dispatchEvent(event);
|
|
150
155
|
}).then(results => {
|
|
151
|
-
cy.task('__uploadAxeWatcherResults', results, { log: false });
|
|
156
|
+
cy.task('__uploadAxeWatcherResults', { results }, { log: false });
|
|
152
157
|
logDebugAxeWatcher({ message: 'Flush: complete' });
|
|
153
158
|
});
|
|
154
159
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,12 @@ export interface Result {
|
|
|
14
14
|
screenshot_id: string | null;
|
|
15
15
|
run_context: ElementContext | null;
|
|
16
16
|
run_options: RunOptions | null;
|
|
17
|
+
skipped_url: string | null;
|
|
17
18
|
}
|
|
18
19
|
interface SendResultsToServerParams {
|
|
19
20
|
results: Result[];
|
|
20
21
|
debugLogger: debug.Debugger;
|
|
22
|
+
skipped_url?: string | null;
|
|
21
23
|
}
|
|
22
24
|
export declare const sendResultsToServer: ({ results, debugLogger }: SendResultsToServerParams) => Promise<void>;
|
|
23
25
|
export default sendResultsToServer;
|
|
@@ -26,21 +26,10 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
|
|
|
26
26
|
totalBytes: Buffer.byteLength(JSON.stringify(results))
|
|
27
27
|
});
|
|
28
28
|
debugLogger('SendResultsToServer: Session ID', { session_id });
|
|
29
|
-
|
|
30
|
-
results.forEach(result => {
|
|
31
|
-
if (result.screenshot) {
|
|
32
|
-
result.screenshot_id = (0, uuid_1.v4)();
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
// Send the results in batches.
|
|
36
|
-
for (let i = 0; i < results.length; i += exports.MAX_PAGE_STATES_PER_REQUEST) {
|
|
37
|
-
// Remove screenshots from results. They will be sent separately.
|
|
38
|
-
const batch = results
|
|
39
|
-
.slice(i, i + exports.MAX_PAGE_STATES_PER_REQUEST)
|
|
40
|
-
.map(r => ({ ...r, screenshot: null }));
|
|
29
|
+
const putResults = async (bodyResults = []) => {
|
|
41
30
|
const body = {
|
|
42
31
|
axe_watcher_version: version,
|
|
43
|
-
results:
|
|
32
|
+
results: bodyResults,
|
|
44
33
|
...git_data
|
|
45
34
|
};
|
|
46
35
|
const res = await (0, node_fetch_1.default)(resultsURL, {
|
|
@@ -54,7 +43,7 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
|
|
|
54
43
|
});
|
|
55
44
|
if (!res.ok) {
|
|
56
45
|
debugLogger('SendResultsToServer: Failed to send results', {
|
|
57
|
-
batchResults:
|
|
46
|
+
batchResults: bodyResults.length,
|
|
58
47
|
reqSize: Buffer.byteLength(JSON.stringify(body)),
|
|
59
48
|
resStatus: res.status,
|
|
60
49
|
resStatusText: res.statusText
|
|
@@ -64,12 +53,26 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
|
|
|
64
53
|
}
|
|
65
54
|
else {
|
|
66
55
|
debugLogger('SendResultsToServer: Successfully sent', {
|
|
67
|
-
batchResults:
|
|
56
|
+
batchResults: bodyResults.length,
|
|
68
57
|
reqSize: Buffer.byteLength(JSON.stringify(body)),
|
|
69
58
|
resStatus: res.status,
|
|
70
59
|
resStatusText: res.statusText
|
|
71
60
|
});
|
|
72
61
|
}
|
|
62
|
+
};
|
|
63
|
+
// Add an correlation ID to each result/screenshot combination (see #622).
|
|
64
|
+
results.forEach(result => {
|
|
65
|
+
if (result.screenshot) {
|
|
66
|
+
result.screenshot_id = (0, uuid_1.v4)();
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
// Send the results in batches.
|
|
70
|
+
for (let i = 0; i < results.length; i += exports.MAX_PAGE_STATES_PER_REQUEST) {
|
|
71
|
+
// Remove screenshots from results. They will be sent separately.
|
|
72
|
+
const batch = results
|
|
73
|
+
.slice(i, i + exports.MAX_PAGE_STATES_PER_REQUEST)
|
|
74
|
+
.map(r => ({ ...r, screenshot: null }));
|
|
75
|
+
await putResults(batch);
|
|
73
76
|
}
|
|
74
77
|
// Send screenshots.
|
|
75
78
|
await Promise.all(results.map(async ({ screenshot, screenshot_id }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAE9B,+BAAiC;AAGjC,0EAAiD;AAEjD,gFAAgF;AAChF,iEAAiE;AACjE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE9C;;;;;GAKG;AAEU,QAAA,2BAA2B,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -1,16 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.PATH_TO_EXTENSION = exports.DEFAULT_SERVER_URL = void 0;
|
|
7
30
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const
|
|
31
|
+
const os = __importStar(require("os"));
|
|
9
32
|
exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
|
|
10
33
|
// The path the `@axe-core/watcher` extension e.g. /<path>/node_modules/@axe-core/watcher/extension
|
|
11
34
|
exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', '..', 'extension');
|
|
12
35
|
// The path to the session JSON created and used by WDIO TestRunner
|
|
13
|
-
exports.PATH_TO_SESSION_FILE = path_1.default.join(
|
|
36
|
+
exports.PATH_TO_SESSION_FILE = path_1.default.join(os.tmpdir(), 'axe-watcher-session.json');
|
|
14
37
|
// The path to the variables JSON utilized by the extension and various other utilities
|
|
15
38
|
exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
|
|
16
39
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uCAAwB;AAEX,QAAA,kBAAkB,GAAG,wBAAwB,CAAA;AAE1D,mGAAmG;AACtF,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAE9E,mEAAmE;AACtD,QAAA,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAC3C,EAAE,CAAC,MAAM,EAAE,EACX,0BAA0B,CAC3B,CAAA;AAED,uFAAuF;AAC1E,QAAA,2BAA2B,GAAG,cAAI,CAAC,IAAI,CAClD,yBAAiB,EACjB,gBAAgB,CACjB,CAAA"}
|
|
@@ -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;
|