@wdio/browserstack-service 8.40.6 → 8.41.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/build/Percy/Percy.d.ts.map +1 -1
- package/build/Percy/Percy.js +2 -1
- package/build/Percy/PercySDK.d.ts.map +1 -1
- package/build/Percy/PercySDK.js +53 -4
- package/build/accessibility-handler.d.ts +1 -0
- package/build/accessibility-handler.d.ts.map +1 -1
- package/build/accessibility-handler.js +22 -28
- package/build/cleanup.js +4 -4
- package/build/constants.d.ts +6 -3
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +10 -3
- package/build/crash-reporter.js +2 -2
- package/build/exitHandler.js +2 -2
- package/build/insights-handler.d.ts +5 -5
- package/build/insights-handler.d.ts.map +1 -1
- package/build/insights-handler.js +24 -18
- package/build/instrumentation/funnelInstrumentation.d.ts.map +1 -1
- package/build/instrumentation/funnelInstrumentation.js +17 -10
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +89 -65
- package/build/reporter.d.ts +1 -1
- package/build/reporter.d.ts.map +1 -1
- package/build/reporter.js +8 -5
- package/build/scripts/accessibility-scripts.d.ts +2 -7
- package/build/scripts/accessibility-scripts.d.ts.map +1 -1
- package/build/service.d.ts.map +1 -1
- package/build/service.js +21 -19
- package/build/testHub/utils.d.ts +7 -0
- package/build/testHub/utils.d.ts.map +1 -0
- package/build/testHub/utils.js +57 -0
- package/build/testOps/listener.d.ts +6 -0
- package/build/testOps/listener.d.ts.map +1 -1
- package/build/testOps/listener.js +38 -1
- package/build/testOps/requestUtils.js +3 -3
- package/build/types.d.ts +34 -1
- package/build/types.d.ts.map +1 -1
- package/build/util.d.ts +8 -3
- package/build/util.d.ts.map +1 -1
- package/build/util.js +93 -153
- package/package.json +6 -6
- package/tsconfig.prod.tsbuildinfo +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import UsageStats from './usageStats.js';
|
|
2
2
|
import RequestQueueHandler from '../request-handler.js';
|
|
3
3
|
import { batchAndPostEvents, isTrue, sleep } from '../util.js';
|
|
4
|
-
import { DATA_BATCH_ENDPOINT, DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS, DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS, LOG_KIND_USAGE_MAP, TESTOPS_BUILD_COMPLETED_ENV } from '../constants.js';
|
|
4
|
+
import { DATA_BATCH_ENDPOINT, DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS, DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS, LOG_KIND_USAGE_MAP, TESTOPS_BUILD_COMPLETED_ENV, TEST_ANALYTICS_ID } from '../constants.js';
|
|
5
5
|
import { sendScreenshots } from './requestUtils.js';
|
|
6
6
|
import { BStackLogger } from '../bstackLogger.js';
|
|
7
|
+
import { shouldProcessEventForTesthub } from '../testHub/utils.js';
|
|
7
8
|
class Listener {
|
|
8
9
|
static instance;
|
|
9
10
|
usageStats = UsageStats.getInstance();
|
|
@@ -15,6 +16,8 @@ class Listener {
|
|
|
15
16
|
logEvents = this.usageStats.logStats;
|
|
16
17
|
requestBatcher;
|
|
17
18
|
pendingUploads = 0;
|
|
19
|
+
static _accessibilityOptions;
|
|
20
|
+
static _testRunAccessibilityVar = false;
|
|
18
21
|
// Making the constructor private to use singleton pattern
|
|
19
22
|
constructor() {
|
|
20
23
|
}
|
|
@@ -24,6 +27,12 @@ class Listener {
|
|
|
24
27
|
}
|
|
25
28
|
return Listener.instance;
|
|
26
29
|
}
|
|
30
|
+
static setAccessibilityOptions(options) {
|
|
31
|
+
Listener._accessibilityOptions = options;
|
|
32
|
+
}
|
|
33
|
+
static setTestRunAccessibilityVar(accessibility) {
|
|
34
|
+
Listener._testRunAccessibilityVar = accessibility;
|
|
35
|
+
}
|
|
27
36
|
async onWorkerEnd() {
|
|
28
37
|
try {
|
|
29
38
|
await this.uploadPending();
|
|
@@ -48,6 +57,9 @@ class Listener {
|
|
|
48
57
|
}
|
|
49
58
|
hookStarted(hookData) {
|
|
50
59
|
try {
|
|
60
|
+
if (!shouldProcessEventForTesthub('HookRunStarted')) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
51
63
|
this.hookStartedStats.triggered();
|
|
52
64
|
this.sendBatchEvents(this.getEventForHook('HookRunStarted', hookData));
|
|
53
65
|
}
|
|
@@ -58,6 +70,9 @@ class Listener {
|
|
|
58
70
|
}
|
|
59
71
|
hookFinished(hookData) {
|
|
60
72
|
try {
|
|
73
|
+
if (!shouldProcessEventForTesthub('HookRunFinished')) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
61
76
|
this.hookFinishedStats.triggered(hookData.result);
|
|
62
77
|
this.sendBatchEvents(this.getEventForHook('HookRunFinished', hookData));
|
|
63
78
|
}
|
|
@@ -68,7 +83,14 @@ class Listener {
|
|
|
68
83
|
}
|
|
69
84
|
testStarted(testData) {
|
|
70
85
|
try {
|
|
86
|
+
if (!shouldProcessEventForTesthub('TestRunStarted')) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
process.env[TEST_ANALYTICS_ID] = testData.uuid;
|
|
71
90
|
this.testStartedStats.triggered();
|
|
91
|
+
testData.product_map = {
|
|
92
|
+
accessibility: Listener._testRunAccessibilityVar
|
|
93
|
+
};
|
|
72
94
|
this.sendBatchEvents(this.getEventForHook('TestRunStarted', testData));
|
|
73
95
|
}
|
|
74
96
|
catch (e) {
|
|
@@ -78,6 +100,12 @@ class Listener {
|
|
|
78
100
|
}
|
|
79
101
|
testFinished(testData) {
|
|
80
102
|
try {
|
|
103
|
+
if (!shouldProcessEventForTesthub('TestRunFinished')) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
testData.product_map = {
|
|
107
|
+
accessibility: Listener._testRunAccessibilityVar
|
|
108
|
+
};
|
|
81
109
|
this.testFinishedStats.triggered(testData.result);
|
|
82
110
|
this.sendBatchEvents(this.getEventForHook('TestRunFinished', testData));
|
|
83
111
|
}
|
|
@@ -88,6 +116,9 @@ class Listener {
|
|
|
88
116
|
}
|
|
89
117
|
logCreated(logs) {
|
|
90
118
|
try {
|
|
119
|
+
if (!shouldProcessEventForTesthub('LogCreated')) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
91
122
|
this.markLogs('triggered', logs);
|
|
92
123
|
this.sendBatchEvents({
|
|
93
124
|
event_type: 'LogCreated', logs: logs
|
|
@@ -103,6 +134,9 @@ class Listener {
|
|
|
103
134
|
return;
|
|
104
135
|
}
|
|
105
136
|
try {
|
|
137
|
+
if (!shouldProcessEventForTesthub('LogCreated')) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
106
140
|
this.markLogs('triggered', jsonArray);
|
|
107
141
|
this.pendingUploads += 1;
|
|
108
142
|
await sendScreenshots([{
|
|
@@ -120,6 +154,9 @@ class Listener {
|
|
|
120
154
|
}
|
|
121
155
|
cbtSessionCreated(data) {
|
|
122
156
|
try {
|
|
157
|
+
if (!shouldProcessEventForTesthub('CBTSessionCreated')) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
123
160
|
this.cbtSessionStats.triggered();
|
|
124
161
|
this.sendBatchEvents({ event_type: 'CBTSessionCreated', test_run: data });
|
|
125
162
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DATA_ENDPOINT, DATA_EVENT_ENDPOINT, DATA_SCREENSHOT_ENDPOINT, TESTOPS_BUILD_COMPLETED_ENV,
|
|
1
|
+
import { DATA_ENDPOINT, DATA_EVENT_ENDPOINT, DATA_SCREENSHOT_ENDPOINT, TESTOPS_BUILD_COMPLETED_ENV, BROWSERSTACK_TESTHUB_JWT } from '../constants.js';
|
|
2
2
|
import { BStackLogger } from '../bstackLogger.js';
|
|
3
3
|
import { DEFAULT_REQUEST_CONFIG, getLogTag } from '../util.js';
|
|
4
4
|
import got from 'got';
|
|
@@ -13,7 +13,7 @@ export async function uploadEventData(eventData, eventUrl = DATA_EVENT_ENDPOINT)
|
|
|
13
13
|
if (!process.env[TESTOPS_BUILD_COMPLETED_ENV]) {
|
|
14
14
|
throw new Error('Build start not completed yet');
|
|
15
15
|
}
|
|
16
|
-
if (!process.env[
|
|
16
|
+
if (!process.env[BROWSERSTACK_TESTHUB_JWT]) {
|
|
17
17
|
BStackLogger.debug(`[${logTag}] Missing Authentication Token/ Build ID`);
|
|
18
18
|
throw new Error('Token/buildID is undefined, build creation might have failed');
|
|
19
19
|
}
|
|
@@ -23,7 +23,7 @@ export async function uploadEventData(eventData, eventUrl = DATA_EVENT_ENDPOINT)
|
|
|
23
23
|
agent: DEFAULT_REQUEST_CONFIG.agent,
|
|
24
24
|
headers: {
|
|
25
25
|
...DEFAULT_REQUEST_CONFIG.headers,
|
|
26
|
-
'Authorization': `Bearer ${process.env[
|
|
26
|
+
'Authorization': `Bearer ${process.env[BROWSERSTACK_TESTHUB_JWT]}`
|
|
27
27
|
},
|
|
28
28
|
json: eventData
|
|
29
29
|
}).json();
|
package/build/types.d.ts
CHANGED
|
@@ -185,6 +185,7 @@ export interface TestMeta {
|
|
|
185
185
|
}
|
|
186
186
|
export interface CurrentRunInfo {
|
|
187
187
|
uuid?: string;
|
|
188
|
+
name?: string;
|
|
188
189
|
test?: Frameworks.Test;
|
|
189
190
|
finished?: boolean;
|
|
190
191
|
}
|
|
@@ -219,6 +220,7 @@ export interface TestData {
|
|
|
219
220
|
meta?: TestMeta;
|
|
220
221
|
tags?: string[];
|
|
221
222
|
test_run_id?: string;
|
|
223
|
+
product_map?: {};
|
|
222
224
|
}
|
|
223
225
|
export interface UserConfig {
|
|
224
226
|
buildName?: string;
|
|
@@ -254,7 +256,38 @@ export interface ScreenshotLog extends LogData {
|
|
|
254
256
|
export interface LaunchResponse {
|
|
255
257
|
jwt: string;
|
|
256
258
|
build_hashed_id: string;
|
|
257
|
-
|
|
259
|
+
observability?: {
|
|
260
|
+
success: boolean;
|
|
261
|
+
options: {
|
|
262
|
+
allow_screenshots?: boolean;
|
|
263
|
+
};
|
|
264
|
+
errors?: {
|
|
265
|
+
key: string;
|
|
266
|
+
message: string;
|
|
267
|
+
}[];
|
|
268
|
+
};
|
|
269
|
+
accessibility?: {
|
|
270
|
+
success: boolean;
|
|
271
|
+
errors?: {
|
|
272
|
+
key: string;
|
|
273
|
+
message: string;
|
|
274
|
+
}[];
|
|
275
|
+
options: {
|
|
276
|
+
status: string;
|
|
277
|
+
commandsToWrap: {
|
|
278
|
+
scriptsToRun: string[];
|
|
279
|
+
commands: any[];
|
|
280
|
+
};
|
|
281
|
+
scripts: {
|
|
282
|
+
name: string;
|
|
283
|
+
command: string;
|
|
284
|
+
}[];
|
|
285
|
+
capabilities: {
|
|
286
|
+
name: string;
|
|
287
|
+
value: any;
|
|
288
|
+
}[];
|
|
289
|
+
};
|
|
290
|
+
};
|
|
258
291
|
}
|
|
259
292
|
export interface UserConfigforReporting {
|
|
260
293
|
framework?: string;
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/util.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { Capabilities, Frameworks, Options } from '@wdio/types';
|
|
|
4
4
|
import type { BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
|
|
5
5
|
import type { Method } from 'got';
|
|
6
6
|
import type { ColorName } from 'chalk';
|
|
7
|
-
import type { UploadType, BrowserstackConfig } from './types.js';
|
|
7
|
+
import type { UploadType, LaunchResponse, BrowserstackConfig } from './types.js';
|
|
8
8
|
import type { ITestCaseHookParameter } from './cucumber-types.js';
|
|
9
9
|
export type GitMetaData = {
|
|
10
10
|
name: string;
|
|
@@ -63,6 +63,13 @@ type ClassType = {
|
|
|
63
63
|
new (...args: any[]): any;
|
|
64
64
|
};
|
|
65
65
|
export declare function o11yClassErrorHandler<T extends ClassType>(errorClass: T): T;
|
|
66
|
+
export declare const processTestObservabilityResponse: (response: LaunchResponse) => void;
|
|
67
|
+
interface DataElement {
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
}
|
|
70
|
+
export declare const jsonifyAccessibilityArray: (dataArray: DataElement[], keyName: keyof DataElement, valueName: keyof DataElement) => Record<string, any>;
|
|
71
|
+
export declare const processAccessibilityResponse: (response: LaunchResponse) => void;
|
|
72
|
+
export declare const processLaunchBuildResponse: (response: LaunchResponse, options: BrowserstackConfig & Options.Testrunner) => void;
|
|
66
73
|
export declare const launchTestSession: (...args: any) => any;
|
|
67
74
|
export declare const validateCapsWithA11y: (deviceName?: any, platformMeta?: {
|
|
68
75
|
[key: string]: any;
|
|
@@ -73,7 +80,6 @@ export declare const shouldScanTestForAccessibility: (suiteTitle: string | undef
|
|
|
73
80
|
[key: string]: any;
|
|
74
81
|
}, isCucumber?: boolean) => boolean;
|
|
75
82
|
export declare const isAccessibilityAutomationSession: (accessibilityFlag?: boolean | string) => boolean | "" | undefined;
|
|
76
|
-
export declare const createAccessibilityTestRun: (...args: any) => any;
|
|
77
83
|
export declare const performA11yScan: (browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string, commandName?: string) => Promise<{
|
|
78
84
|
[key: string]: any;
|
|
79
85
|
} | undefined>;
|
|
@@ -83,7 +89,6 @@ export declare const getA11yResults: (browser: WebdriverIO.Browser, isBrowserSta
|
|
|
83
89
|
export declare const getA11yResultsSummary: (browser: WebdriverIO.Browser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string) => Promise<{
|
|
84
90
|
[key: string]: any;
|
|
85
91
|
}>;
|
|
86
|
-
export declare const stopAccessibilityTestRun: (...args: any) => any;
|
|
87
92
|
export declare const stopBuildUpstream: (...args: any) => any;
|
|
88
93
|
export declare function getCiInfo(): {
|
|
89
94
|
name: string;
|
package/build/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,MAAM,YAAY,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,MAAM,YAAY,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC,OAAO,KAAK,EAAc,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAc,MAAM,YAAY,CAAA;AACxG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AA2BjE,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;CASlC,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAO5C,CAAA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,mBAAmB,UAa1E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,4BAS/J;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,YAAY,WAWtE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAUpF;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,aACf,GAAG,SAehC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,aACX,GAAG,SAYhC;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,gBAiCjI;AAOD,KAAK,SAAS,GAAG;IAAE,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;CAAE,CAAC;AAC/C,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CA8B3E;AAED,eAAO,MAAM,gCAAgC,aAAc,cAAc,SAaxE,CAAA;AAED,UAAU,WAAW;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAED,eAAO,MAAM,yBAAyB,cACvB,WAAW,EAAE,WACf,MAAM,WAAW,aACf,MAAM,WAAW,KAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAMpB,CAAA;AAED,eAAO,MAAO,4BAA4B,aAAc,cAAc,SA6BrE,CAAA;AAED,eAAO,MAAM,0BAA0B,aAAc,cAAc,WAAW,kBAAkB,GAAG,OAAO,CAAC,UAAU,SAOpH,CAAA;AAED,eAAO,MAAM,iBAAiB,YAhLA,GAAG,QA2P/B,CAAA;AAEF,eAAO,MAAM,oBAAoB,gBAAiB,GAAG,iBAAiB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,kBAAkB,GAAG,YA2BjH,CAAA;AAED,eAAO,MAAM,8BAA8B,eAAgB,MAAM,GAAG,SAAS,aAAa,MAAM,yBAAyB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,UAAU;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,eAAe,OAAO,YAuBtM,CAAA;AAED,eAAO,MAAM,gCAAgC,uBAAwB,OAAO,GAAG,MAAM,6BAQpF,CAAA;AAED,eAAO,MAAM,eAAe,YAAmB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,0BAA0B,OAAO,oBAAoB,OAAO,GAAG,MAAM,gBAAgB,MAAM,KAAI,OAAO,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,GAAG,SAAS,CAmB5O,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB,WAAW,CAAC,OAAO,0BAA0B,OAAO,oBAAoB,OAAO,GAAG,MAAM,KAAI,OAAO,CAAC,KAAK,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,CAAC,CAoB/K,CAAA;AAED,eAAO,MAAM,qBAAqB,YAAmB,WAAW,CAAC,OAAO,0BAA0B,OAAO,oBAAoB,OAAO,GAAG,MAAM,KAAI,OAAO,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,CAmB/K,CAAA;AAED,eAAO,MAAM,iBAAiB,YA7XA,GAAG,QAwb/B,CAAA;AAEF,wBAAgB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4NxB;AAED,wBAAsB,cAAc,qCA4BnC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAWrF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAEpF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAKtG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,uBAEnG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,wBAsChE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWnD;AAGD,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,YAK9C;AAED,wBAAgB,WAAW,CAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWrD;AAED,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,4BAE9E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,WAKzD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,wBAAwB,GAAG,OAAO,CAiC1I;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU;;;cAsBhG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,wBAAwB,GAAG,OAAO,CAKtJ;AAED,wBAAsB,kBAAkB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,iBA6B3F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,sBAQhH;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,sBAQ/G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,MAAM,sBAQnH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,UAQ/G;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAW7H;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,sBAK7D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,sBAK5D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,WAMrC;AAED,wBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,WAEjC;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,WAElC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,WAUrE;AAED,eAAO,MAAM,gBAAgB,YAh/BC,GAAG,QAigC/B,CAAA;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAC,KAAK;;;;;;EAUnD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAejF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAUxE;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAW7E;AAED,eAAO,MAAM,KAAK,mCAAkE,CAAA;AAEpF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,gBAyB1G;AAED,eAAO,MAAM,QAAQ,WAAY,GAAG,YAEnC,CAAA;AAED,eAAO,MAAM,eAAe,YAAa,GAAG,WAAW,GAAG,YAezD,CAAA;AAED,eAAO,MAAM,kBAAkB,YA3mCD,GAAG,QA0nC/B,CAAA;AAEF,eAAO,MAAM,aAAa,eAAgB,OAAO,YAMhD,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,OAAO,uBAS1C,CAAA;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,OAAO,CAEpG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,CAAC,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,EAAE,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAIlJ;AAED,eAAO,MAAM,cAAc,QAAS,OAAO,CAAC,UAAU,KAAG,OAMxD,CAAA;AAED,eAAO,MAAM,qBAAqB,SAAU;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAA;CAAE,KAAG,OAOnF,CAAA"}
|
package/build/util.js
CHANGED
|
@@ -12,7 +12,8 @@ import gitconfig from 'gitconfiglocal';
|
|
|
12
12
|
import { FormData } from 'formdata-node';
|
|
13
13
|
import logPatcher from './logPatcher.js';
|
|
14
14
|
import PerformanceTester from './performance-tester.js';
|
|
15
|
-
import {
|
|
15
|
+
import { getProductMap, logBuildError, handleErrorForObservability, handleErrorForAccessibility } from './testHub/utils.js';
|
|
16
|
+
import { BROWSER_DESCRIPTION, DATA_ENDPOINT, UPLOAD_LOGS_ADDRESS, UPLOAD_LOGS_ENDPOINT, consoleHolder, TESTOPS_SCREENSHOT_ENV, BROWSERSTACK_TESTHUB_UUID, PERF_MEASUREMENT_ENV, RERUN_ENV, TESTOPS_BUILD_COMPLETED_ENV, BROWSERSTACK_TESTHUB_JWT, BROWSERSTACK_OBSERVABILITY, BROWSERSTACK_ACCESSIBILITY, MAX_GIT_META_DATA_SIZE_IN_BYTES, GIT_META_DATA_TRUNCATED } from './constants.js';
|
|
16
17
|
import CrashReporter from './crash-reporter.js';
|
|
17
18
|
import { BStackLogger } from './bstackLogger.js';
|
|
18
19
|
import { FileStream } from './fileStream.js';
|
|
@@ -202,7 +203,65 @@ export function o11yClassErrorHandler(errorClass) {
|
|
|
202
203
|
});
|
|
203
204
|
return errorClass;
|
|
204
205
|
}
|
|
205
|
-
export const
|
|
206
|
+
export const processTestObservabilityResponse = (response) => {
|
|
207
|
+
if (!response.observability) {
|
|
208
|
+
handleErrorForObservability(null);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (!response.observability.success) {
|
|
212
|
+
handleErrorForObservability(response.observability);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
process.env[BROWSERSTACK_OBSERVABILITY] = 'true';
|
|
216
|
+
if (response.observability.options.allow_screenshots) {
|
|
217
|
+
process.env[TESTOPS_SCREENSHOT_ENV] = response.observability.options.allow_screenshots.toString();
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
export const jsonifyAccessibilityArray = (dataArray, keyName, valueName) => {
|
|
221
|
+
const result = {};
|
|
222
|
+
dataArray.forEach((element) => {
|
|
223
|
+
result[element[keyName]] = element[valueName];
|
|
224
|
+
});
|
|
225
|
+
return result;
|
|
226
|
+
};
|
|
227
|
+
export const processAccessibilityResponse = (response) => {
|
|
228
|
+
if (!response.accessibility) {
|
|
229
|
+
handleErrorForAccessibility(null);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
if (!response.accessibility.success) {
|
|
233
|
+
handleErrorForAccessibility(response.accessibility);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
if (response.accessibility.options) {
|
|
237
|
+
const { accessibilityToken, scannerVersion } = jsonifyAccessibilityArray(response.accessibility.options.capabilities, 'name', 'value');
|
|
238
|
+
const scriptsJson = {
|
|
239
|
+
'scripts': jsonifyAccessibilityArray(response.accessibility.options.scripts, 'name', 'command'),
|
|
240
|
+
'commands': response.accessibility.options.commandsToWrap.commands
|
|
241
|
+
};
|
|
242
|
+
if (scannerVersion) {
|
|
243
|
+
process.env.BSTACK_A11Y_SCANNER_VERSION = scannerVersion;
|
|
244
|
+
}
|
|
245
|
+
BStackLogger.debug(`Accessibility scannerVersion ${scannerVersion}`);
|
|
246
|
+
if (accessibilityToken) {
|
|
247
|
+
process.env.BSTACK_A11Y_JWT = accessibilityToken;
|
|
248
|
+
process.env[BROWSERSTACK_ACCESSIBILITY] = 'true';
|
|
249
|
+
}
|
|
250
|
+
if (scriptsJson) {
|
|
251
|
+
AccessibilityScripts.update(scriptsJson);
|
|
252
|
+
AccessibilityScripts.store();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
export const processLaunchBuildResponse = (response, options) => {
|
|
257
|
+
if (options.testObservability) {
|
|
258
|
+
processTestObservabilityResponse(response);
|
|
259
|
+
}
|
|
260
|
+
if (options.accessibility) {
|
|
261
|
+
processAccessibilityResponse(response);
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
export const launchTestSession = o11yErrorHandler(async function launchTestSession(options, config, bsConfig, bStackConfig) {
|
|
206
265
|
const launchBuildUsage = UsageStats.getInstance().launchBuildUsage;
|
|
207
266
|
launchBuildUsage.triggered();
|
|
208
267
|
const data = {
|
|
@@ -210,7 +269,7 @@ export const launchTestSession = o11yErrorHandler(async function launchTestSessi
|
|
|
210
269
|
project_name: getObservabilityProject(options, bsConfig.projectName),
|
|
211
270
|
name: getObservabilityBuild(options, bsConfig.buildName),
|
|
212
271
|
build_identifier: bsConfig.buildIdentifier,
|
|
213
|
-
|
|
272
|
+
started_at: (new Date()).toISOString(),
|
|
214
273
|
tags: getObservabilityBuildTags(options, bsConfig.buildTag),
|
|
215
274
|
host_info: {
|
|
216
275
|
hostname: hostname(),
|
|
@@ -223,10 +282,21 @@ export const launchTestSession = o11yErrorHandler(async function launchTestSessi
|
|
|
223
282
|
build_run_identifier: process.env.BROWSERSTACK_BUILD_RUN_IDENTIFIER,
|
|
224
283
|
failed_tests_rerun: process.env[RERUN_ENV] || false,
|
|
225
284
|
version_control: await getGitMetaData(),
|
|
226
|
-
|
|
285
|
+
accessibility: {
|
|
286
|
+
settings: options.accessibilityOptions
|
|
287
|
+
},
|
|
288
|
+
browserstackAutomation: shouldAddServiceVersion(config, options.testObservability),
|
|
289
|
+
framework_details: {
|
|
227
290
|
frameworkName: 'WebdriverIO-' + config.framework,
|
|
228
|
-
|
|
291
|
+
frameworkVersion: bsConfig.bstackServiceVersion,
|
|
292
|
+
sdkVersion: bsConfig.bstackServiceVersion,
|
|
293
|
+
language: 'ECMAScript',
|
|
294
|
+
testFramework: {
|
|
295
|
+
name: 'WebdriverIO',
|
|
296
|
+
version: bsConfig.bstackServiceVersion
|
|
297
|
+
}
|
|
229
298
|
},
|
|
299
|
+
product_map: getProductMap(bStackConfig),
|
|
230
300
|
config: {}
|
|
231
301
|
};
|
|
232
302
|
try {
|
|
@@ -239,7 +309,7 @@ export const launchTestSession = o11yErrorHandler(async function launchTestSessi
|
|
|
239
309
|
}
|
|
240
310
|
data.config = CrashReporter.userConfigForReporting;
|
|
241
311
|
try {
|
|
242
|
-
const url = `${DATA_ENDPOINT}/api/
|
|
312
|
+
const url = `${DATA_ENDPOINT}/api/v2/builds`;
|
|
243
313
|
const response = await got.post(url, {
|
|
244
314
|
...DEFAULT_REQUEST_CONFIG,
|
|
245
315
|
username: getObservabilityUser(options, config),
|
|
@@ -249,42 +319,25 @@ export const launchTestSession = o11yErrorHandler(async function launchTestSessi
|
|
|
249
319
|
BStackLogger.debug(`[Start_Build] Success response: ${JSON.stringify(response)}`);
|
|
250
320
|
process.env[TESTOPS_BUILD_COMPLETED_ENV] = 'true';
|
|
251
321
|
if (response.jwt) {
|
|
252
|
-
|
|
253
|
-
process.env[TESTOPS_JWT_ENV] = response.jwt;
|
|
322
|
+
process.env[BROWSERSTACK_TESTHUB_JWT] = response.jwt;
|
|
254
323
|
}
|
|
255
324
|
if (response.build_hashed_id) {
|
|
256
|
-
process.env[
|
|
325
|
+
process.env[BROWSERSTACK_TESTHUB_UUID] = response.build_hashed_id;
|
|
257
326
|
TestOpsConfig.getInstance().buildHashedId = response.build_hashed_id;
|
|
258
327
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}
|
|
328
|
+
processLaunchBuildResponse(response, options);
|
|
329
|
+
launchBuildUsage.success();
|
|
262
330
|
}
|
|
263
331
|
catch (error) {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
switch (errorType) {
|
|
269
|
-
case 'ERROR_INVALID_CREDENTIALS':
|
|
270
|
-
BStackLogger.error(errorMessage);
|
|
271
|
-
break;
|
|
272
|
-
case 'ERROR_ACCESS_DENIED':
|
|
273
|
-
BStackLogger.info(errorMessage);
|
|
274
|
-
break;
|
|
275
|
-
case 'ERROR_SDK_DEPRECATED':
|
|
276
|
-
BStackLogger.error(errorMessage);
|
|
277
|
-
break;
|
|
278
|
-
default:
|
|
279
|
-
BStackLogger.error(errorMessage);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
BStackLogger.error(`Data upload to BrowserStack Test Observability failed due to ${error}`);
|
|
332
|
+
if (!error.success) {
|
|
333
|
+
launchBuildUsage.failed(error);
|
|
334
|
+
logBuildError(error);
|
|
335
|
+
return;
|
|
284
336
|
}
|
|
285
337
|
}
|
|
286
338
|
});
|
|
287
339
|
export const validateCapsWithA11y = (deviceName, platformMeta, chromeOptions) => {
|
|
340
|
+
/* Check if the current driver platform is eligible for Accessibility scan */
|
|
288
341
|
try {
|
|
289
342
|
if (deviceName) {
|
|
290
343
|
BStackLogger.warn('Accessibility Automation will run only on Desktop browsers.');
|
|
@@ -341,79 +394,6 @@ export const isAccessibilityAutomationSession = (accessibilityFlag) => {
|
|
|
341
394
|
}
|
|
342
395
|
return false;
|
|
343
396
|
};
|
|
344
|
-
export const createAccessibilityTestRun = errorHandler(async function createAccessibilityTestRun(options, config, bsConfig) {
|
|
345
|
-
const userName = getBrowserStackUser(config);
|
|
346
|
-
const accessKey = getBrowserStackKey(config);
|
|
347
|
-
if (isUndefined(userName) || isUndefined(accessKey)) {
|
|
348
|
-
BStackLogger.error('Exception while creating test run for BrowserStack Accessibility Automation: Missing BrowserStack credentials');
|
|
349
|
-
return null;
|
|
350
|
-
}
|
|
351
|
-
const data = {
|
|
352
|
-
'projectName': bsConfig.projectName,
|
|
353
|
-
'buildName': bsConfig.buildName ||
|
|
354
|
-
path.basename(path.resolve(process.cwd())),
|
|
355
|
-
'startTime': (new Date()).toISOString(),
|
|
356
|
-
'description': '',
|
|
357
|
-
'source': {
|
|
358
|
-
frameworkName: 'WebdriverIO-' + config.framework,
|
|
359
|
-
frameworkVersion: bsConfig.bstackServiceVersion,
|
|
360
|
-
sdkVersion: bsConfig.bstackServiceVersion,
|
|
361
|
-
language: 'ECMAScript',
|
|
362
|
-
testFramework: 'webdriverIO',
|
|
363
|
-
testFrameworkVersion: bsConfig.bstackServiceVersion
|
|
364
|
-
},
|
|
365
|
-
'settings': bsConfig.accessibilityOptions || {},
|
|
366
|
-
'versionControl': await getGitMetaData(),
|
|
367
|
-
'ciInfo': getCiInfo(),
|
|
368
|
-
'hostInfo': {
|
|
369
|
-
hostname: hostname(),
|
|
370
|
-
platform: platform(),
|
|
371
|
-
type: type(),
|
|
372
|
-
version: version(),
|
|
373
|
-
arch: arch()
|
|
374
|
-
},
|
|
375
|
-
'browserstackAutomation': true,
|
|
376
|
-
};
|
|
377
|
-
const requestOptions = {
|
|
378
|
-
json: data,
|
|
379
|
-
username: getBrowserStackUser(config),
|
|
380
|
-
password: getBrowserStackKey(config),
|
|
381
|
-
};
|
|
382
|
-
try {
|
|
383
|
-
const response = await nodeRequest('POST', 'v2/test_runs', requestOptions, ACCESSIBILITY_API_URL);
|
|
384
|
-
BStackLogger.debug(`[Create Accessibility Test Run] Success response: ${JSON.stringify(response)}`);
|
|
385
|
-
if (response.data.accessibilityToken) {
|
|
386
|
-
process.env.BSTACK_A11Y_JWT = response.data.accessibilityToken;
|
|
387
|
-
}
|
|
388
|
-
if (response.data.id) {
|
|
389
|
-
process.env.BS_A11Y_TEST_RUN_ID = response.data.id;
|
|
390
|
-
}
|
|
391
|
-
BStackLogger.debug(`BrowserStack Accessibility Automation Test Run ID: ${response.data.id}`);
|
|
392
|
-
if (response.data) {
|
|
393
|
-
AccessibilityScripts.update(response.data);
|
|
394
|
-
AccessibilityScripts.store();
|
|
395
|
-
}
|
|
396
|
-
return response.data.scannerVersion;
|
|
397
|
-
}
|
|
398
|
-
catch (error) {
|
|
399
|
-
if (error.response) {
|
|
400
|
-
BStackLogger.error(`Exception while creating test run for BrowserStack Accessibility Automation: ${error.response.status} ${error.response.statusText} ${JSON.stringify(error.response.data)}`);
|
|
401
|
-
}
|
|
402
|
-
else {
|
|
403
|
-
const errorMessage = error.message;
|
|
404
|
-
if (errorMessage === 'Invalid configuration passed.') {
|
|
405
|
-
BStackLogger.error(`Exception while creating test run for BrowserStack Accessibility Automation: ${errorMessage || error.stack}`);
|
|
406
|
-
for (const errorkey of error.errors) {
|
|
407
|
-
BStackLogger.error(errorkey.message);
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
else {
|
|
411
|
-
BStackLogger.error(`Exception while creating test run for BrowserStack Accessibility Automation: ${errorMessage || error.stack}`);
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
return null;
|
|
415
|
-
}
|
|
416
|
-
});
|
|
417
397
|
export const performA11yScan = async (browser, isBrowserStackSession, isAccessibility, commandName) => {
|
|
418
398
|
if (!isBrowserStackSession) {
|
|
419
399
|
BStackLogger.warn('Not a BrowserStack Automate session, cannot perform Accessibility scan.');
|
|
@@ -472,50 +452,6 @@ export const getA11yResultsSummary = async (browser, isBrowserStackSession, isAc
|
|
|
472
452
|
return {};
|
|
473
453
|
}
|
|
474
454
|
};
|
|
475
|
-
export const stopAccessibilityTestRun = errorHandler(async function stopAccessibilityTestRun() {
|
|
476
|
-
const hasA11yJwtToken = typeof process.env.BSTACK_A11Y_JWT === 'string' && process.env.BSTACK_A11Y_JWT.length > 0 && process.env.BSTACK_A11Y_JWT !== 'null' && process.env.BSTACK_A11Y_JWT !== 'undefined';
|
|
477
|
-
if (!hasA11yJwtToken) {
|
|
478
|
-
return {
|
|
479
|
-
status: 'error',
|
|
480
|
-
message: 'Build creation had failed.'
|
|
481
|
-
};
|
|
482
|
-
}
|
|
483
|
-
const data = {
|
|
484
|
-
'endTime': (new Date()).toISOString(),
|
|
485
|
-
};
|
|
486
|
-
const requestOptions = { ...{
|
|
487
|
-
json: data,
|
|
488
|
-
headers: {
|
|
489
|
-
'Authorization': `Bearer ${process.env.BSTACK_A11Y_JWT}`,
|
|
490
|
-
}
|
|
491
|
-
} };
|
|
492
|
-
try {
|
|
493
|
-
const response = await nodeRequest('PUT', 'test_runs/stop', requestOptions, ACCESSIBILITY_API_URL);
|
|
494
|
-
if (response.data && response.data.error) {
|
|
495
|
-
throw new Error('Invalid request: ' + response.data.error);
|
|
496
|
-
}
|
|
497
|
-
else if (response.error) {
|
|
498
|
-
throw new Error('Invalid request: ' + response.error);
|
|
499
|
-
}
|
|
500
|
-
else {
|
|
501
|
-
BStackLogger.info(`BrowserStack Accessibility Automation Test Run marked as completed at ${new Date().toISOString()}`);
|
|
502
|
-
return { status: 'success', message: '' };
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
catch (error) {
|
|
506
|
-
if (error.response && error.response.status && error.response.statusText && error.response.data) {
|
|
507
|
-
BStackLogger.error(`Exception while marking completion of BrowserStack Accessibility Automation Test Run: ${error.response.status} ${error.response.statusText} ${JSON.stringify(error.response.data)}`);
|
|
508
|
-
}
|
|
509
|
-
else {
|
|
510
|
-
BStackLogger.error(`Exception while marking completion of BrowserStack Accessibility Automation Test Run: ${error.message || util.format(error)}`);
|
|
511
|
-
}
|
|
512
|
-
return {
|
|
513
|
-
status: 'error',
|
|
514
|
-
message: error.message ||
|
|
515
|
-
(error.response ? `${error.response.status}:${error.response.statusText}` : error)
|
|
516
|
-
};
|
|
517
|
-
}
|
|
518
|
-
});
|
|
519
455
|
export const stopBuildUpstream = o11yErrorHandler(async function stopBuildUpstream(killSignal = null) {
|
|
520
456
|
const stopBuildUsage = UsageStats.getInstance().stopBuildUsage;
|
|
521
457
|
stopBuildUsage.triggered();
|
|
@@ -526,7 +462,7 @@ export const stopBuildUpstream = o11yErrorHandler(async function stopBuildUpstre
|
|
|
526
462
|
message: 'Build is not completed yet'
|
|
527
463
|
};
|
|
528
464
|
}
|
|
529
|
-
const jwtToken = process.env[
|
|
465
|
+
const jwtToken = process.env[BROWSERSTACK_TESTHUB_JWT];
|
|
530
466
|
if (!jwtToken) {
|
|
531
467
|
stopBuildUsage.failed('Token/buildID is undefined, build creation might have failed');
|
|
532
468
|
BStackLogger.debug('[STOP_BUILD] Missing Authentication Token/ Build ID');
|
|
@@ -546,7 +482,7 @@ export const stopBuildUpstream = o11yErrorHandler(async function stopBuildUpstre
|
|
|
546
482
|
});
|
|
547
483
|
}
|
|
548
484
|
try {
|
|
549
|
-
const url = `${DATA_ENDPOINT}/api/v1/builds/${process.env[
|
|
485
|
+
const url = `${DATA_ENDPOINT}/api/v1/builds/${process.env[BROWSERSTACK_TESTHUB_UUID]}/stop`;
|
|
550
486
|
const response = await got.put(url, {
|
|
551
487
|
agent: DEFAULT_REQUEST_CONFIG.agent,
|
|
552
488
|
headers: {
|
|
@@ -996,7 +932,7 @@ export async function batchAndPostEvents(eventUrl, kind, data) {
|
|
|
996
932
|
if (!process.env[TESTOPS_BUILD_COMPLETED_ENV]) {
|
|
997
933
|
throw new Error('Build not completed yet');
|
|
998
934
|
}
|
|
999
|
-
const jwtToken = process.env[
|
|
935
|
+
const jwtToken = process.env[BROWSERSTACK_TESTHUB_JWT];
|
|
1000
936
|
if (!jwtToken) {
|
|
1001
937
|
throw new Error('Missing authentication Token');
|
|
1002
938
|
}
|
|
@@ -1082,7 +1018,11 @@ export function getBrowserStackKey(config) {
|
|
|
1082
1018
|
return config.key;
|
|
1083
1019
|
}
|
|
1084
1020
|
export function isUndefined(value) {
|
|
1085
|
-
|
|
1021
|
+
let res = (value === undefined || value === null);
|
|
1022
|
+
if (typeof value === 'string') {
|
|
1023
|
+
res = res || value === '';
|
|
1024
|
+
}
|
|
1025
|
+
return res;
|
|
1086
1026
|
}
|
|
1087
1027
|
export function isTrue(value) {
|
|
1088
1028
|
return (value + '').toLowerCase() === 'true';
|