UNPKG

2.06 kBJavaScriptView Raw
1"use strict";
2
3const utils = require('../utils');
4const config = require('../commons/config');
5const testimCustomToken = require('../commons/testimCustomToken');
6const BaseRunner = require('./BaseRunner');
7const TestRunStatus = require('../testRunStatus');
8const reporter = require("../reports/reporter");
9const guid = require('../utils').guid;
10const Logger = require('../commons/logger');
11const logger = Logger.getLogger('remote-test-runner');
12
13class SchedulerRemoteRunner extends BaseRunner {
14 runExecution(testList, testStatus, executionId, options, branchToUse) {
15 const sessionType = utils.getSessionType(options);
16 const projectId = options.project;
17 // report exec start analytics
18 const authData = testimCustomToken.getTokenV3UserData();
19 this.analyticsExecsStart({authData, executionId, projectId, sessionType});
20 const workerCount = config.TESTIM_CONCURRENT_WORKER_COUNT || options.parallel;
21
22 return this.strategy.runTests(testList, testStatus, executionId, options, branchToUse, authData, workerCount);
23 }
24
25 runTest(options, branchToUse) {
26 const executionId = options.executionId || guid();
27 const test = options.testObject;
28 Logger.setExecutionId(executionId);
29
30 logger.info("start to run test", {
31 executionId: executionId,
32 options: Object.assign({}, options, {token: undefined}),
33 branchToUse: branchToUse,
34 test: test
35 });
36
37 const testArray = [test];
38 const testPlanName = options.overrideExecutionName || "remote run";
39 const testStatus = new TestRunStatus(testArray, options, branchToUse);
40 reporter.onTestPlanStarted([], testArray, [], testPlanName, executionId);
41 return this.runExecution(testArray, testStatus, executionId, options, branchToUse)
42 .tap(results => reporter.onTestPlanFinished(results, testPlanName, this.startTime, executionId))
43 .then(combinedTestResults => combinedTestResults);
44 }
45}
46
47module.exports = SchedulerRemoteRunner;