@datadog/datadog-ci-plugin-synthetics 3.21.0 → 3.21.2
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/api.d.ts +52 -0
- package/dist/api.js +333 -0
- package/dist/api.js.map +1 -0
- package/dist/batch.d.ts +9 -0
- package/dist/batch.js +325 -0
- package/dist/batch.js.map +1 -0
- package/dist/build-and-test.d.ts +25 -0
- package/dist/build-and-test.js +196 -0
- package/dist/build-and-test.js.map +1 -0
- package/dist/commands/deploy-tests.d.ts +19 -0
- package/dist/commands/deploy-tests.js +125 -0
- package/dist/commands/deploy-tests.js.map +1 -0
- package/dist/commands/import-tests.d.ts +19 -0
- package/dist/commands/import-tests.js +118 -0
- package/dist/commands/import-tests.js.map +1 -0
- package/dist/commands/run-tests.d.ts +19 -0
- package/dist/commands/run-tests.js +308 -0
- package/dist/commands/run-tests.js.map +1 -0
- package/dist/commands/upload-application.d.ts +18 -0
- package/dist/commands/upload-application.js +138 -0
- package/dist/commands/upload-application.js.map +1 -0
- package/dist/deploy-tests-lib.d.ts +2 -0
- package/dist/deploy-tests-lib.js +96 -0
- package/dist/deploy-tests-lib.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.js +30 -0
- package/dist/errors.js.map +1 -0
- package/dist/import-tests-lib.d.ts +2 -0
- package/dist/import-tests-lib.js +71 -0
- package/dist/import-tests-lib.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces.d.ts +739 -0
- package/dist/interfaces.js +27 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/local-test-definition.d.ts +2 -0
- package/dist/local-test-definition.js +16 -0
- package/dist/local-test-definition.js.map +1 -0
- package/dist/mobile.d.ts +28 -0
- package/dist/mobile.js +275 -0
- package/dist/mobile.js.map +1 -0
- package/dist/multilocator.d.ts +2 -0
- package/dist/multilocator.js +88 -0
- package/dist/multilocator.js.map +1 -0
- package/dist/reporters/constants.d.ts +6 -0
- package/dist/reporters/constants.js +14 -0
- package/dist/reporters/constants.js.map +1 -0
- package/dist/reporters/default.d.ts +31 -0
- package/dist/reporters/default.js +416 -0
- package/dist/reporters/default.js.map +1 -0
- package/dist/reporters/junit.d.ts +100 -0
- package/dist/reporters/junit.js +425 -0
- package/dist/reporters/junit.js.map +1 -0
- package/dist/reporters/mobile/app-upload.d.ts +15 -0
- package/dist/reporters/mobile/app-upload.js +54 -0
- package/dist/reporters/mobile/app-upload.js.map +1 -0
- package/dist/run-tests-lib.d.ts +21 -0
- package/dist/run-tests-lib.js +247 -0
- package/dist/run-tests-lib.js.map +1 -0
- package/dist/test.d.ts +30 -0
- package/dist/test.js +204 -0
- package/dist/test.js.map +1 -0
- package/dist/tunnel/crypto.d.ts +6 -0
- package/dist/tunnel/crypto.js +48 -0
- package/dist/tunnel/crypto.js.map +1 -0
- package/dist/tunnel/index.d.ts +1 -0
- package/dist/tunnel/index.js +6 -0
- package/dist/tunnel/index.js.map +1 -0
- package/dist/tunnel/tunnel.d.ts +49 -0
- package/dist/tunnel/tunnel.js +329 -0
- package/dist/tunnel/tunnel.js.map +1 -0
- package/dist/tunnel/websocket.d.ts +39 -0
- package/dist/tunnel/websocket.js +154 -0
- package/dist/tunnel/websocket.js.map +1 -0
- package/dist/utils/internal.d.ts +56 -0
- package/dist/utils/internal.js +313 -0
- package/dist/utils/internal.js.map +1 -0
- package/dist/utils/public.d.ts +76 -0
- package/dist/utils/public.js +509 -0
- package/dist/utils/public.js.map +1 -0
- package/package.json +9 -3
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PluginCommand = void 0;
|
|
16
|
+
/* eslint-disable @typescript-eslint/member-ordering */
|
|
17
|
+
const deploy_tests_command_1 = require("@datadog/datadog-ci-base/commands/synthetics/deploy-tests-command");
|
|
18
|
+
const constants_1 = require("@datadog/datadog-ci-base/constants");
|
|
19
|
+
const env_1 = require("@datadog/datadog-ci-base/helpers/env");
|
|
20
|
+
const fips_1 = require("@datadog/datadog-ci-base/helpers/fips");
|
|
21
|
+
const logger_1 = require("@datadog/datadog-ci-base/helpers/logger");
|
|
22
|
+
const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
|
|
23
|
+
const deep_extend_1 = __importDefault(require("deep-extend"));
|
|
24
|
+
const deploy_tests_lib_1 = require("../deploy-tests-lib");
|
|
25
|
+
const errors_1 = require("../errors");
|
|
26
|
+
const default_1 = require("../reporters/default");
|
|
27
|
+
const internal_1 = require("../utils/internal");
|
|
28
|
+
const public_1 = require("../utils/public");
|
|
29
|
+
class PluginCommand extends deploy_tests_command_1.DeployTestsCommand {
|
|
30
|
+
constructor() {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
super(...arguments);
|
|
33
|
+
this.config = PluginCommand.getDefaultConfig();
|
|
34
|
+
this.fipsConfig = {
|
|
35
|
+
fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
|
|
36
|
+
fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
|
|
37
|
+
};
|
|
38
|
+
this.logger = new logger_1.Logger((s) => {
|
|
39
|
+
this.context.stdout.write(s);
|
|
40
|
+
}, logger_1.LogLevel.INFO);
|
|
41
|
+
}
|
|
42
|
+
static getDefaultConfig() {
|
|
43
|
+
return Object.assign(Object.assign({}, (0, internal_1.getDefaultConfig)()), { files: [], publicIds: [], subdomain: 'app', excludeFields: ['config'] });
|
|
44
|
+
}
|
|
45
|
+
setup() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
(0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
|
|
48
|
+
// Bootstrap reporter
|
|
49
|
+
this.reporter = (0, public_1.getReporter)([new default_1.DefaultReporter(this)]);
|
|
50
|
+
// Load config
|
|
51
|
+
yield this.resolveConfig();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
resolveConfig() {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
// Defaults < file < ENV < CLI
|
|
58
|
+
// Override with config file variables (e.g. datadog-ci.json)
|
|
59
|
+
try {
|
|
60
|
+
// Override Config Path with ENV variables
|
|
61
|
+
const overrideConfigPath = (_b = (_a = this.configPath) !== null && _a !== void 0 ? _a : process.env.DATADOG_SYNTHETICS_CONFIG_PATH) !== null && _b !== void 0 ? _b : 'datadog-ci.json';
|
|
62
|
+
this.config = yield (0, utils_1.resolveConfigFromFile)(this.config, {
|
|
63
|
+
configPath: overrideConfigPath,
|
|
64
|
+
defaultConfigPaths: [this.config.configPath],
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (this.configPath) {
|
|
69
|
+
throw new errors_1.CiError('INVALID_CONFIG', error.message);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Override with ENV variables
|
|
73
|
+
this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromEnv()));
|
|
74
|
+
// Override with CLI parameters
|
|
75
|
+
this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromCli()));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
execute() {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
// populate the config
|
|
81
|
+
yield this.setup();
|
|
82
|
+
try {
|
|
83
|
+
yield (0, deploy_tests_lib_1.deployTests)(this.reporter, this.config);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
this.logger.error(`Error: ${error.message}`);
|
|
87
|
+
return 1;
|
|
88
|
+
}
|
|
89
|
+
return 0;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
resolveConfigFromEnv() {
|
|
93
|
+
var _a, _b, _c;
|
|
94
|
+
return {
|
|
95
|
+
// ...super.resolveConfigFromEnv(),
|
|
96
|
+
// BASE COMMAND START
|
|
97
|
+
apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
|
|
98
|
+
appKey: process.env.DATADOG_APP_KEY || process.env.DD_APP_KEY,
|
|
99
|
+
configPath: process.env.DATADOG_SYNTHETICS_CONFIG_PATH,
|
|
100
|
+
datadogSite: process.env.DATADOG_SITE || process.env.DD_SITE,
|
|
101
|
+
// BASE COMMAND END
|
|
102
|
+
files: (_a = process.env.DATADOG_SYNTHETICS_FILES) === null || _a === void 0 ? void 0 : _a.split(';'),
|
|
103
|
+
publicIds: (_b = process.env.DATADOG_SYNTHETICS_PUBLIC_IDS) === null || _b === void 0 ? void 0 : _b.split(';'),
|
|
104
|
+
subdomain: process.env.DATADOG_SUBDOMAIN,
|
|
105
|
+
excludeFields: (_c = process.env.DATADOG_SYNTHETICS_EXCLUDE_FIELDS) === null || _c === void 0 ? void 0 : _c.split(';'),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
resolveConfigFromCli() {
|
|
109
|
+
return {
|
|
110
|
+
// ...super.resolveConfigFromCli(),
|
|
111
|
+
// BASE COMMAND START
|
|
112
|
+
apiKey: this.apiKey,
|
|
113
|
+
appKey: this.appKey,
|
|
114
|
+
configPath: this.configPath,
|
|
115
|
+
datadogSite: this.datadogSite,
|
|
116
|
+
// BASE COMMAND END
|
|
117
|
+
files: this.files,
|
|
118
|
+
publicIds: this.publicIds,
|
|
119
|
+
subdomain: this.subdomain,
|
|
120
|
+
excludeFields: this.excludeFields,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.PluginCommand = PluginCommand;
|
|
125
|
+
//# sourceMappingURL=deploy-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-tests.js","sourceRoot":"","sources":["../../src/commands/deploy-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ImportTestsCommand } from '@datadog/datadog-ci-base/commands/synthetics/import-tests-command';
|
|
2
|
+
import { Logger } from '@datadog/datadog-ci-base/helpers/logger';
|
|
3
|
+
import { ImportTestsCommandConfig, MainReporter } from '../interfaces';
|
|
4
|
+
import { RecursivePartial } from '../utils/internal';
|
|
5
|
+
export declare class PluginCommand extends ImportTestsCommand {
|
|
6
|
+
protected reporter: MainReporter;
|
|
7
|
+
protected config: ImportTestsCommandConfig;
|
|
8
|
+
protected fipsConfig: {
|
|
9
|
+
fips: boolean;
|
|
10
|
+
fipsIgnoreError: boolean;
|
|
11
|
+
};
|
|
12
|
+
protected logger: Logger;
|
|
13
|
+
static getDefaultConfig(): ImportTestsCommandConfig;
|
|
14
|
+
protected setup(): Promise<void>;
|
|
15
|
+
protected resolveConfig(): Promise<void>;
|
|
16
|
+
execute(): Promise<1 | 0>;
|
|
17
|
+
protected resolveConfigFromEnv(): RecursivePartial<ImportTestsCommandConfig>;
|
|
18
|
+
protected resolveConfigFromCli(): RecursivePartial<ImportTestsCommandConfig>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PluginCommand = void 0;
|
|
16
|
+
/* eslint-disable @typescript-eslint/member-ordering */
|
|
17
|
+
const import_tests_command_1 = require("@datadog/datadog-ci-base/commands/synthetics/import-tests-command");
|
|
18
|
+
const constants_1 = require("@datadog/datadog-ci-base/constants");
|
|
19
|
+
const env_1 = require("@datadog/datadog-ci-base/helpers/env");
|
|
20
|
+
const fips_1 = require("@datadog/datadog-ci-base/helpers/fips");
|
|
21
|
+
const logger_1 = require("@datadog/datadog-ci-base/helpers/logger");
|
|
22
|
+
const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
|
|
23
|
+
const deep_extend_1 = __importDefault(require("deep-extend"));
|
|
24
|
+
const errors_1 = require("../errors");
|
|
25
|
+
const import_tests_lib_1 = require("../import-tests-lib");
|
|
26
|
+
const internal_1 = require("../utils/internal");
|
|
27
|
+
class PluginCommand extends import_tests_command_1.ImportTestsCommand {
|
|
28
|
+
constructor() {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.config = PluginCommand.getDefaultConfig();
|
|
32
|
+
this.fipsConfig = {
|
|
33
|
+
fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
|
|
34
|
+
fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
|
|
35
|
+
};
|
|
36
|
+
this.logger = new logger_1.Logger((s) => {
|
|
37
|
+
this.context.stdout.write(s);
|
|
38
|
+
}, logger_1.LogLevel.INFO);
|
|
39
|
+
}
|
|
40
|
+
static getDefaultConfig() {
|
|
41
|
+
return Object.assign(Object.assign({}, (0, internal_1.getDefaultConfig)()), { files: [], publicIds: [], testSearchQuery: '' });
|
|
42
|
+
}
|
|
43
|
+
setup() {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
(0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
|
|
46
|
+
// Load config
|
|
47
|
+
yield this.resolveConfig();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
resolveConfig() {
|
|
51
|
+
var _a, _b;
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
// Defaults < file < ENV < CLI
|
|
54
|
+
// Override with config file variables (e.g. datadog-ci.json)
|
|
55
|
+
try {
|
|
56
|
+
// Override Config Path with ENV variables
|
|
57
|
+
const overrideConfigPath = (_b = (_a = this.configPath) !== null && _a !== void 0 ? _a : process.env.DATADOG_SYNTHETICS_CONFIG_PATH) !== null && _b !== void 0 ? _b : 'datadog-ci.json';
|
|
58
|
+
this.config = yield (0, utils_1.resolveConfigFromFile)(this.config, {
|
|
59
|
+
configPath: overrideConfigPath,
|
|
60
|
+
defaultConfigPaths: [this.config.configPath],
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (this.configPath) {
|
|
65
|
+
throw new errors_1.CiError('INVALID_CONFIG', error.message);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Override with ENV variables
|
|
69
|
+
this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromEnv()));
|
|
70
|
+
// Override with CLI parameters
|
|
71
|
+
this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromCli()));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
execute() {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
yield this.setup();
|
|
77
|
+
try {
|
|
78
|
+
yield (0, import_tests_lib_1.importTests)(this.reporter, this.config);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
this.logger.error(`Error: ${error.message}`);
|
|
82
|
+
return 1;
|
|
83
|
+
}
|
|
84
|
+
return 0;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
resolveConfigFromEnv() {
|
|
88
|
+
var _a, _b;
|
|
89
|
+
return {
|
|
90
|
+
// ...super.resolveConfigFromEnv(),
|
|
91
|
+
// BASE COMMAND START
|
|
92
|
+
apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
|
|
93
|
+
appKey: process.env.DATADOG_APP_KEY || process.env.DD_APP_KEY,
|
|
94
|
+
configPath: process.env.DATADOG_SYNTHETICS_CONFIG_PATH,
|
|
95
|
+
datadogSite: process.env.DATADOG_SITE || process.env.DD_SITE,
|
|
96
|
+
// BASE COMMAND END
|
|
97
|
+
files: (_a = process.env.DATADOG_SYNTHETICS_FILES) === null || _a === void 0 ? void 0 : _a.split(';'),
|
|
98
|
+
publicIds: (_b = process.env.DATADOG_SYNTHETICS_PUBLIC_IDS) === null || _b === void 0 ? void 0 : _b.split(';'),
|
|
99
|
+
testSearchQuery: process.env.DATADOG_SYNTHETICS_TEST_SEARCH_QUERY,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
resolveConfigFromCli() {
|
|
103
|
+
return {
|
|
104
|
+
// ...super.resolveConfigFromCli(),
|
|
105
|
+
// BASE COMMAND START
|
|
106
|
+
apiKey: this.apiKey,
|
|
107
|
+
appKey: this.appKey,
|
|
108
|
+
configPath: this.configPath,
|
|
109
|
+
datadogSite: this.datadogSite,
|
|
110
|
+
// BASE COMMAND END
|
|
111
|
+
files: this.files,
|
|
112
|
+
publicIds: this.publicIds,
|
|
113
|
+
testSearchQuery: this.testSearchQuery,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.PluginCommand = PluginCommand;
|
|
118
|
+
//# sourceMappingURL=import-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-tests.js","sourceRoot":"","sources":["../../src/commands/import-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RunTestsCommand } from '@datadog/datadog-ci-base/commands/synthetics/run-tests-command';
|
|
2
|
+
import { MainReporter, Reporter, RunTestsCommandConfig } from '../interfaces';
|
|
3
|
+
import { RecursivePartial } from '../utils/internal';
|
|
4
|
+
export declare class PluginCommand extends RunTestsCommand {
|
|
5
|
+
protected reporter: MainReporter;
|
|
6
|
+
protected config: RunTestsCommandConfig;
|
|
7
|
+
protected fipsConfig: {
|
|
8
|
+
fips: boolean;
|
|
9
|
+
fipsIgnoreError: boolean;
|
|
10
|
+
};
|
|
11
|
+
protected setup(): Promise<void>;
|
|
12
|
+
protected resolveConfig(): Promise<void>;
|
|
13
|
+
execute(): Promise<1 | 0>;
|
|
14
|
+
protected resolveConfigFromEnv(): RecursivePartial<RunTestsCommandConfig>;
|
|
15
|
+
protected resolveConfigFromCli(): RecursivePartial<RunTestsCommandConfig>;
|
|
16
|
+
protected normalizeConfig(): void;
|
|
17
|
+
protected validateConfig(): void;
|
|
18
|
+
protected getReporters(): Reporter[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PluginCommand = void 0;
|
|
16
|
+
/* eslint-disable @typescript-eslint/member-ordering */
|
|
17
|
+
const run_tests_command_1 = require("@datadog/datadog-ci-base/commands/synthetics/run-tests-command");
|
|
18
|
+
const constants_1 = require("@datadog/datadog-ci-base/constants");
|
|
19
|
+
const env_1 = require("@datadog/datadog-ci-base/helpers/env");
|
|
20
|
+
const fips_1 = require("@datadog/datadog-ci-base/helpers/fips");
|
|
21
|
+
const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
|
|
22
|
+
const validation_1 = require("@datadog/datadog-ci-base/helpers/validation");
|
|
23
|
+
const deep_extend_1 = __importDefault(require("deep-extend"));
|
|
24
|
+
const build_and_test_1 = require("../build-and-test");
|
|
25
|
+
const errors_1 = require("../errors");
|
|
26
|
+
const default_1 = require("../reporters/default");
|
|
27
|
+
const junit_1 = require("../reporters/junit");
|
|
28
|
+
const run_tests_lib_1 = require("../run-tests-lib");
|
|
29
|
+
const internal_1 = require("../utils/internal");
|
|
30
|
+
const public_1 = require("../utils/public");
|
|
31
|
+
class PluginCommand extends run_tests_command_1.RunTestsCommand {
|
|
32
|
+
constructor() {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.config = (0, run_tests_lib_1.getDefaultConfig)();
|
|
36
|
+
this.fipsConfig = {
|
|
37
|
+
fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
|
|
38
|
+
fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
setup() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
(0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
|
|
44
|
+
// Bootstrap reporter
|
|
45
|
+
this.reporter = (0, public_1.getReporter)([new default_1.DefaultReporter(this)]);
|
|
46
|
+
// Load config
|
|
47
|
+
yield this.resolveConfig();
|
|
48
|
+
this.normalizeConfig();
|
|
49
|
+
this.validateConfig();
|
|
50
|
+
// Update reporter
|
|
51
|
+
this.reporter = (0, public_1.getReporter)([new default_1.DefaultReporter(this), ...this.getReporters()]);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
resolveConfig() {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
// Defaults < file < ENV < CLI
|
|
58
|
+
// Override with config file variables (e.g. datadog-ci.json)
|
|
59
|
+
try {
|
|
60
|
+
// Override Config Path with ENV variables
|
|
61
|
+
const overrideConfigPath = (_b = (_a = this.configPath) !== null && _a !== void 0 ? _a : process.env.DATADOG_SYNTHETICS_CONFIG_PATH) !== null && _b !== void 0 ? _b : 'datadog-ci.json';
|
|
62
|
+
this.config = yield (0, utils_1.resolveConfigFromFile)(this.config, {
|
|
63
|
+
configPath: overrideConfigPath,
|
|
64
|
+
defaultConfigPaths: [this.config.configPath],
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (this.configPath) {
|
|
69
|
+
throw new errors_1.CiError('INVALID_CONFIG', error.message);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Override with ENV variables
|
|
73
|
+
this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromEnv()));
|
|
74
|
+
// Override with CLI parameters
|
|
75
|
+
this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromCli()));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
execute() {
|
|
79
|
+
var _a;
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
try {
|
|
82
|
+
yield this.setup();
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
(0, public_1.reportExitLogs)(this.reporter, this.config, { error });
|
|
86
|
+
return 1;
|
|
87
|
+
}
|
|
88
|
+
const startTime = Date.now();
|
|
89
|
+
if (this.config.tunnel) {
|
|
90
|
+
this.reporter.log('You are using tunnel option, the chosen location(s) will be overridden by a location in your account region.\n');
|
|
91
|
+
}
|
|
92
|
+
let results;
|
|
93
|
+
let summary;
|
|
94
|
+
let teardown = () => __awaiter(this, void 0, void 0, function* () { });
|
|
95
|
+
const [_, command] = (_a = this.path) !== null && _a !== void 0 ? _a : [];
|
|
96
|
+
if (command === 'build-and-test') {
|
|
97
|
+
if (!this.config.buildCommand) {
|
|
98
|
+
this.reporter.error('The `buildCommand` option is required for the `build-and-test` command.');
|
|
99
|
+
return 1;
|
|
100
|
+
}
|
|
101
|
+
const { builds, devServerUrl, stop } = yield (0, build_and_test_1.buildAssets)(this.config.buildCommand, this.reporter);
|
|
102
|
+
teardown = stop;
|
|
103
|
+
const resourceUrlSubstitutionRegexes = builds.map(
|
|
104
|
+
// All of the resources matching the publicPath prefix will be redirected to the dev server.
|
|
105
|
+
(build) => `.*${build.publicPath}|${devServerUrl}/${build.publicPath}`);
|
|
106
|
+
this.config = (0, deep_extend_1.default)(this.config, {
|
|
107
|
+
tunnel: true,
|
|
108
|
+
defaultTestOverrides: {
|
|
109
|
+
resourceUrlSubstitutionRegexes,
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
;
|
|
115
|
+
({ results, summary } = yield (0, run_tests_lib_1.executeTests)(this.reporter, this.config));
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
(0, public_1.reportExitLogs)(this.reporter, this.config, { error });
|
|
119
|
+
return (0, public_1.toExitCode)((0, public_1.getExitReason)(this.config, { error }));
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
yield teardown();
|
|
123
|
+
}
|
|
124
|
+
const orgSettings = yield (0, public_1.getOrgSettings)(this.reporter, this.config);
|
|
125
|
+
(0, public_1.renderResults)({
|
|
126
|
+
config: this.config,
|
|
127
|
+
orgSettings,
|
|
128
|
+
reporter: this.reporter,
|
|
129
|
+
results,
|
|
130
|
+
startTime,
|
|
131
|
+
summary,
|
|
132
|
+
});
|
|
133
|
+
(0, public_1.reportExitLogs)(this.reporter, this.config, { results });
|
|
134
|
+
return (0, public_1.toExitCode)((0, public_1.getExitReason)(this.config, { results }));
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
resolveConfigFromEnv() {
|
|
138
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
139
|
+
// Override with OVERRIDE ENV variables
|
|
140
|
+
const envOverrideBasicAuth = (0, deep_extend_1.default)((_b = (_a = this.config.defaultTestOverrides) === null || _a === void 0 ? void 0 : _a.basicAuth) !== null && _b !== void 0 ? _b : {}, (0, utils_1.removeUndefinedValues)({
|
|
141
|
+
password: process.env.DATADOG_SYNTHETICS_OVERRIDE_BASIC_AUTH_PASSWORD,
|
|
142
|
+
username: process.env.DATADOG_SYNTHETICS_OVERRIDE_BASIC_AUTH_USERNAME,
|
|
143
|
+
}));
|
|
144
|
+
const envOverrideCookies = (0, utils_1.removeUndefinedValues)({
|
|
145
|
+
append: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_OVERRIDE_COOKIES_APPEND),
|
|
146
|
+
value: process.env.DATADOG_SYNTHETICS_OVERRIDE_COOKIES,
|
|
147
|
+
});
|
|
148
|
+
const envOverrideSetCookies = (0, utils_1.removeUndefinedValues)({
|
|
149
|
+
append: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_OVERRIDE_SET_COOKIES_APPEND),
|
|
150
|
+
value: process.env.DATADOG_SYNTHETICS_OVERRIDE_SET_COOKIES,
|
|
151
|
+
});
|
|
152
|
+
const envOverrideRetryConfig = (0, deep_extend_1.default)((_d = (_c = this.config.defaultTestOverrides) === null || _c === void 0 ? void 0 : _c.retry) !== null && _d !== void 0 ? _d : {}, (0, utils_1.removeUndefinedValues)({
|
|
153
|
+
count: (0, env_1.toNumber)(process.env.DATADOG_SYNTHETICS_OVERRIDE_RETRY_COUNT),
|
|
154
|
+
interval: (0, env_1.toNumber)(process.env.DATADOG_SYNTHETICS_OVERRIDE_RETRY_INTERVAL),
|
|
155
|
+
}));
|
|
156
|
+
return {
|
|
157
|
+
// ...super.resolveConfigFromEnv(),
|
|
158
|
+
// BASE COMMAND START
|
|
159
|
+
apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
|
|
160
|
+
appKey: process.env.DATADOG_APP_KEY || process.env.DD_APP_KEY,
|
|
161
|
+
configPath: process.env.DATADOG_SYNTHETICS_CONFIG_PATH,
|
|
162
|
+
datadogSite: process.env.DATADOG_SITE || process.env.DD_SITE,
|
|
163
|
+
// BASE COMMAND END
|
|
164
|
+
batchTimeout: (0, env_1.toNumber)(process.env.DATADOG_SYNTHETICS_BATCH_TIMEOUT),
|
|
165
|
+
buildCommand: process.env.DATADOG_SYNTHETICS_BUILD_COMMAND,
|
|
166
|
+
defaultTestOverrides: {
|
|
167
|
+
allowInsecureCertificates: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_OVERRIDE_ALLOW_INSECURE_CERTIFICATES),
|
|
168
|
+
basicAuth: Object.keys(envOverrideBasicAuth).length > 0 ? envOverrideBasicAuth : undefined,
|
|
169
|
+
body: process.env.DATADOG_SYNTHETICS_OVERRIDE_BODY,
|
|
170
|
+
bodyType: process.env.DATADOG_SYNTHETICS_OVERRIDE_BODY_TYPE,
|
|
171
|
+
cookies: Object.keys(envOverrideCookies).length > 0 ? envOverrideCookies : undefined,
|
|
172
|
+
setCookies: Object.keys(envOverrideSetCookies).length > 0 ? envOverrideSetCookies : undefined,
|
|
173
|
+
defaultStepTimeout: (0, env_1.toNumber)(process.env.DATADOG_SYNTHETICS_OVERRIDE_DEFAULT_STEP_TIMEOUT),
|
|
174
|
+
deviceIds: (_e = process.env.DATADOG_SYNTHETICS_OVERRIDE_DEVICE_IDS) === null || _e === void 0 ? void 0 : _e.split(';'),
|
|
175
|
+
executionRule: (0, internal_1.toExecutionRule)(process.env.DATADOG_SYNTHETICS_OVERRIDE_EXECUTION_RULE),
|
|
176
|
+
followRedirects: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_OVERRIDE_FOLLOW_REDIRECTS),
|
|
177
|
+
headers: (0, env_1.toStringMap)(process.env.DATADOG_SYNTHETICS_OVERRIDE_HEADERS),
|
|
178
|
+
locations: (_f = process.env.DATADOG_SYNTHETICS_OVERRIDE_LOCATIONS) === null || _f === void 0 ? void 0 : _f.split(';'),
|
|
179
|
+
mobileApplicationVersion: process.env.DATADOG_SYNTHETICS_OVERRIDE_MOBILE_APPLICATION_VERSION,
|
|
180
|
+
resourceUrlSubstitutionRegexes: (_g = process.env.DATADOG_SYNTHETICS_OVERRIDE_RESOURCE_URL_SUBSTITUTION_REGEXES) === null || _g === void 0 ? void 0 : _g.split(';'),
|
|
181
|
+
retry: Object.keys(envOverrideRetryConfig).length > 0 ? envOverrideRetryConfig : undefined,
|
|
182
|
+
startUrl: process.env.DATADOG_SYNTHETICS_OVERRIDE_START_URL,
|
|
183
|
+
startUrlSubstitutionRegex: process.env.DATADOG_SYNTHETICS_OVERRIDE_START_URL_SUBSTITUTION_REGEX,
|
|
184
|
+
testTimeout: (0, env_1.toNumber)(process.env.DATADOG_SYNTHETICS_OVERRIDE_TEST_TIMEOUT),
|
|
185
|
+
variables: (0, env_1.toStringMap)(process.env.DATADOG_SYNTHETICS_OVERRIDE_VARIABLES),
|
|
186
|
+
},
|
|
187
|
+
failOnCriticalErrors: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_FAIL_ON_CRITICAL_ERRORS),
|
|
188
|
+
failOnMissingTests: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_FAIL_ON_MISSING_TESTS),
|
|
189
|
+
failOnTimeout: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_FAIL_ON_TIMEOUT),
|
|
190
|
+
files: (_h = process.env.DATADOG_SYNTHETICS_FILES) === null || _h === void 0 ? void 0 : _h.split(';'),
|
|
191
|
+
jUnitReport: process.env.DATADOG_SYNTHETICS_JUNIT_REPORT,
|
|
192
|
+
publicIds: (_j = process.env.DATADOG_SYNTHETICS_PUBLIC_IDS) === null || _j === void 0 ? void 0 : _j.split(';'),
|
|
193
|
+
selectiveRerun: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_SELECTIVE_RERUN),
|
|
194
|
+
subdomain: process.env.DATADOG_SUBDOMAIN,
|
|
195
|
+
testSearchQuery: process.env.DATADOG_SYNTHETICS_TEST_SEARCH_QUERY,
|
|
196
|
+
tunnel: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_TUNNEL),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
resolveConfigFromCli() {
|
|
200
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
201
|
+
// Override defaultTestOverrides with CLI parameters
|
|
202
|
+
let validatedOverrides;
|
|
203
|
+
try {
|
|
204
|
+
validatedOverrides = (0, internal_1.validateAndParseOverrides)(this.overrides);
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
throw new errors_1.CiError('INVALID_CONFIG', error.message);
|
|
208
|
+
}
|
|
209
|
+
const cliOverrideBasicAuth = (0, deep_extend_1.default)((_b = (_a = this.config.defaultTestOverrides) === null || _a === void 0 ? void 0 : _a.basicAuth) !== null && _b !== void 0 ? _b : {}, (0, utils_1.removeUndefinedValues)({
|
|
210
|
+
password: (_c = validatedOverrides.basicAuth) === null || _c === void 0 ? void 0 : _c.password,
|
|
211
|
+
username: (_d = validatedOverrides.basicAuth) === null || _d === void 0 ? void 0 : _d.username,
|
|
212
|
+
}));
|
|
213
|
+
const cliOverrideCookies = (0, utils_1.removeUndefinedValues)({
|
|
214
|
+
append: (_e = validatedOverrides.cookies) === null || _e === void 0 ? void 0 : _e.append,
|
|
215
|
+
value: (_f = validatedOverrides.cookies) === null || _f === void 0 ? void 0 : _f.value,
|
|
216
|
+
});
|
|
217
|
+
const cliOverrideSetCookies = (0, utils_1.removeUndefinedValues)({
|
|
218
|
+
append: (_g = validatedOverrides.setCookies) === null || _g === void 0 ? void 0 : _g.append,
|
|
219
|
+
value: (_h = validatedOverrides.setCookies) === null || _h === void 0 ? void 0 : _h.value,
|
|
220
|
+
});
|
|
221
|
+
const cliOverrideRetryConfig = (0, deep_extend_1.default)((_k = (_j = this.config.defaultTestOverrides) === null || _j === void 0 ? void 0 : _j.retry) !== null && _k !== void 0 ? _k : {}, (0, utils_1.removeUndefinedValues)({
|
|
222
|
+
count: (_l = validatedOverrides.retry) === null || _l === void 0 ? void 0 : _l.count,
|
|
223
|
+
interval: (_m = validatedOverrides.retry) === null || _m === void 0 ? void 0 : _m.interval,
|
|
224
|
+
}));
|
|
225
|
+
return {
|
|
226
|
+
// ...super.resolveConfigFromCli(),
|
|
227
|
+
// BASE COMMAND START
|
|
228
|
+
apiKey: this.apiKey,
|
|
229
|
+
appKey: this.appKey,
|
|
230
|
+
configPath: this.configPath,
|
|
231
|
+
datadogSite: this.datadogSite,
|
|
232
|
+
// BASE COMMAND END
|
|
233
|
+
batchTimeout: this.batchTimeout,
|
|
234
|
+
buildCommand: this.buildCommand,
|
|
235
|
+
defaultTestOverrides: {
|
|
236
|
+
allowInsecureCertificates: validatedOverrides.allowInsecureCertificates,
|
|
237
|
+
basicAuth: Object.keys(cliOverrideBasicAuth).length > 0 ? cliOverrideBasicAuth : undefined,
|
|
238
|
+
body: validatedOverrides.body,
|
|
239
|
+
bodyType: validatedOverrides.bodyType,
|
|
240
|
+
cookies: Object.keys(cliOverrideCookies).length > 0 ? cliOverrideCookies : undefined,
|
|
241
|
+
setCookies: Object.keys(cliOverrideSetCookies).length > 0 ? cliOverrideSetCookies : undefined,
|
|
242
|
+
defaultStepTimeout: validatedOverrides.defaultStepTimeout,
|
|
243
|
+
deviceIds: validatedOverrides.deviceIds,
|
|
244
|
+
executionRule: validatedOverrides.executionRule,
|
|
245
|
+
followRedirects: validatedOverrides.followRedirects,
|
|
246
|
+
headers: validatedOverrides.headers,
|
|
247
|
+
locations: validatedOverrides.locations,
|
|
248
|
+
mobileApplicationVersion: this.mobileApplicationVersion,
|
|
249
|
+
mobileApplicationVersionFilePath: this.mobileApplicationVersionFilePath,
|
|
250
|
+
resourceUrlSubstitutionRegexes: validatedOverrides.resourceUrlSubstitutionRegexes,
|
|
251
|
+
retry: Object.keys(cliOverrideRetryConfig).length > 0 ? cliOverrideRetryConfig : undefined,
|
|
252
|
+
startUrl: validatedOverrides.startUrl,
|
|
253
|
+
startUrlSubstitutionRegex: validatedOverrides.startUrlSubstitutionRegex,
|
|
254
|
+
testTimeout: validatedOverrides.testTimeout,
|
|
255
|
+
variables: validatedOverrides.variables,
|
|
256
|
+
},
|
|
257
|
+
failOnCriticalErrors: this.failOnCriticalErrors,
|
|
258
|
+
failOnMissingTests: this.failOnMissingTests,
|
|
259
|
+
failOnTimeout: this.failOnTimeout,
|
|
260
|
+
files: this.files,
|
|
261
|
+
jUnitReport: this.jUnitReport,
|
|
262
|
+
publicIds: this.publicIds,
|
|
263
|
+
selectiveRerun: this.selectiveRerun,
|
|
264
|
+
subdomain: this.subdomain,
|
|
265
|
+
testSearchQuery: this.testSearchQuery,
|
|
266
|
+
tunnel: this.tunnel,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
normalizeConfig() {
|
|
270
|
+
var _a, _b;
|
|
271
|
+
// Convert cookies to object
|
|
272
|
+
if (typeof ((_a = this.config.defaultTestOverrides) === null || _a === void 0 ? void 0 : _a.cookies) === 'string') {
|
|
273
|
+
this.config.defaultTestOverrides.cookies = { value: this.config.defaultTestOverrides.cookies };
|
|
274
|
+
}
|
|
275
|
+
// Convert setCookies to object
|
|
276
|
+
if (typeof ((_b = this.config.defaultTestOverrides) === null || _b === void 0 ? void 0 : _b.setCookies) === 'string') {
|
|
277
|
+
this.config.defaultTestOverrides.setCookies = { value: this.config.defaultTestOverrides.setCookies };
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
validateConfig() {
|
|
281
|
+
var _a, _b;
|
|
282
|
+
if (!(0, validation_1.isValidDatadogSite)(this.config.datadogSite)) {
|
|
283
|
+
throw new errors_1.CiError('INVALID_CONFIG', `The \`datadogSite\` config property (${JSON.stringify(this.config.datadogSite)}) must match one of the sites supported by Datadog.\nFor more information, see "Site parameter" in our documentation: https://docs.datadoghq.com/getting_started/site/#access-the-datadog-site`);
|
|
284
|
+
}
|
|
285
|
+
if (typeof ((_a = this.config.defaultTestOverrides) === null || _a === void 0 ? void 0 : _a.cookies) === 'object' &&
|
|
286
|
+
!this.config.defaultTestOverrides.cookies.value) {
|
|
287
|
+
throw new errors_1.CiError('INVALID_CONFIG', 'Cookies value cannot be empty.');
|
|
288
|
+
}
|
|
289
|
+
if (typeof ((_b = this.config.defaultTestOverrides) === null || _b === void 0 ? void 0 : _b.setCookies) === 'object' &&
|
|
290
|
+
!this.config.defaultTestOverrides.setCookies.value) {
|
|
291
|
+
throw new errors_1.CiError('INVALID_CONFIG', 'SetCookies value cannot be empty.');
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
getReporters() {
|
|
295
|
+
if (this.config.jUnitReport) {
|
|
296
|
+
return [
|
|
297
|
+
new junit_1.JUnitReporter({
|
|
298
|
+
context: this.context,
|
|
299
|
+
jUnitReport: this.config.jUnitReport,
|
|
300
|
+
runName: this.runName,
|
|
301
|
+
}),
|
|
302
|
+
];
|
|
303
|
+
}
|
|
304
|
+
return [];
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
exports.PluginCommand = PluginCommand;
|
|
308
|
+
//# sourceMappingURL=run-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../../src/commands/run-tests.ts"],"names":[],"mappings":"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"}
|