@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.
Files changed (82) hide show
  1. package/dist/api.d.ts +52 -0
  2. package/dist/api.js +333 -0
  3. package/dist/api.js.map +1 -0
  4. package/dist/batch.d.ts +9 -0
  5. package/dist/batch.js +325 -0
  6. package/dist/batch.js.map +1 -0
  7. package/dist/build-and-test.d.ts +25 -0
  8. package/dist/build-and-test.js +196 -0
  9. package/dist/build-and-test.js.map +1 -0
  10. package/dist/commands/deploy-tests.d.ts +19 -0
  11. package/dist/commands/deploy-tests.js +125 -0
  12. package/dist/commands/deploy-tests.js.map +1 -0
  13. package/dist/commands/import-tests.d.ts +19 -0
  14. package/dist/commands/import-tests.js +118 -0
  15. package/dist/commands/import-tests.js.map +1 -0
  16. package/dist/commands/run-tests.d.ts +19 -0
  17. package/dist/commands/run-tests.js +308 -0
  18. package/dist/commands/run-tests.js.map +1 -0
  19. package/dist/commands/upload-application.d.ts +18 -0
  20. package/dist/commands/upload-application.js +138 -0
  21. package/dist/commands/upload-application.js.map +1 -0
  22. package/dist/deploy-tests-lib.d.ts +2 -0
  23. package/dist/deploy-tests-lib.js +96 -0
  24. package/dist/deploy-tests-lib.js.map +1 -0
  25. package/dist/errors.d.ts +18 -0
  26. package/dist/errors.js +30 -0
  27. package/dist/errors.js.map +1 -0
  28. package/dist/import-tests-lib.d.ts +2 -0
  29. package/dist/import-tests-lib.js +71 -0
  30. package/dist/import-tests-lib.js.map +1 -0
  31. package/dist/index.d.ts +7 -0
  32. package/dist/index.js +44 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/interfaces.d.ts +739 -0
  35. package/dist/interfaces.js +27 -0
  36. package/dist/interfaces.js.map +1 -0
  37. package/dist/local-test-definition.d.ts +2 -0
  38. package/dist/local-test-definition.js +16 -0
  39. package/dist/local-test-definition.js.map +1 -0
  40. package/dist/mobile.d.ts +28 -0
  41. package/dist/mobile.js +275 -0
  42. package/dist/mobile.js.map +1 -0
  43. package/dist/multilocator.d.ts +2 -0
  44. package/dist/multilocator.js +88 -0
  45. package/dist/multilocator.js.map +1 -0
  46. package/dist/reporters/constants.d.ts +6 -0
  47. package/dist/reporters/constants.js +14 -0
  48. package/dist/reporters/constants.js.map +1 -0
  49. package/dist/reporters/default.d.ts +31 -0
  50. package/dist/reporters/default.js +416 -0
  51. package/dist/reporters/default.js.map +1 -0
  52. package/dist/reporters/junit.d.ts +100 -0
  53. package/dist/reporters/junit.js +425 -0
  54. package/dist/reporters/junit.js.map +1 -0
  55. package/dist/reporters/mobile/app-upload.d.ts +15 -0
  56. package/dist/reporters/mobile/app-upload.js +54 -0
  57. package/dist/reporters/mobile/app-upload.js.map +1 -0
  58. package/dist/run-tests-lib.d.ts +21 -0
  59. package/dist/run-tests-lib.js +247 -0
  60. package/dist/run-tests-lib.js.map +1 -0
  61. package/dist/test.d.ts +30 -0
  62. package/dist/test.js +204 -0
  63. package/dist/test.js.map +1 -0
  64. package/dist/tunnel/crypto.d.ts +6 -0
  65. package/dist/tunnel/crypto.js +48 -0
  66. package/dist/tunnel/crypto.js.map +1 -0
  67. package/dist/tunnel/index.d.ts +1 -0
  68. package/dist/tunnel/index.js +6 -0
  69. package/dist/tunnel/index.js.map +1 -0
  70. package/dist/tunnel/tunnel.d.ts +49 -0
  71. package/dist/tunnel/tunnel.js +329 -0
  72. package/dist/tunnel/tunnel.js.map +1 -0
  73. package/dist/tunnel/websocket.d.ts +39 -0
  74. package/dist/tunnel/websocket.js +154 -0
  75. package/dist/tunnel/websocket.js.map +1 -0
  76. package/dist/utils/internal.d.ts +56 -0
  77. package/dist/utils/internal.js +313 -0
  78. package/dist/utils/internal.js.map +1 -0
  79. package/dist/utils/public.d.ts +76 -0
  80. package/dist/utils/public.js +509 -0
  81. package/dist/utils/public.js.map +1 -0
  82. 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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"}