@zohodesk/testinglibrary 0.1.9 → 0.1.16-experimental
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/.babelrc +4 -2
- package/.claude/settings.local.json +14 -0
- package/.gitlab-ci.yml +206 -0
- package/README.md +264 -1
- package/build/common/data-generator/steps/DataGenerator.spec.js +19 -0
- package/build/common/data-generator/steps/DataGeneratorStepsHelper.js +21 -0
- package/build/common/multi-actor/steps/multiActorHandling.spec.js +26 -0
- package/build/common/searchFake/helpers/rpcRequestHelper.js +52 -0
- package/build/common/searchFake/steps/searchFake.spec.js +85 -0
- package/build/core/dataGenerator/DataGenerator.js +161 -0
- package/build/core/dataGenerator/DataGeneratorError.js +60 -0
- package/build/core/dataGenerator/DataGeneratorHelper.js +121 -0
- package/build/core/dataGenerator/authenticator/Authenticator.js +37 -0
- package/build/core/dataGenerator/authenticator/CookieAuthenticator.js +48 -0
- package/build/core/dataGenerator/authenticator/JWTauthenticator.js +59 -0
- package/build/core/dataGenerator/authenticator/OAuthAuthenticator.js +26 -0
- package/build/core/dataGenerator/authenticator/OrgOAuthAuthenticator.js +26 -0
- package/build/core/dataGenerator/authenticator/cookieAuthConfig.js +11 -0
- package/build/core/jest/preprocessor/jsPreprocessor.js +2 -7
- package/build/core/jest/setup/index.js +1 -7
- package/build/core/playwright/builtInFixtures/actorContext.js +78 -0
- package/build/core/playwright/builtInFixtures/caseTimeout.js +20 -0
- package/build/core/playwright/builtInFixtures/context.js +34 -16
- package/build/core/playwright/builtInFixtures/executionContext.js +17 -0
- package/build/core/playwright/builtInFixtures/i18N.js +8 -0
- package/build/core/playwright/builtInFixtures/index.js +7 -1
- package/build/core/playwright/builtInFixtures/page.js +22 -66
- package/build/core/playwright/clear-caches.js +17 -5
- package/build/core/playwright/codegen.js +4 -21
- package/build/core/playwright/configuration/Configuration.js +25 -0
- package/build/core/playwright/configuration/ConfigurationHelper.js +45 -0
- package/build/core/playwright/configuration/UserArgs.js +12 -0
- package/build/core/playwright/constants/configConstants.js +17 -0
- package/build/core/playwright/constants/failureTagConstants.js +17 -0
- package/build/core/playwright/constants/fileMutexConfig.js +9 -0
- package/build/core/playwright/constants/reporterConstants.js +20 -0
- package/build/core/playwright/constants/retryConstants.js +8 -0
- package/build/core/playwright/custom-commands.js +1 -1
- package/build/core/playwright/env-initializer.js +28 -9
- package/build/core/playwright/fixtures.js +24 -0
- package/build/core/playwright/helpers/additionalProfiles.js +25 -0
- package/build/core/playwright/helpers/auth/accountLogin.js +4 -1
- package/build/core/playwright/helpers/auth/checkAuthCookies.js +27 -23
- package/build/core/playwright/helpers/auth/getUsers.js +92 -45
- package/build/core/playwright/helpers/auth/index.js +30 -5
- package/build/core/playwright/helpers/auth/loginDefaultStepsHelper.js +62 -0
- package/build/core/playwright/helpers/auth/loginSteps.js +40 -22
- package/build/core/playwright/helpers/browserTimeoutFactor.js +16 -0
- package/build/core/playwright/helpers/caseTimeoutResolver.js +37 -0
- package/build/core/playwright/helpers/checkAuthDirectory.js +27 -0
- package/build/core/playwright/helpers/configFileNameProvider.js +26 -5
- package/build/core/playwright/helpers/configPathResolver.js +38 -0
- package/build/core/playwright/helpers/contextFailureHandler.js +81 -0
- package/build/core/playwright/helpers/customFixturesHelper.js +58 -0
- package/build/core/playwright/helpers/failureTagClassifier.js +197 -0
- package/build/core/playwright/helpers/fileMutex.js +71 -0
- package/build/core/playwright/helpers/logCollector.js +147 -0
- package/build/core/playwright/helpers/parseUserArgs.js +2 -3
- package/build/core/playwright/helpers/runtimeLogAnnotator.js +140 -0
- package/build/core/playwright/helpers/runtimeLogPath.js +61 -0
- package/build/core/playwright/helpers/runtimeLogReader.js +54 -0
- package/build/core/playwright/helpers/thirdPartyLib.js +13 -0
- package/build/core/playwright/index.js +8 -76
- package/build/core/playwright/patterns/casePatterns.js +9 -0
- package/build/core/playwright/patterns/codePatterns.js +9 -0
- package/build/core/playwright/patterns/environmentPatterns.js +15 -0
- package/build/core/playwright/patterns/index.js +33 -0
- package/build/core/playwright/patterns/logCollectorIgnorePatterns.js +15 -0
- package/build/core/playwright/patterns/toolPatterns.js +26 -0
- package/build/core/playwright/readConfigFile.js +49 -16
- package/build/core/playwright/reporter/PlaywrightReporter.js +58 -0
- package/build/core/playwright/reporter/Reporter.js +60 -0
- package/build/core/playwright/reporter/ShardReporter.js +62 -0
- package/build/core/playwright/reporter/UnitReporter.js +27 -0
- package/build/core/playwright/reporter/helpers/mergeAbortedTests.js +78 -0
- package/build/core/playwright/runCommand.js +71 -0
- package/build/core/playwright/runner/Runner.js +22 -0
- package/build/core/playwright/runner/RunnerHelper.js +43 -0
- package/build/core/playwright/runner/RunnerTypes.js +17 -0
- package/build/core/playwright/runner/SpawnRunner.js +93 -0
- package/build/core/playwright/setup/Project.js +35 -0
- package/build/core/playwright/setup/ProjectConfiguration.js +66 -0
- package/build/core/playwright/setup/config-creator.js +58 -40
- package/build/core/playwright/setup/config-utils.js +68 -37
- package/build/core/playwright/setup/custom-reporter.js +137 -14
- package/build/core/playwright/setup/merge-config.js +32 -0
- package/build/core/playwright/setup/qc-custom-reporter.js +342 -0
- package/build/core/playwright/tagProcessor.js +69 -0
- package/build/core/playwright/test-runner.js +44 -98
- package/build/core/playwright/types.js +4 -1
- package/build/core/playwright/validateFeature.js +28 -0
- package/build/decorators.d.ts +1 -1
- package/build/decorators.js +1 -1
- package/build/index.d.ts +17 -19
- package/build/index.js +28 -6
- package/build/lib/cli.js +42 -7
- package/build/setup-folder-structure/helper.js +2 -0
- package/build/setup-folder-structure/samples/accountLogin-sample.js +19 -0
- package/build/setup-folder-structure/samples/actors-index.js +2 -0
- package/build/setup-folder-structure/samples/auth-setup-sample.js +10 -67
- package/build/setup-folder-structure/samples/editions-index.js +3 -0
- package/build/setup-folder-structure/samples/free-sample.json +25 -0
- package/build/setup-folder-structure/samples/settings.json +7 -0
- package/build/setup-folder-structure/samples/testSetup-sample.js +14 -0
- package/build/setup-folder-structure/samples/uat-config-sample.js +7 -2
- package/build/setup-folder-structure/setupProject.js +23 -5
- package/build/test/core/dataGenerator/__tests__/DataGenerator.test.js +311 -0
- package/build/test/core/dataGenerator/__tests__/DataGeneratorHelper.test.js +204 -0
- package/build/test/core/dataGenerator/__tests__/DataGeneratorResolution.test.js +126 -0
- package/build/test/core/dataGenerator/authenticator/__tests__/Authenticator.test.js +88 -0
- package/build/test/core/dataGenerator/authenticator/__tests__/JWTauthenticator.test.js +136 -0
- package/build/test/core/dataGenerator/authenticator/__tests__/OAuthAuthenticator.test.js +39 -0
- package/build/test/core/dataGenerator/authenticator/__tests__/OrgOAuthAuthenticator.test.js +39 -0
- package/build/test/core/playwright/__tests__/runCommand.test.js +148 -0
- package/build/test/core/playwright/__tests__/tagProcessor.test.js +94 -0
- package/build/test/core/playwright/__tests__/validateFeature.test.js +72 -0
- package/build/test/core/playwright/buildInFixtures/__tests__/caseTimeout.test.js +96 -0
- package/build/test/core/playwright/buildInFixtures/__tests__/executionContext.test.js +27 -0
- package/build/test/core/playwright/configuration/__tests__/Configuration.test.js +53 -0
- package/build/test/core/playwright/helpers/__tests__/additionalProfiles.test.js +45 -0
- package/build/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js +75 -0
- package/build/test/core/playwright/helpers/__tests__/configPathResolver.test.js +55 -0
- package/build/test/core/playwright/helpers/__tests__/customFixturesHelper.test.js +51 -0
- package/build/test/core/playwright/helpers/__tests__/failureTagClassifier.test.js +604 -0
- package/build/test/core/playwright/helpers/__tests__/fileMutex.test.js +79 -0
- package/build/test/core/playwright/helpers/__tests__/getUsers_ListOfActors.test.js +83 -0
- package/build/test/core/playwright/helpers/__tests__/logCollector.test.js +163 -0
- package/build/test/core/playwright/helpers/__tests__/runtimeLogReader.test.js +112 -0
- package/build/test/core/playwright/helpers/auth/__tests__/checkAuthCookies.test.js +120 -0
- package/build/test/core/playwright/runner/__tests__/RunnerHelper.test.js +19 -0
- package/build/test/core/playwright/runner/__tests__/SpawnRunner.test.js +30 -0
- package/build/utils/cliArgsToObject.js +3 -0
- package/build/utils/commonUtils.js +20 -0
- package/build/utils/fileUtils.js +43 -1
- package/build/utils/logger.js +1 -30
- package/changelog.md +23 -0
- package/docs/CODE-REVIEW-AGENT.md +399 -0
- package/docs/code-review-instructions.md +157 -0
- package/jest.config.js +29 -11
- package/npm-shrinkwrap.json +13478 -4778
- package/package.json +39 -28
- package/playwright.config.js +13 -57
- package/unit_reports/unit-report.html +277 -0
- package/build/bdd-framework/cli/commands/env.js +0 -42
- package/build/bdd-framework/cli/commands/export.js +0 -47
- package/build/bdd-framework/cli/commands/test.js +0 -64
- package/build/bdd-framework/cli/index.js +0 -11
- package/build/bdd-framework/cli/options.js +0 -19
- package/build/bdd-framework/cli/worker.js +0 -13
- package/build/bdd-framework/config/configDir.js +0 -35
- package/build/bdd-framework/config/enrichReporterData.js +0 -23
- package/build/bdd-framework/config/env.js +0 -50
- package/build/bdd-framework/config/index.js +0 -94
- package/build/bdd-framework/config/lang.js +0 -14
- package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
- package/build/bdd-framework/cucumber/createTestStep.js +0 -43
- package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
- package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
- package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
- package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
- package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
- package/build/bdd-framework/cucumber/formatter/index.js +0 -16
- package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
- package/build/bdd-framework/cucumber/loadConfig.js +0 -17
- package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
- package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
- package/build/bdd-framework/cucumber/loadSteps.js +0 -47
- package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
- package/build/bdd-framework/cucumber/stepArguments.js +0 -21
- package/build/bdd-framework/cucumber/types.js +0 -5
- package/build/bdd-framework/cucumber/valueChecker.js +0 -23
- package/build/bdd-framework/decorators.js +0 -18
- package/build/bdd-framework/gen/fixtures.js +0 -48
- package/build/bdd-framework/gen/formatter.js +0 -123
- package/build/bdd-framework/gen/i18n.js +0 -39
- package/build/bdd-framework/gen/index.js +0 -185
- package/build/bdd-framework/gen/testFile.js +0 -465
- package/build/bdd-framework/gen/testMeta.js +0 -60
- package/build/bdd-framework/gen/testNode.js +0 -60
- package/build/bdd-framework/gen/testPoms.js +0 -133
- package/build/bdd-framework/hooks/scenario.js +0 -130
- package/build/bdd-framework/hooks/worker.js +0 -89
- package/build/bdd-framework/index.js +0 -52
- package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
- package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
- package/build/bdd-framework/playwright/loadConfig.js +0 -42
- package/build/bdd-framework/playwright/loadUtils.js +0 -33
- package/build/bdd-framework/playwright/testTypeImpl.js +0 -61
- package/build/bdd-framework/playwright/transform.js +0 -88
- package/build/bdd-framework/playwright/types.js +0 -5
- package/build/bdd-framework/playwright/utils.js +0 -34
- package/build/bdd-framework/reporter/cucumber/base.js +0 -57
- package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
- package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
- package/build/bdd-framework/reporter/cucumber/html.js +0 -35
- package/build/bdd-framework/reporter/cucumber/index.js +0 -74
- package/build/bdd-framework/reporter/cucumber/json.js +0 -312
- package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
- package/build/bdd-framework/reporter/cucumber/message.js +0 -20
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -64
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -196
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -126
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -102
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -50
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -88
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwUtils.js +0 -51
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
- package/build/bdd-framework/run/StepInvoker.js +0 -68
- package/build/bdd-framework/run/bddDataAttachment.js +0 -46
- package/build/bdd-framework/run/bddFixtures.js +0 -191
- package/build/bdd-framework/run/bddWorld.js +0 -79
- package/build/bdd-framework/run/bddWorldInternal.js +0 -15
- package/build/bdd-framework/snippets/index.js +0 -132
- package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
- package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
- package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
- package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
- package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
- package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
- package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
- package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
- package/build/bdd-framework/utils/AutofillMap.js +0 -20
- package/build/bdd-framework/utils/exit.js +0 -62
- package/build/bdd-framework/utils/index.js +0 -93
- package/build/bdd-framework/utils/jsStringWrap.js +0 -44
- package/build/bdd-framework/utils/logger.js +0 -30
- package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
- package/build/core/playwright/report-generator.js +0 -42
- package/build/core/playwright/tag-processor.js +0 -68
- package/build/setup-folder-structure/samples/authUsers-sample.json +0 -9
- package/build/setup-folder-structure/samples/env-config-sample.json +0 -21
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _logger = require("../../../utils/logger");
|
|
8
|
+
var _additionalProfiles = require("../helpers/additionalProfiles");
|
|
9
|
+
var _loginDefaultStepsHelper = require("../helpers/auth/loginDefaultStepsHelper");
|
|
10
|
+
class ActorContext {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.actorsObj = {};
|
|
13
|
+
}
|
|
14
|
+
async setup(browser, $tags, testInfo, context, page, executionContext) {
|
|
15
|
+
try {
|
|
16
|
+
const {
|
|
17
|
+
profile
|
|
18
|
+
} = executionContext.actorInfo;
|
|
19
|
+
this.actorsObj[profile] = {
|
|
20
|
+
role: profile,
|
|
21
|
+
browser,
|
|
22
|
+
context,
|
|
23
|
+
page,
|
|
24
|
+
executionContext
|
|
25
|
+
};
|
|
26
|
+
const additionalActors = (0, _additionalProfiles.additionProfiles)($tags);
|
|
27
|
+
await Promise.all(Object.entries(additionalActors).map(async ([role, actorInfo]) => {
|
|
28
|
+
const additionalContext = await browser.newContext();
|
|
29
|
+
const additionalPage = await additionalContext.newPage();
|
|
30
|
+
const ctxTestDetails = {
|
|
31
|
+
page: additionalPage,
|
|
32
|
+
$tags,
|
|
33
|
+
context: additionalContext,
|
|
34
|
+
...actorInfo
|
|
35
|
+
};
|
|
36
|
+
await (0, _loginDefaultStepsHelper.executeDefaultLoginSteps)(additionalContext, testInfo, ctxTestDetails, actorInfo);
|
|
37
|
+
this.actorsObj[role] = {
|
|
38
|
+
role,
|
|
39
|
+
browser,
|
|
40
|
+
context: additionalContext,
|
|
41
|
+
page: additionalPage,
|
|
42
|
+
executionContext: {
|
|
43
|
+
actorInfo
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}));
|
|
47
|
+
} catch (error) {
|
|
48
|
+
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Failed to setup additional actors:`, error);
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async cleanup() {
|
|
53
|
+
for (const actor of Object.values(this.actorsObj)) {
|
|
54
|
+
try {
|
|
55
|
+
await actor.context.close();
|
|
56
|
+
} catch (error) {
|
|
57
|
+
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Failed to close context for actor ${actor.role}:`, error);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
var _default = exports.default = {
|
|
63
|
+
actorContext: async ({
|
|
64
|
+
page,
|
|
65
|
+
context,
|
|
66
|
+
executionContext,
|
|
67
|
+
$tags,
|
|
68
|
+
browser
|
|
69
|
+
}, use, testInfo) => {
|
|
70
|
+
const ctxObject = new ActorContext();
|
|
71
|
+
await ctxObject.setup(browser, $tags, testInfo, context, page, executionContext);
|
|
72
|
+
try {
|
|
73
|
+
await use(ctxObject);
|
|
74
|
+
} finally {
|
|
75
|
+
await ctxObject.cleanup();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _caseTimeoutResolver = require("../helpers/caseTimeoutResolver");
|
|
8
|
+
var _default = exports.default = {
|
|
9
|
+
caseTimeout: [async ({
|
|
10
|
+
$tags
|
|
11
|
+
}, use, testInfo) => {
|
|
12
|
+
const timeoutMs = (0, _caseTimeoutResolver.resolveCaseTimeoutMs)($tags, testInfo.project.name);
|
|
13
|
+
if (timeoutMs !== null) {
|
|
14
|
+
testInfo.setTimeout(timeoutMs);
|
|
15
|
+
}
|
|
16
|
+
await use();
|
|
17
|
+
}, {
|
|
18
|
+
auto: true
|
|
19
|
+
}]
|
|
20
|
+
};
|
|
@@ -1,32 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.default = void 0;
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
7
9
|
var _readConfigFile = require("../readConfigFile");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
11
|
-
async function performDefaultContextSteps({
|
|
12
|
-
context
|
|
13
|
-
}) {
|
|
14
|
-
if (testSetup.context && typeof testSetup.context === 'function') {
|
|
15
|
-
await testSetup.context({
|
|
16
|
-
context
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
10
|
+
var _logCollector = require("../helpers/logCollector");
|
|
11
|
+
var _contextFailureHandler = require("../helpers/contextFailureHandler");
|
|
20
12
|
var _default = exports.default = {
|
|
21
13
|
context: async ({
|
|
22
14
|
context
|
|
23
|
-
}, use) => {
|
|
15
|
+
}, use, testInfo) => {
|
|
16
|
+
const {
|
|
17
|
+
testSetup = {},
|
|
18
|
+
reportPath,
|
|
19
|
+
failureSegregation = true
|
|
20
|
+
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
24
21
|
await context.addInitScript(() =>
|
|
25
22
|
// eslint-disable-next-line no-undef
|
|
26
23
|
window.localStorage.setItem('isDnBannerHide', true));
|
|
27
|
-
await performDefaultContextSteps({
|
|
28
|
-
context
|
|
24
|
+
await (0, _contextFailureHandler.performDefaultContextSteps)({
|
|
25
|
+
context,
|
|
26
|
+
testSetup
|
|
29
27
|
});
|
|
30
|
-
|
|
28
|
+
|
|
29
|
+
// Master switch: when off, skip collect, disk flush, and failure metadata.
|
|
30
|
+
if (!failureSegregation) {
|
|
31
|
+
await use(context);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Store runtime logs inside playwright-report so they ship with the report.
|
|
36
|
+
const logsDir = _path.default.join(reportPath, 'runtime-logs');
|
|
37
|
+
const collector = new _logCollector.LogCollector();
|
|
38
|
+
collector.attachToContext(context);
|
|
39
|
+
try {
|
|
40
|
+
await use(context);
|
|
41
|
+
} finally {
|
|
42
|
+
collector.detach();
|
|
43
|
+
await (0, _contextFailureHandler.handleContextFailureSegregation)({
|
|
44
|
+
collector,
|
|
45
|
+
testInfo,
|
|
46
|
+
logsDir
|
|
47
|
+
});
|
|
48
|
+
}
|
|
31
49
|
}
|
|
32
50
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _customFixturesHelper = require("../helpers/customFixturesHelper");
|
|
8
|
+
var _default = exports.default = {
|
|
9
|
+
executionContext: async ({
|
|
10
|
+
$tags
|
|
11
|
+
}, use) => {
|
|
12
|
+
const actorInfo = (0, _customFixturesHelper.getCustomAccountDetails)($tags);
|
|
13
|
+
await use({
|
|
14
|
+
actorInfo
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
};
|
|
@@ -20,11 +20,19 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
20
20
|
}
|
|
21
21
|
return i18nStr;
|
|
22
22
|
}
|
|
23
|
+
async function isI18NKeyDefined(key) {
|
|
24
|
+
return new Promise(resolve => {
|
|
25
|
+
if (typeof window.i18n[key] !== 'undefined') {
|
|
26
|
+
resolve();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
23
30
|
var _default = exports.default = {
|
|
24
31
|
i18N: async ({
|
|
25
32
|
page
|
|
26
33
|
}, use) => {
|
|
27
34
|
await use(async (key, values) => {
|
|
35
|
+
await page.waitForFunction(isI18NKeyDefined(key));
|
|
28
36
|
const i18nValue = await page.evaluate(i18nKey => window.i18n[i18nKey], key);
|
|
29
37
|
const i18nStr = replaceI18NValuesWithRegex(i18nValue, values);
|
|
30
38
|
return i18nStr;
|
|
@@ -9,18 +9,24 @@ var _page = _interopRequireDefault(require("./page"));
|
|
|
9
9
|
var _context = _interopRequireDefault(require("./context"));
|
|
10
10
|
var _cacheLayer = _interopRequireDefault(require("./cacheLayer"));
|
|
11
11
|
var _addTags = _interopRequireDefault(require("./addTags"));
|
|
12
|
+
var _caseTimeout = _interopRequireDefault(require("./caseTimeout"));
|
|
12
13
|
var _i18N = _interopRequireDefault(require("./i18N"));
|
|
13
14
|
var _unauthenticatedPage = _interopRequireDefault(require("./unauthenticatedPage"));
|
|
15
|
+
var _executionContext = _interopRequireDefault(require("./executionContext"));
|
|
16
|
+
var _actorContext = _interopRequireDefault(require("./actorContext"));
|
|
14
17
|
function extractTagsFromTitle(text) {
|
|
15
18
|
return text.match(/@\w+/g) || [];
|
|
16
19
|
}
|
|
17
20
|
function getBuiltInFixtures(bddMode) {
|
|
18
21
|
let builtInFixtures = {
|
|
19
22
|
..._page.default,
|
|
23
|
+
..._actorContext.default,
|
|
20
24
|
..._context.default,
|
|
21
25
|
..._cacheLayer.default,
|
|
22
26
|
..._i18N.default,
|
|
23
|
-
..._unauthenticatedPage.default
|
|
27
|
+
..._unauthenticatedPage.default,
|
|
28
|
+
..._executionContext.default,
|
|
29
|
+
..._caseTimeout.default
|
|
24
30
|
};
|
|
25
31
|
if (bddMode) {
|
|
26
32
|
builtInFixtures = {
|
|
@@ -1,81 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = void 0;
|
|
8
|
-
var
|
|
9
|
-
var _loginSteps = _interopRequireDefault(require("../helpers/auth/loginSteps"));
|
|
10
|
-
var _readConfigFile = require("../readConfigFile");
|
|
7
|
+
var _loginDefaultStepsHelper = require("../helpers/auth/loginDefaultStepsHelper");
|
|
11
8
|
/* eslint-disable global-require */
|
|
12
|
-
|
|
13
|
-
function getTagInputFromSelectedTags(tags, inputString) {
|
|
14
|
-
const selectedTag = tags.find(tag => tag.startsWith(inputString));
|
|
15
|
-
let tagInput = null;
|
|
16
|
-
if (selectedTag) {
|
|
17
|
-
tagInput = selectedTag.split(`${inputString}_`).pop().toLowerCase();
|
|
18
|
-
}
|
|
19
|
-
return tagInput;
|
|
20
|
-
}
|
|
21
|
-
function getCustomAccountDetails(tags) {
|
|
22
|
-
const filteredTags = tags.filter(tag => tag.startsWith('@profile') || tag.startsWith('@edition') || tag.startsWith('@profile') || tag.startsWith('@darkLaunch'));
|
|
23
|
-
if (filteredTags && filteredTags.length > 0) {
|
|
24
|
-
const selectedProfile = getTagInputFromSelectedTags(filteredTags, '@profile');
|
|
25
|
-
const selectedEdition = getTagInputFromSelectedTags(filteredTags, '@edition');
|
|
26
|
-
const darkLaunchFeature = getTagInputFromSelectedTags(filteredTags, '@darkLaunch');
|
|
27
|
-
const user = (0, _getUsers.getUserForSelectedEditionAndProfile)(selectedEdition, selectedProfile, darkLaunchFeature);
|
|
28
|
-
return user;
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const {
|
|
33
|
-
testSetup
|
|
34
|
-
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
35
|
-
async function performDefaultPageSteps({
|
|
36
|
-
context,
|
|
37
|
-
$tags,
|
|
38
|
-
page
|
|
39
|
-
}) {
|
|
40
|
-
if (testSetup.page && typeof testSetup.page === 'function') {
|
|
41
|
-
await testSetup.page({
|
|
42
|
-
context,
|
|
43
|
-
$tags,
|
|
44
|
-
page
|
|
45
|
-
});
|
|
46
|
-
} else {
|
|
47
|
-
await page.goto(process.env.domain);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
9
|
var _default = exports.default = {
|
|
51
10
|
page: async ({
|
|
52
11
|
context,
|
|
53
12
|
$tags,
|
|
54
|
-
page
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
page
|
|
76
|
-
});
|
|
13
|
+
page,
|
|
14
|
+
executionContext
|
|
15
|
+
}, use, testInfo) => {
|
|
16
|
+
let testPortalDetails = executionContext.actorInfo;
|
|
17
|
+
let testDetails = {
|
|
18
|
+
page,
|
|
19
|
+
$tags,
|
|
20
|
+
context,
|
|
21
|
+
...testPortalDetails
|
|
22
|
+
};
|
|
23
|
+
try {
|
|
24
|
+
//This block is used to skip the login process if the @unauthenticated tag is added to the script
|
|
25
|
+
if ($tags.includes('@unauthenticated')) {
|
|
26
|
+
await context.clearCookies();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
await (0, _loginDefaultStepsHelper.executeDefaultLoginSteps)(context, testInfo, testDetails, testPortalDetails);
|
|
30
|
+
} catch (e) {
|
|
31
|
+
console.error('Error during page', e);
|
|
32
|
+
} finally {
|
|
33
|
+
await (0, _loginDefaultStepsHelper.performDefaultPageSteps)(testDetails);
|
|
77
34
|
await use(page);
|
|
78
|
-
await context.close();
|
|
79
35
|
}
|
|
80
36
|
}
|
|
81
37
|
};
|
|
@@ -9,20 +9,30 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
9
9
|
var _fileUtils = require("../../utils/fileUtils");
|
|
10
10
|
var _logger = require("../../utils/logger");
|
|
11
11
|
var _readConfigFile = require("./readConfigFile");
|
|
12
|
+
var _checkAuthDirectory = require("./helpers/checkAuthDirectory");
|
|
13
|
+
var _configConstants = _interopRequireDefault(require("./constants/configConstants"));
|
|
14
|
+
var _ConfigurationHelper = require("./configuration/ConfigurationHelper");
|
|
15
|
+
const stage = (0, _ConfigurationHelper.getRunStage)();
|
|
12
16
|
function deleteAuthFiles(authFilePath) {
|
|
13
|
-
authFilePath.
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
authFilePath = _path.default.resolve(process.cwd(), authFilePath);
|
|
18
|
+
const authFileFolder = _path.default.dirname(authFilePath);
|
|
19
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting auth files present in ${authFileFolder}`);
|
|
20
|
+
(0, _fileUtils.deleteFolder)(authFileFolder);
|
|
16
21
|
}
|
|
17
22
|
function deletePlaywrightReport(reportPath) {
|
|
18
23
|
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting Playwright report ${reportPath}`);
|
|
19
24
|
(0, _fileUtils.deleteFolder)(reportPath);
|
|
20
25
|
}
|
|
21
26
|
function deleteGeneratedFeatures() {
|
|
22
|
-
const featuresGenPath = _path.default.resolve(process.cwd(),
|
|
27
|
+
const featuresGenPath = _path.default.resolve(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, _configConstants.default.FEATURES_GEN_DIR);
|
|
23
28
|
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting generated features at ${featuresGenPath}`);
|
|
24
29
|
(0, _fileUtils.deleteFolder)(featuresGenPath);
|
|
25
30
|
}
|
|
31
|
+
function deleteLockFiles() {
|
|
32
|
+
const lockFilePath = (0, _checkAuthDirectory.getLockDirectoryPath)();
|
|
33
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting lock files at ${lockFilePath}`);
|
|
34
|
+
(0, _fileUtils.deleteFolder)(lockFilePath);
|
|
35
|
+
}
|
|
26
36
|
function clearCaches() {
|
|
27
37
|
try {
|
|
28
38
|
const {
|
|
@@ -32,9 +42,11 @@ function clearCaches() {
|
|
|
32
42
|
deleteAuthFiles(authFilePath);
|
|
33
43
|
deletePlaywrightReport(reportPath);
|
|
34
44
|
deleteGeneratedFeatures();
|
|
45
|
+
deleteLockFiles();
|
|
35
46
|
_logger.Logger.log(_logger.Logger.SUCCESS_TYPE, 'Caches Cleared. Now you can try running npm run uat');
|
|
36
47
|
} catch (err) {
|
|
37
|
-
_logger.Logger.
|
|
48
|
+
_logger.Logger.error(err);
|
|
49
|
+
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Error While clearing cookies. Try manually delete folder ${_configConstants.default.TEST_SLICE_FOLDER}/playwright and ${_configConstants.default.TEST_SLICE_FOLDER}/playwright-report`);
|
|
38
50
|
}
|
|
39
51
|
}
|
|
40
52
|
var _default = exports.default = clearCaches;
|
|
@@ -5,34 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = generateCodegen;
|
|
8
|
-
var _child_process = require("child_process");
|
|
9
8
|
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
var _logger = require("../../utils/logger");
|
|
11
9
|
var _rootPath = require("../../utils/rootPath");
|
|
10
|
+
var _runCommand = require("./runCommand");
|
|
12
11
|
function generateCodegen() {
|
|
13
12
|
const domainUrl = process.argv.slice(3);
|
|
14
13
|
const playwrightPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('playwright'));
|
|
15
14
|
const command = playwrightPath;
|
|
16
15
|
const args = ['codegen'].concat(domainUrl);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
childProcess.on('error', error => {
|
|
21
|
-
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, error);
|
|
22
|
-
});
|
|
23
|
-
childProcess.on('exit', (code, signal) => {
|
|
24
|
-
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Child Process Exited with Code ${code} and Signal ${signal}`);
|
|
25
|
-
process.exit();
|
|
26
|
-
});
|
|
27
|
-
process.on('exit', () => {
|
|
28
|
-
_logger.Logger.log(_logger.Logger.INFO_TYPE, 'Terminating Playwright Process...');
|
|
29
|
-
//childProcess.kill();
|
|
30
|
-
return;
|
|
31
|
-
});
|
|
32
|
-
process.on('SIGINT', () => {
|
|
33
|
-
_logger.Logger.log(_logger.Logger.INFO_TYPE, 'Cleaning up...');
|
|
34
|
-
//childProcess.kill();
|
|
35
|
-
process.exit();
|
|
16
|
+
(0, _runCommand.runCommand)(command, args, {
|
|
17
|
+
exitOnSuccess: true,
|
|
18
|
+
killOnParentExit: true
|
|
36
19
|
});
|
|
37
20
|
}
|
|
38
21
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _ConfigurationHelper = require("./ConfigurationHelper");
|
|
4
|
+
class Configuration {
|
|
5
|
+
properties = {};
|
|
6
|
+
constructor(props) {
|
|
7
|
+
this.properties = props;
|
|
8
|
+
}
|
|
9
|
+
add(key, value) {
|
|
10
|
+
this.properties[key] = value;
|
|
11
|
+
}
|
|
12
|
+
addAll(newConfig) {
|
|
13
|
+
this.properties = (0, _ConfigurationHelper.combineConfiguration)(this.properties, newConfig.getAll());
|
|
14
|
+
}
|
|
15
|
+
get(key) {
|
|
16
|
+
return this.properties[key];
|
|
17
|
+
}
|
|
18
|
+
getAll() {
|
|
19
|
+
return this.properties;
|
|
20
|
+
}
|
|
21
|
+
delete(key) {
|
|
22
|
+
delete this.properties[key];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
module.exports = Configuration;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.combineConfiguration = combineConfiguration;
|
|
7
|
+
exports.getApplicationConfig = getApplicationConfig;
|
|
8
|
+
exports.getRunStage = getRunStage;
|
|
9
|
+
var _logger = require("../../../utils/logger");
|
|
10
|
+
var _configFileNameProvider = require("../helpers/configFileNameProvider");
|
|
11
|
+
var _mergeObjects = require("../helpers/mergeObjects");
|
|
12
|
+
var _fs = require("fs");
|
|
13
|
+
function combineConfiguration(defaultConfig, userConfiguration) {
|
|
14
|
+
let configurationObj = {};
|
|
15
|
+
Object.keys(userConfiguration).forEach(configKey => {
|
|
16
|
+
let configValue = userConfiguration[configKey];
|
|
17
|
+
if (configValue !== null && configValue !== undefined) {
|
|
18
|
+
configurationObj[configKey] = configValue;
|
|
19
|
+
} else if (defaultConfig[configKey]) {
|
|
20
|
+
configurationObj[configKey] = defaultConfig[configKey];
|
|
21
|
+
} else {
|
|
22
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `key - ${configKey} is not yet supported in uat configuration. This will not be used while creating playwright configuration`);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return (0, _mergeObjects.mergeObjects)(defaultConfig, configurationObj);
|
|
26
|
+
}
|
|
27
|
+
function getApplicationConfig(stage, mode) {
|
|
28
|
+
let filePath = "";
|
|
29
|
+
try {
|
|
30
|
+
filePath = (0, _configFileNameProvider.getUATFileName)(stage, mode);
|
|
31
|
+
if (!(0, _fs.existsSync)(filePath)) {
|
|
32
|
+
throw new Error("Exception while getting the uat file from the application - " + filePath);
|
|
33
|
+
}
|
|
34
|
+
const config = require(filePath);
|
|
35
|
+
return config;
|
|
36
|
+
} catch (err) {
|
|
37
|
+
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Founded Path - ${filePath} Application config file not Exist ...`);
|
|
38
|
+
_logger.Logger.error(err);
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function getRunStage() {
|
|
43
|
+
const stage = process.env.stage;
|
|
44
|
+
return stage || 'uat';
|
|
45
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _cliArgsToObject = require("../../../utils/cliArgsToObject");
|
|
4
|
+
class UserArgs {
|
|
5
|
+
static parseToObject(config) {
|
|
6
|
+
return (0, _cliArgsToObject.cliArgsToObject)(config);
|
|
7
|
+
}
|
|
8
|
+
static parseToArgs(object) {
|
|
9
|
+
return (0, _cliArgsToObject.objectToCliArgs)(object);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
module.exports = UserArgs;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
class configConstants {
|
|
4
|
+
static DEFAULT_CONFIG_DIR = 'default';
|
|
5
|
+
static BETA_DIR = 'beta';
|
|
6
|
+
static ACTOR_DIR = 'actors';
|
|
7
|
+
static UAT_CONFIG_FILE = 'uat.config.js';
|
|
8
|
+
static INDEX_FILE = 'index.js';
|
|
9
|
+
static SETTINGS_FILE = 'settings.json';
|
|
10
|
+
static TEST_SUMMARY_FILE = 'test-summary.json';
|
|
11
|
+
static STAGE_CONFIG_MAP_FILE = 'test-slices/conf_path_map.properties';
|
|
12
|
+
static TEST_SLICE_FOLDER = 'test-slices';
|
|
13
|
+
// playwright-bdd output folder for generated .feature.spec.js files
|
|
14
|
+
static FEATURES_GEN_DIR = '.features-gen';
|
|
15
|
+
static FEATURES_SMOKE_GEN_DIR = '.features-smoke-gen';
|
|
16
|
+
}
|
|
17
|
+
module.exports = configConstants;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FAILURE_TAG_SUFFIX = exports.FAILURE_TAG_METADATA_ATTACHMENT = exports.FAILURE_TAGS = void 0;
|
|
7
|
+
const FAILURE_TAGS = exports.FAILURE_TAGS = {
|
|
8
|
+
CASE: 'CASE',
|
|
9
|
+
CODE: 'CODE',
|
|
10
|
+
ENVIRONMENT: 'ENVIRONMENT',
|
|
11
|
+
TOOL: 'TOOL'
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// Suffix appended to a category when merging into the existing spec.tags array,
|
|
15
|
+
// e.g. "CODE" -> "CODE_failure".
|
|
16
|
+
const FAILURE_TAG_SUFFIX = exports.FAILURE_TAG_SUFFIX = '_failure';
|
|
17
|
+
const FAILURE_TAG_METADATA_ATTACHMENT = exports.FAILURE_TAG_METADATA_ATTACHMENT = 'additional_logs';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _configConstants = _interopRequireDefault(require("./configConstants"));
|
|
9
|
+
var _ConfigurationHelper = require("../configuration/ConfigurationHelper");
|
|
10
|
+
const stage = (0, _ConfigurationHelper.getRunStage)();
|
|
11
|
+
class ReporterConstants {
|
|
12
|
+
static DEFAULT_REPORTER_PATH = `${_configConstants.default.TEST_SLICE_FOLDER}/${stage}/test-results/playwright-test-results.json`;
|
|
13
|
+
static LAST_RUN_REPORTER_PATH = `${_configConstants.default.TEST_SLICE_FOLDER}/${stage}/test-results/.last-run.json`;
|
|
14
|
+
static DEFAULT_UNIT_TEST_REPORTER_PATH = `${_configConstants.default.TEST_SLICE_FOLDER}/unit-test/unit_reports/report.html`;
|
|
15
|
+
static PROJECT_FAILURE_REASON_MAP = {
|
|
16
|
+
'setup': 'Login case failure',
|
|
17
|
+
'smokeTest': 'Smoke test failure'
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
exports.default = ReporterConstants;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PREPROCESSING_RETRY_MAX_ATTEMPTS = exports.PREPROCESSING_RETRY_DELAY_MS = void 0;
|
|
7
|
+
const PREPROCESSING_RETRY_MAX_ATTEMPTS = exports.PREPROCESSING_RETRY_MAX_ATTEMPTS = 1;
|
|
8
|
+
const PREPROCESSING_RETRY_DELAY_MS = exports.PREPROCESSING_RETRY_DELAY_MS = 2000;
|
|
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CUSTOM_COMMANDS = void 0;
|
|
7
|
-
const CUSTOM_COMMANDS = exports.CUSTOM_COMMANDS = ['mode', 'tags', 'edition', 'browsers', 'filePath'];
|
|
7
|
+
const CUSTOM_COMMANDS = exports.CUSTOM_COMMANDS = ['stage', 'mode', 'tags', 'edition', 'browsers', 'filePath', 'headless', 'modules', 'isTearDown'];
|
|
@@ -8,18 +8,37 @@ exports.initializeEnvConfig = initializeEnvConfig;
|
|
|
8
8
|
var _fs = require("fs");
|
|
9
9
|
var _path = _interopRequireDefault(require("path"));
|
|
10
10
|
var _configFileNameProvider = require("./helpers/configFileNameProvider");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
var _logger = require("../../utils/logger");
|
|
12
|
+
var _getUsers = require("./helpers/auth/getUsers");
|
|
13
|
+
function setEnvironmentVariables(configJSON) {
|
|
14
|
+
for (const key in configJSON) {
|
|
15
|
+
process.env[key] = configJSON[key];
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
|
-
function
|
|
18
|
+
function addHelperLogsForEnvInitialization() {
|
|
19
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Mode under which test cases should run has not been specified in args.`);
|
|
20
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Please specify --mode='dev/ci/cd/devautomation' while running ZDTestingFramework test`);
|
|
21
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Going to use default mode as dev`);
|
|
22
|
+
}
|
|
23
|
+
function initializeEnvConfig(stage, mode, isAuthMode) {
|
|
24
|
+
if (!mode) {
|
|
25
|
+
addHelperLogsForEnvInitialization();
|
|
26
|
+
mode = 'dev';
|
|
27
|
+
}
|
|
28
|
+
const configFilePath = (0, _fs.readFileSync)(_path.default.resolve(process.cwd(), `./${(0, _configFileNameProvider.getEnvConfigFilePath)(stage, mode)}`));
|
|
18
29
|
try {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
const configJSON = JSON.parse(configFilePath);
|
|
31
|
+
setEnvironmentVariables({
|
|
32
|
+
...configJSON,
|
|
33
|
+
stage,
|
|
34
|
+
mode
|
|
35
|
+
});
|
|
36
|
+
if (isAuthMode) {
|
|
37
|
+
const defaultActorConfiguration = (0, _getUsers.getDefaultActorConf)();
|
|
38
|
+
setEnvironmentVariables(defaultActorConfiguration);
|
|
39
|
+
}
|
|
22
40
|
} catch (err) {
|
|
23
|
-
|
|
41
|
+
_logger.Logger.error(err);
|
|
42
|
+
throw new Error(`Config File Not Exists. Please provide a ${configFilePath} to initialize the environment variables`);
|
|
24
43
|
}
|
|
25
44
|
}
|