Skip to content

Commit 06fd9ef

Browse files
committed
fetching username and access key from .env for triggering test only
1 parent 5eee59b commit 06fd9ef

File tree

2 files changed

+68
-19
lines changed

2 files changed

+68
-19
lines changed

commands/utils/constants.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ module.exports = {
1818
"&status=running,queued,created,initiated,pqueued,error,lambda error,failed,completed,queue_timeout,idle_timeout,stopped,cancelled,passed,timeout,inactive",
1919
BUILD_ERROR_STATES: "&status=error,lambda error,failed",
2020
CYPRESS_ENV_FILE_PATH: "cypress.env.json",
21+
LT_USERNAME_ENV: "LT_USERNAME",
22+
LT_ACCESS_KEY_ENV: "LT_ACCESS_KEY",
2123
ENVS: ["stage", "beta", "prod", "preprod", "stage_new"],
2224
prod: {
2325
INTEGRATION_BASE_URL: "https://api.lambdatest.com/liis",

commands/utils/set_args.js

Lines changed: 66 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,51 @@ function sync_args_from_cmd(args) {
1818
return new Promise(function (resolve, reject) {
1919
let rawdata = fs.readFileSync(args["lambdatest-config-file"]);
2020
let lt_config = JSON.parse(rawdata);
21+
let usernameFromEnvFile = undefined;
22+
let accessKeyFromEnvFile = undefined;
23+
let envFile,parsedEnv;
24+
let dot_env_vars = undefined;
25+
let envFilePath = path.join(".", `.env`);
26+
if ("sys-env-keys" in args) {
27+
dot_env_vars = args["sys-env-keys"];
28+
} else if (lt_config["run_settings"] && lt_config["run_settings"]["sys_env_keys"]) {
29+
dot_env_vars = lt_config["run_settings"]["sys_env_keys"];
30+
}
31+
if (dot_env_vars) {
32+
dot_env_vars = dot_env_vars.trim();
33+
dot_env_vars = dot_env_vars.split(",");
34+
if ("envfl" in args) {
35+
envFilePath = args["envfl"];
36+
} else if (lt_config["run_settings"]["env_file"]) {
37+
envFilePath = lt_config["run_settings"]["env_file"];
38+
}
39+
40+
try {
41+
envFile = fs.readFileSync(envFilePath, {encoding: 'utf8'})
42+
parsedEnv = dotenv.parse(envFile)
43+
for (index in dot_env_vars) {
44+
let envKey = dot_env_vars[index]
45+
if (envKey==constants.LT_USERNAME_ENV){
46+
let envValue = parsedEnv[envKey]
47+
if (envValue){
48+
usernameFromEnvFile = envValue
49+
} else {
50+
console.error(`value of username is not set in .env file.`)
51+
}
52+
53+
} else if (envKey==constants.LT_ACCESS_KEY_ENV){
54+
let envValue = parsedEnv[envKey]
55+
if (envValue){
56+
accessKeyFromEnvFile = envValue
57+
} else {
58+
console.error(`value of access key is not set in .env file.`)
59+
}
60+
}
61+
}
62+
} catch (err) {
63+
console.error("error in fetching environment variables from .env file",err);
64+
}
65+
}
2166

2267
if (
2368
"lambdatest_auth" in lt_config &&
@@ -31,6 +76,17 @@ function sync_args_from_cmd(args) {
3176
);
3277
lt_config["lambdatest_auth"]["username"] = process.env.LT_USERNAME;
3378
}
79+
} else if ( usernameFromEnvFile &&
80+
(!("lambdatest_auth" in lt_config) ||
81+
!("username" in lt_config["lambdatest_auth"]))) {
82+
console.log(
83+
"Setting user name from .env file",
84+
usernameFromEnvFile
85+
);
86+
if (!lt_config["lambdatest_auth"]) {
87+
lt_config["lambdatest_auth"] = {};
88+
}
89+
lt_config["lambdatest_auth"]["username"] = usernameFromEnvFile;
3490
} else if (
3591
process.env.LT_USERNAME &&
3692
(!("lambdatest_auth" in lt_config) ||
@@ -58,6 +114,14 @@ function sync_args_from_cmd(args) {
58114
console.log("setting access key from environment");
59115
lt_config["lambdatest_auth"]["access_key"] = process.env.LT_ACCESS_KEY;
60116
}
117+
} else if (accessKeyFromEnvFile &&
118+
(!("lambdatest_auth" in lt_config) ||
119+
!("access_key" in lt_config["lambdatest_auth"]))) {
120+
if (!lt_config["lambdatest_auth"]) {
121+
lt_config["lambdatest_auth"] = {};
122+
}
123+
console.log("Setting access key from .env file");
124+
lt_config["lambdatest_auth"]["access_key"] = accessKeyFromEnvFile;
61125
} else if (
62126
process.env.LT_ACCESS_KEY &&
63127
(!("lambdatest_auth" in lt_config) ||
@@ -386,26 +450,9 @@ function sync_args_from_cmd(args) {
386450
}
387451
}
388452
}
389-
let dot_env_vars = undefined;
390-
if ("sys-env-keys" in args) {
391-
dot_env_vars = args["sys-env-keys"];
392-
} else if (lt_config["run_settings"] && lt_config["run_settings"]["sys_env_keys"]) {
393-
dot_env_vars = lt_config["run_settings"]["sys_env_keys"];
394-
}
395-
let parsedEnv,envFile;
396-
let envFilePath = path.join(".", `.env`)
397-
if (dot_env_vars) {
398-
dot_env_vars = dot_env_vars.trim();
399-
dot_env_vars = dot_env_vars.split(",");
400-
if ("envfl" in args) {
401-
envFilePath = args["envfl"];
402-
} else if (lt_config["run_settings"]["env_file"]) {
403-
envFilePath = lt_config["run_settings"]["env_file"];
404-
}
405-
453+
454+
if (dot_env_vars) {
406455
try {
407-
envFile = fs.readFileSync(envFilePath, {encoding: 'utf8'})
408-
parsedEnv = dotenv.parse(envFile)
409456
for (index in dot_env_vars) {
410457
let envKey = dot_env_vars[index]
411458
let envValue = parsedEnv[envKey]

0 commit comments

Comments
 (0)