@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,18 @@
1
+ import { UploadApplicationCommand } from '@datadog/datadog-ci-base/commands/synthetics/upload-application-command';
2
+ import { Logger } from '@datadog/datadog-ci-base/helpers/logger';
3
+ import { UploadApplicationCommandConfig } from '../interfaces';
4
+ import { RecursivePartial } from '../utils/internal';
5
+ export declare class PluginCommand extends UploadApplicationCommand {
6
+ protected config: UploadApplicationCommandConfig;
7
+ protected fipsConfig: {
8
+ fips: boolean;
9
+ fipsIgnoreError: boolean;
10
+ };
11
+ protected logger: Logger;
12
+ static getDefaultConfig(): UploadApplicationCommandConfig;
13
+ protected setup(): Promise<void>;
14
+ protected resolveConfig(): Promise<void>;
15
+ execute(): Promise<1 | 0>;
16
+ protected resolveConfigFromEnv(): RecursivePartial<UploadApplicationCommandConfig>;
17
+ protected resolveConfigFromCli(): RecursivePartial<UploadApplicationCommandConfig>;
18
+ }
@@ -0,0 +1,138 @@
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 upload_application_command_1 = require("@datadog/datadog-ci-base/commands/synthetics/upload-application-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 chalk_1 = __importDefault(require("chalk"));
24
+ const deep_extend_1 = __importDefault(require("deep-extend"));
25
+ const api_1 = require("../api");
26
+ const errors_1 = require("../errors");
27
+ const mobile_1 = require("../mobile");
28
+ const app_upload_1 = require("../reporters/mobile/app-upload");
29
+ const internal_1 = require("../utils/internal");
30
+ class PluginCommand extends upload_application_command_1.UploadApplicationCommand {
31
+ constructor() {
32
+ var _a, _b;
33
+ super(...arguments);
34
+ this.config = PluginCommand.getDefaultConfig();
35
+ this.fipsConfig = {
36
+ fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
37
+ fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
38
+ };
39
+ this.logger = new logger_1.Logger((s) => {
40
+ this.context.stdout.write(s);
41
+ }, logger_1.LogLevel.INFO);
42
+ }
43
+ static getDefaultConfig() {
44
+ return Object.assign(Object.assign({}, (0, internal_1.getDefaultConfig)()), { mobileApplicationVersionFilePath: '', mobileApplicationId: '', versionName: '', latest: false });
45
+ }
46
+ setup() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ (0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
49
+ // Load config
50
+ yield this.resolveConfig();
51
+ });
52
+ }
53
+ resolveConfig() {
54
+ var _a, _b;
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ // Defaults < file < ENV < CLI
57
+ // Override with config file variables (e.g. datadog-ci.json)
58
+ try {
59
+ // Override Config Path with ENV variables
60
+ 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';
61
+ this.config = yield (0, utils_1.resolveConfigFromFile)(this.config, {
62
+ configPath: overrideConfigPath,
63
+ defaultConfigPaths: [this.config.configPath],
64
+ });
65
+ }
66
+ catch (error) {
67
+ if (this.configPath) {
68
+ throw new errors_1.CiError('INVALID_CONFIG', error.message);
69
+ }
70
+ }
71
+ // Override with ENV variables
72
+ this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromEnv()));
73
+ // Override with CLI parameters
74
+ this.config = (0, deep_extend_1.default)(this.config, (0, utils_1.recursivelyRemoveUndefinedValues)(this.resolveConfigFromCli()));
75
+ });
76
+ }
77
+ execute() {
78
+ var _a;
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ yield this.setup();
81
+ const appUploadReporter = new app_upload_1.AppUploadReporter(this.context);
82
+ try {
83
+ const result = yield (0, mobile_1.uploadMobileApplicationVersion)(this.config, appUploadReporter);
84
+ const versionUuid = (_a = result.valid_app_result) === null || _a === void 0 ? void 0 : _a.app_version_uuid;
85
+ if (!versionUuid) {
86
+ this.logger.error('The upload was successful, but the version ID is missing.');
87
+ return 1;
88
+ }
89
+ this.logger.info(`\nThe new version has version ID: ${chalk_1.default.green(versionUuid)}\nPass it when triggering Synthetic tests to run tests against that version.`);
90
+ }
91
+ catch (error) {
92
+ if (error instanceof errors_1.CiError) {
93
+ this.logger.error(`A CI error occurred: [${error.code}] ${error.message}`);
94
+ }
95
+ else if (error instanceof api_1.EndpointError) {
96
+ this.logger.error(`A backend error occurred: ${error.message} (${error.status})`);
97
+ }
98
+ else {
99
+ const e = error;
100
+ this.logger.error(`An unexpected error occurred: ${e.stack || e.message}`);
101
+ }
102
+ return 1;
103
+ }
104
+ return 0;
105
+ });
106
+ }
107
+ resolveConfigFromEnv() {
108
+ return {
109
+ // ...super.resolveConfigFromEnv(),
110
+ // BASE COMMAND START
111
+ apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
112
+ appKey: process.env.DATADOG_APP_KEY || process.env.DD_APP_KEY,
113
+ configPath: process.env.DATADOG_SYNTHETICS_CONFIG_PATH,
114
+ datadogSite: process.env.DATADOG_SITE || process.env.DD_SITE,
115
+ // BASE COMMAND END
116
+ mobileApplicationId: process.env.DATADOG_SYNTHETICS_MOBILE_APPLICATION_ID,
117
+ versionName: process.env.DATADOG_SYNTHETICS_VERSION_NAME,
118
+ latest: (0, env_1.toBoolean)(process.env.DATADOG_SYNTHETICS_LATEST),
119
+ };
120
+ }
121
+ resolveConfigFromCli() {
122
+ return {
123
+ // ...super.resolveConfigFromCli(),
124
+ // BASE COMMAND START
125
+ apiKey: this.apiKey,
126
+ appKey: this.appKey,
127
+ configPath: this.configPath,
128
+ datadogSite: this.datadogSite,
129
+ // BASE COMMAND END
130
+ mobileApplicationVersionFilePath: this.mobileApplicationVersionFilePath,
131
+ mobileApplicationId: this.mobileApplicationId,
132
+ versionName: this.versionName,
133
+ latest: this.latest,
134
+ };
135
+ }
136
+ }
137
+ exports.PluginCommand = PluginCommand;
138
+ //# sourceMappingURL=upload-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-application.js","sourceRoot":"","sources":["../../src/commands/upload-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { DeployTestsCommandConfig, MainReporter } from './interfaces';
2
+ export declare const deployTests: (reporter: MainReporter, config: DeployTestsCommandConfig) => Promise<void>;
@@ -0,0 +1,96 @@
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.deployTests = void 0;
16
+ const app_1 = require("@datadog/datadog-ci-base/helpers/app");
17
+ const get_value_1 = __importDefault(require("get-value"));
18
+ const set_value_1 = __importDefault(require("set-value"));
19
+ const api_1 = require("./api");
20
+ const test_1 = require("./test");
21
+ const internal_1 = require("./utils/internal");
22
+ const removeExcludedFields = (existingRemoteTest, excludeFields, test) => {
23
+ if (!excludeFields || excludeFields.length === 0) {
24
+ return test;
25
+ }
26
+ const newTest = Object.assign({}, test);
27
+ for (const path of excludeFields) {
28
+ const existingValue = (0, get_value_1.default)(existingRemoteTest, path);
29
+ if (existingValue) {
30
+ (0, set_value_1.default)(newTest, path, existingValue);
31
+ }
32
+ }
33
+ return newTest;
34
+ };
35
+ const deployTests = (reporter, config) => __awaiter(void 0, void 0, void 0, function* () {
36
+ var _a;
37
+ const api = (0, api_1.getApiHelper)(config);
38
+ reporter.log('Deploying tests...\n\n');
39
+ const triggerConfigs = yield (0, test_1.getTestConfigs)(config, reporter);
40
+ const localTestDefinitionsToDeploy = triggerConfigs.flatMap((triggerConfig) => {
41
+ if (!(0, internal_1.isLocalTriggerConfig)(triggerConfig)) {
42
+ return [];
43
+ }
44
+ if (!triggerConfig.localTestDefinition.public_id) {
45
+ throw new Error('Local test definition is missing a public_id');
46
+ }
47
+ if (config.publicIds.length > 0 && !config.publicIds.includes(triggerConfig.localTestDefinition.public_id)) {
48
+ return [];
49
+ }
50
+ return [triggerConfig];
51
+ });
52
+ if (localTestDefinitionsToDeploy.length === 0) {
53
+ reporter.log('No local test definitions to deploy\n');
54
+ return;
55
+ }
56
+ for (const localTestDefinition of localTestDefinitionsToDeploy) {
57
+ // SYNTH-18434: public ID should be made required
58
+ const publicId = localTestDefinition.localTestDefinition.public_id;
59
+ try {
60
+ yield deployLocalTestDefinition(api, localTestDefinition, config.excludeFields);
61
+ // SYNTH-18527: the edit test endpoint should return a version in the response, so we can print it in the logs and see it in version history
62
+ const baseUrl = (0, app_1.getCommonAppBaseURL)(config.datadogSite, config.subdomain);
63
+ const testLink = `${baseUrl}synthetics/details/${publicId}`;
64
+ reporter.log(`New version successfully deployed for main test definition ${publicId}:\n ⎋ ${testLink}\n\n`);
65
+ }
66
+ catch (e) {
67
+ const errorMessage = (0, api_1.formatBackendErrors)(e);
68
+ throw new api_1.EndpointError(`[${publicId}] Failed to update main test definition: ${errorMessage}\n`, (_a = e.response) === null || _a === void 0 ? void 0 : _a.status);
69
+ }
70
+ }
71
+ });
72
+ exports.deployTests = deployTests;
73
+ const deployLocalTestDefinition = (api, test, excludeFields) => __awaiter(void 0, void 0, void 0, function* () {
74
+ // SYNTH-18434: public ID should be made required
75
+ const publicId = test.localTestDefinition.public_id;
76
+ const existingRemoteTest = yield api.getTest(publicId);
77
+ // SYNTH-18528: the client should not have to handle the merge for partial update
78
+ const newRemoteTest = removeUnsupportedEditTestFields(Object.assign(Object.assign(Object.assign({}, existingRemoteTest), test.localTestDefinition), { config: Object.assign(Object.assign({}, existingRemoteTest.config), test.localTestDefinition.config), options: Object.assign(Object.assign({}, existingRemoteTest.options), test.localTestDefinition.options) }));
79
+ // Replace excluded fields with values from the existing remote test
80
+ const finalTest = removeExcludedFields(existingRemoteTest, excludeFields || [], newRemoteTest);
81
+ yield api.editTest(publicId, finalTest);
82
+ });
83
+ const removeUnsupportedEditTestFields = (testConfig) => {
84
+ const editTestPayload = Object.assign({}, testConfig);
85
+ delete editTestPayload.creator;
86
+ delete editTestPayload.monitor_id;
87
+ delete editTestPayload.created_at;
88
+ delete editTestPayload.modified_at;
89
+ delete editTestPayload.public_id;
90
+ // Only remove bindings if they are null to make validation happy
91
+ if (editTestPayload.options && !editTestPayload.options.bindings) {
92
+ delete editTestPayload.options.bindings;
93
+ }
94
+ return editTestPayload;
95
+ };
96
+ //# sourceMappingURL=deploy-tests-lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-tests-lib.js","sourceRoot":"","sources":["../src/deploy-tests-lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export type NonCriticalCiErrorCode = 'NO_TESTS_TO_RUN' | 'MISSING_TESTS' | 'UNAUTHORIZED_TESTS';
2
+ export type CriticalCiErrorCode = 'AUTHORIZATION_ERROR' | 'INVALID_CONFIG' | 'MISSING_API_KEY' | 'MISSING_APP_KEY' | 'POLL_RESULTS_FAILED' | 'BATCH_TIMEOUT_RUNAWAY' | 'TOO_MANY_TESTS_TO_TRIGGER' | 'TRIGGER_TESTS_FAILED' | 'TUNNEL_START_FAILED' | 'TUNNEL_NOT_SUPPORTED' | 'UNAVAILABLE_TEST_CONFIG' | 'UNAVAILABLE_TUNNEL_CONFIG' | 'UPLOAD_MOBILE_APPLICATION_TESTS_FAILED' | 'MISSING_MOBILE_APPLICATION_PATH' | 'MISSING_MOBILE_APPLICATION_ID' | 'MISSING_MOBILE_VERSION_NAME' | 'INVALID_MOBILE_APP' | 'INVALID_MOBILE_APP_UPLOAD_PARAMETERS' | 'MOBILE_APP_UPLOAD_TIMEOUT' | 'UNKNOWN_MOBILE_APP_UPLOAD_FAILURE' | 'LTD_MULTILOCATORS_UPDATE_FAILED';
3
+ export type CiErrorCode = NonCriticalCiErrorCode | CriticalCiErrorCode;
4
+ export declare class CiError extends Error {
5
+ code: CiErrorCode;
6
+ constructor(code: CiErrorCode, message?: string);
7
+ toJson(): {
8
+ code: CiErrorCode;
9
+ message: string;
10
+ };
11
+ }
12
+ export declare class CriticalError extends CiError {
13
+ code: CriticalCiErrorCode;
14
+ constructor(code: CriticalCiErrorCode, message?: string);
15
+ }
16
+ export declare class BatchTimeoutRunawayError extends CriticalError {
17
+ constructor();
18
+ }
package/dist/errors.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BatchTimeoutRunawayError = exports.CriticalError = exports.CiError = void 0;
4
+ class CiError extends Error {
5
+ constructor(code, message) {
6
+ super(message);
7
+ this.code = code;
8
+ }
9
+ toJson() {
10
+ return {
11
+ code: this.code,
12
+ message: this.message,
13
+ };
14
+ }
15
+ }
16
+ exports.CiError = CiError;
17
+ class CriticalError extends CiError {
18
+ constructor(code, message) {
19
+ super(code, message);
20
+ this.code = code;
21
+ }
22
+ }
23
+ exports.CriticalError = CriticalError;
24
+ class BatchTimeoutRunawayError extends CriticalError {
25
+ constructor() {
26
+ super('BATCH_TIMEOUT_RUNAWAY', "The batch didn't timeout after the expected timeout period.");
27
+ }
28
+ }
29
+ exports.BatchTimeoutRunawayError = BatchTimeoutRunawayError;
30
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AA2BA,MAAa,OAAQ,SAAQ,KAAK;IAChC,YACS,IAAiB,EACxB,OAAgB;QAEhB,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,SAAI,GAAJ,IAAI,CAAa;IAI1B,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;IACH,CAAC;CACF;AAdD,0BAcC;AAED,MAAa,aAAc,SAAQ,OAAO;IACxC,YACS,IAAyB,EAChC,OAAgB;QAEhB,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAHb,SAAI,GAAJ,IAAI,CAAqB;IAIlC,CAAC;CACF;AAPD,sCAOC;AAED,MAAa,wBAAyB,SAAQ,aAAa;IACzD;QACE,KAAK,CAAC,uBAAuB,EAAE,6DAA6D,CAAC,CAAA;IAC/F,CAAC;CACF;AAJD,4DAIC"}
@@ -0,0 +1,2 @@
1
+ import { ImportTestsCommandConfig, MainReporter } from './interfaces';
2
+ export declare const importTests: (reporter: MainReporter, config: ImportTestsCommandConfig) => Promise<void>;
@@ -0,0 +1,71 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.importTests = void 0;
13
+ const promises_1 = require("fs/promises");
14
+ const api_1 = require("./api");
15
+ const test_1 = require("./test");
16
+ const internal_1 = require("./utils/internal");
17
+ const importTests = (reporter, config) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const api = (0, api_1.getApiHelper)(config);
19
+ reporter.log('Importing tests...\n');
20
+ const testConfigFromBackend = {
21
+ tests: [],
22
+ };
23
+ for (const publicId of config.publicIds) {
24
+ reporter.log(`Fetching test with public_id: ${publicId}\n`);
25
+ let localTriggerConfig;
26
+ const test = yield api.getLocalTestDefinition(publicId);
27
+ if ((test === null || test === void 0 ? void 0 : test.type) === 'browser') {
28
+ const testWithSteps = yield api.getLocalTestDefinition(publicId, test.type);
29
+ localTriggerConfig = { localTestDefinition: testWithSteps };
30
+ }
31
+ else if ((test === null || test === void 0 ? void 0 : test.type) === 'mobile') {
32
+ reporter.error('Unsupported test type: mobile\n');
33
+ return;
34
+ }
35
+ else {
36
+ localTriggerConfig = { localTestDefinition: test };
37
+ }
38
+ testConfigFromBackend.tests.push(localTriggerConfig);
39
+ }
40
+ const testConfigFromFile = {
41
+ tests: yield (0, test_1.getTestConfigs)(config, reporter),
42
+ };
43
+ const testConfig = overwriteTestConfig(testConfigFromBackend, testConfigFromFile);
44
+ const jsonString = JSON.stringify(testConfig, undefined, 2);
45
+ try {
46
+ yield (0, promises_1.writeFile)(config.files[0], jsonString, 'utf8');
47
+ reporter.log(`Local test definition written to ${config.files[0]}\n`);
48
+ }
49
+ catch (error) {
50
+ reporter.error(`Error writing file: ${error}\n`);
51
+ }
52
+ });
53
+ exports.importTests = importTests;
54
+ const overwriteTestConfig = (testConfigFromBackend, testConfigFromFile) => {
55
+ for (const test of testConfigFromBackend.tests) {
56
+ const index = testConfigFromFile.tests.findIndex((t) => {
57
+ var _a, _b;
58
+ return (0, internal_1.isLocalTriggerConfig)(t) &&
59
+ (0, internal_1.isLocalTriggerConfig)(test) &&
60
+ ((_a = t.localTestDefinition) === null || _a === void 0 ? void 0 : _a.public_id) === ((_b = test.localTestDefinition) === null || _b === void 0 ? void 0 : _b.public_id);
61
+ });
62
+ if (index !== -1) {
63
+ testConfigFromFile.tests[index] = test;
64
+ }
65
+ else {
66
+ testConfigFromFile.tests.push(test);
67
+ }
68
+ }
69
+ return testConfigFromFile;
70
+ };
71
+ //# sourceMappingURL=import-tests-lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-tests-lib.js","sourceRoot":"","sources":["../src/import-tests-lib.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAqC;AAErC,+BAAkC;AAElC,iCAAqC;AACrC,+CAAqD;AAE9C,MAAM,WAAW,GAAG,CAAO,QAAsB,EAAE,MAAgC,EAAiB,EAAE;IAC3G,MAAM,GAAG,GAAG,IAAA,kBAAY,EAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACpC,MAAM,qBAAqB,GAAe;QACxC,KAAK,EAAE,EAAE;KACV,CAAA;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;QACvC,QAAQ,CAAC,GAAG,CAAC,iCAAiC,QAAQ,IAAI,CAAC,CAAA;QAC3D,IAAI,kBAAsC,CAAA;QAC1C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAEvD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,EAAE;YAC5B,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3E,kBAAkB,GAAG,EAAC,mBAAmB,EAAE,aAAa,EAAC,CAAA;SAC1D;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,EAAE;YAClC,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAEjD,OAAM;SACP;aAAM;YACL,kBAAkB,GAAG,EAAC,mBAAmB,EAAE,IAAI,EAAC,CAAA;SACjD;QACD,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;KACrD;IAED,MAAM,kBAAkB,GAAe;QACrC,KAAK,EAAE,MAAM,IAAA,qBAAc,EAAC,MAAM,EAAE,QAAQ,CAAC;KAC9C,CAAA;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAA;IAEjF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC3D,IAAI;QACF,MAAM,IAAA,oBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QACpD,QAAQ,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;KACtE;IAAC,OAAO,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAA;KACjD;AACH,CAAC,CAAA,CAAA;AAtCY,QAAA,WAAW,eAsCvB;AAED,MAAM,mBAAmB,GAAG,CAAC,qBAAiC,EAAE,kBAA8B,EAAc,EAAE;IAC5G,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,KAAK,EAAE;QAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAC9C,CAAC,CAAC,EAAE,EAAE;;YACJ,OAAA,IAAA,+BAAoB,EAAC,CAAC,CAAC;gBACvB,IAAA,+BAAoB,EAAC,IAAI,CAAC;gBAC1B,CAAA,MAAA,CAAC,CAAC,mBAAmB,0CAAE,SAAS,OAAK,MAAA,IAAI,CAAC,mBAAmB,0CAAE,SAAS,CAAA,CAAA;SAAA,CAC3E,CAAA;QAED,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;SACvC;aAAM;YACL,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACpC;KACF;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export { CiError, CriticalError } from './errors';
2
+ export * from './interfaces';
3
+ export { DefaultReporter } from './reporters/default';
4
+ export { JUnitReporter } from './reporters/junit';
5
+ export { executeTests, execute } from './run-tests-lib';
6
+ export * as utils from './utils/public';
7
+ export declare const DEFAULT_COMMAND_CONFIG: import("./interfaces").RunTestsCommandConfig;
package/dist/index.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DEFAULT_COMMAND_CONFIG = exports.utils = exports.execute = exports.executeTests = exports.JUnitReporter = exports.DefaultReporter = exports.CriticalError = exports.CiError = void 0;
30
+ const run_tests_lib_1 = require("./run-tests-lib");
31
+ var errors_1 = require("./errors");
32
+ Object.defineProperty(exports, "CiError", { enumerable: true, get: function () { return errors_1.CiError; } });
33
+ Object.defineProperty(exports, "CriticalError", { enumerable: true, get: function () { return errors_1.CriticalError; } });
34
+ __exportStar(require("./interfaces"), exports);
35
+ var default_1 = require("./reporters/default");
36
+ Object.defineProperty(exports, "DefaultReporter", { enumerable: true, get: function () { return default_1.DefaultReporter; } });
37
+ var junit_1 = require("./reporters/junit");
38
+ Object.defineProperty(exports, "JUnitReporter", { enumerable: true, get: function () { return junit_1.JUnitReporter; } });
39
+ var run_tests_lib_2 = require("./run-tests-lib");
40
+ Object.defineProperty(exports, "executeTests", { enumerable: true, get: function () { return run_tests_lib_2.executeTests; } });
41
+ Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return run_tests_lib_2.execute; } });
42
+ exports.utils = __importStar(require("./utils/public"));
43
+ exports.DEFAULT_COMMAND_CONFIG = (0, run_tests_lib_1.getDefaultConfig)();
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgD;AAEhD,mCAA+C;AAAvC,iGAAA,OAAO,OAAA;AAAE,uGAAA,aAAa,OAAA;AAC9B,+CAA4B;AAC5B,+CAAmD;AAA3C,0GAAA,eAAe,OAAA;AACvB,2CAA+C;AAAvC,sGAAA,aAAa,OAAA;AACrB,iDAAqD;AAA7C,6GAAA,YAAY,OAAA;AAAE,wGAAA,OAAO,OAAA;AAC7B,wDAAuC;AAE1B,QAAA,sBAAsB,GAAG,IAAA,gCAAgB,GAAE,CAAA"}