Skip to content

Commit c364a1a

Browse files
committed
resolved comments
1 parent 74175e6 commit c364a1a

File tree

8 files changed

+66
-72
lines changed

8 files changed

+66
-72
lines changed

bin/commands/generateDownloads.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
const logger = require("../helpers/logger").winstonLogger,
44
Constants = require("../helpers/constants"),
55
utils = require("../helpers/utils"),
6-
downloadBuildArtifacts = require('../helpers/buildArtifacts').downloadBuildArtifacts,
7-
getInitialDetails = require('../helpers/getInitialDetails').getInitialDetails;
6+
downloadBuildArtifacts = require('../helpers/buildArtifacts').downloadBuildArtifacts;
87

98

109
module.exports = async function generateDownloads(args, rawArgs) {
@@ -20,11 +19,7 @@ module.exports = async function generateDownloads(args, rawArgs) {
2019
// accept the access key from command line if provided
2120
utils.setAccessKey(bsConfig, args);
2221

23-
let initDetails = await getInitialDetails(bsConfig, args, rawArgs);
24-
25-
let buildReportData = {
26-
'user_id': initDetails.user_id
27-
};
22+
let buildReportData = await utils.getInitialDetails(bsConfig, args, rawArgs);
2823

2924
utils.setUsageReportingFlag(bsConfig, args.disableUsageReporting);
3025

bin/commands/generateReport.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
const logger = require("../helpers/logger").winstonLogger,
44
Constants = require("../helpers/constants"),
55
utils = require("../helpers/utils"),
6-
reporterHTML = require('../helpers/reporterHTML'),
7-
getInitialDetails = require('../helpers/getInitialDetails').getInitialDetails;
6+
reporterHTML = require('../helpers/reporterHTML');
87

98

109
module.exports = function generateReport(args, rawArgs) {
@@ -21,10 +20,7 @@ module.exports = function generateReport(args, rawArgs) {
2120
// accept the access key from command line if provided
2221
utils.setAccessKey(bsConfig, args);
2322

24-
getInitialDetails(bsConfig, args, rawArgs).then((initDetails) => {
25-
let buildReportData = {
26-
'user_id': initDetails.user_id
27-
};
23+
utils.getInitialDetails(bsConfig, args, rawArgs).then((buildReportData) => {
2824

2925
utils.setUsageReportingFlag(bsConfig, args.disableUsageReporting);
3026

bin/commands/info.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ const request = require('request');
44
const config = require("../helpers/config"),
55
logger = require("../helpers/logger").winstonLogger,
66
Constants = require("../helpers/constants"),
7-
utils = require("../helpers/utils"),
8-
getInitialDetails = require('../helpers/getInitialDetails').getInitialDetails;
7+
utils = require("../helpers/utils");
98

109
module.exports = function info(args, rawArgs) {
1110
let bsConfigPath = utils.getConfigPath(args.cf);
@@ -19,10 +18,7 @@ module.exports = function info(args, rawArgs) {
1918
// accept the access key from command line if provided
2019
utils.setAccessKey(bsConfig, args);
2120

22-
getInitialDetails(bsConfig, args, rawArgs).then((initDetails) => {
23-
let buildReportData = {
24-
user_id: initDetails.user_id
25-
}
21+
utils.getInitialDetails(bsConfig, args, rawArgs).then((buildReportData) => {
2622

2723
utils.setUsageReportingFlag(bsConfig, args.disableUsageReporting);
2824

bin/commands/runs.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ const archiver = require("../helpers/archiver"),
1111
utils = require("../helpers/utils"),
1212
fileHelpers = require("../helpers/fileHelpers"),
1313
syncRunner = require("../helpers/syncRunner"),
14-
getInitialDetails = require("../helpers/getInitialDetails").getInitialDetails,
1514
checkUploaded = require("../helpers/checkUploaded"),
1615
packageInstaller = require("../helpers/packageInstaller"),
1716
reportGenerator = require('../helpers/reporterHTML').reportGenerator,
@@ -45,11 +44,7 @@ module.exports = function run(args, rawArgs) {
4544
// accept the access key from command line or env variable if provided
4645
utils.setAccessKey(bsConfig, args);
4746

48-
let initDetails = await getInitialDetails(bsConfig, args, rawArgs);
49-
50-
let buildReportData = {
51-
'user_id': initDetails.user_id
52-
};
47+
let buildReportData = await utils.getInitialDetails(bsConfig, args, rawArgs);
5348

5449
// accept the build name from command line if provided
5550
utils.setBuildName(bsConfig, args);
@@ -157,7 +152,7 @@ module.exports = function run(args, rawArgs) {
157152
utils.setProcessHooks(data.build_id, bsConfig, bs_local, args, buildReportData);
158153
let message = `${data.message}! ${Constants.userMessages.BUILD_CREATED} with build id: ${data.build_id}`;
159154
let dashboardLink = `${Constants.userMessages.VISIT_DASHBOARD} ${data.dashboard_url}`;
160-
buildReportData = { 'build_id': data.build_id, 'user_id': data.user_id, ...buildReportData }
155+
buildReportData = { 'build_id': data.build_id, 'parallels': userSpecifiedParallels, ...buildReportData }
161156
utils.exportResults(data.build_id, `${config.dashboardUrl}${data.build_id}`);
162157
if ((utils.isUndefined(bsConfig.run_settings.parallels) && utils.isUndefined(args.parallels)) || (!utils.isUndefined(bsConfig.run_settings.parallels) && bsConfig.run_settings.parallels == Constants.cliMessages.RUN.DEFAULT_PARALLEL_MESSAGE)) {
163158
logger.warn(Constants.userMessages.NO_PARALLELS);

bin/commands/stop.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ const request = require('request');
44
const config = require("../helpers/config"),
55
logger = require("../helpers/logger").winstonLogger,
66
Constants = require("../helpers/constants"),
7-
utils = require("../helpers/utils"),
8-
getInitialDetails = require('../helpers/getInitialDetails').getInitialDetails;
7+
utils = require("../helpers/utils");
98

109
module.exports = function stop(args, rawArgs) {
1110
let bsConfigPath = utils.getConfigPath(args.cf);
@@ -19,11 +18,7 @@ module.exports = function stop(args, rawArgs) {
1918
// accept the access key from command line if provided
2019
utils.setAccessKey(bsConfig, args);
2120

22-
let initDetails = await getInitialDetails(bsConfig, args, rawArgs);
23-
24-
let buildReportData = {
25-
'user_id': initDetails.user_id
26-
};
21+
let buildReportData = await utils.getInitialDetails(bsConfig, args, rawArgs);
2722

2823
utils.setUsageReportingFlag(bsConfig, args.disableUsageReporting);
2924

bin/helpers/constants.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,8 @@ const RAW_ARGS_REGEX = /(?<=("-u"|"-username"|"-k"|"-key") *, *)"[^,\]]*/g
237237

238238
const ERROR_EXIT_CODE = 1;
239239

240+
const INITIAL_DETAILS = {};
241+
240242
const BUILD_FAILED_EXIT_CODE = 3;
241243

242244
const REDACTED = "[REDACTED]";
@@ -260,6 +262,7 @@ module.exports = Object.freeze({
260262
DEFAULT_CYPRESS_SPEC_PATH,
261263
SPEC_TOTAL_CHAR_LIMIT,
262264
METADATA_CHAR_BUFFER_PER_SPEC,
265+
INITIAL_DETAILS,
263266
usageReportingConstants,
264267
LATEST_VERSION_SYNTAX_REGEX,
265268
ERROR_EXIT_CODE,

bin/helpers/getInitialDetails.js

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,41 @@
11
const request = require('request'),
2-
logger = require('./logger').winstonLogger,
3-
utils = require('./utils'),
4-
config = require("./config");
2+
logger = require('./logger').winstonLogger,
3+
utils = require('./utils'),
4+
config = require("./config"),
5+
Constants = require('./constants');
56

6-
exports.getInitialDetails = (bsConfig, args, rawArgs) => {
7-
let options = {
8-
url: config.getInitialDetails,
9-
auth: {
10-
username: bsConfig.auth.username,
11-
password: bsConfig.auth.access_key,
12-
},
13-
headers: {
14-
'User-Agent': utils.getUserAgent(),
15-
},
16-
};
17-
let responseData = {};
18-
return new Promise(async (resolve, reject) => {
19-
request.get(options, function (err, resp, data) {
20-
if(err) {
21-
logger.error(utils.formatRequest(err, resp, data));
22-
utils.sendUsageReport(bsConfig, args, err, Constants.messageTypes.ERROR, 'get_initial_details_failed', null, rawArgs);
23-
reject({});
24-
process.exitCode = Constants.ERROR_EXIT_CODE;
25-
} else {
26-
try {
27-
responseData = JSON.parse(data);
28-
} catch (e) {
29-
responseData = {};
30-
}
31-
if(resp.statusCode != 200) {
32-
logger.error(`Error: Get Initial Details Request failed with status code ${resp.statusCode}`);
33-
utils.sendUsageReport(bsConfig, args, responseData["error"], Constants.messageTypes.ERROR, 'get_initial_details_failed', null, rawArgs);
34-
reject({});
35-
process.exitCode = Constants.ERROR_EXIT_CODE;
36-
} else {
37-
resolve(responseData);
38-
}
39-
}
40-
});
41-
});
7+
exports.getInitialDetailsFromAPI = (bsConfig, args, rawArgs) => {
8+
return new Promise((resolve, reject) => {
9+
let options = {
10+
url: config.getInitialDetails,
11+
auth: {
12+
username: bsConfig.auth.username,
13+
password: bsConfig.auth.access_key,
14+
},
15+
headers: {
16+
'User-Agent': utils.getUserAgent(),
17+
}
18+
};
19+
let responseData = {};
20+
request.get(options, function (err, resp, data) {
21+
if(err) {
22+
logger.error(utils.formatRequest(err, resp, data));
23+
utils.sendUsageReport(bsConfig, args, err, Constants.messageTypes.ERROR, 'get_initial_details_failed', null, rawArgs);
24+
resolve({});
25+
} else {
26+
try {
27+
responseData = JSON.parse(data);
28+
} catch (e) {
29+
responseData = {};
30+
}
31+
if(resp.statusCode != 200) {
32+
logger.error(`Error: Get Initial Details Request failed with status code ${resp.statusCode}`);
33+
utils.sendUsageReport(bsConfig, args, responseData["error"], Constants.messageTypes.ERROR, 'get_initial_details_failed', null, rawArgs);
34+
resolve({});
35+
} else {
36+
resolve(responseData);
37+
}
38+
}
39+
});
40+
});
4241
};

bin/helpers/utils.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const usageReporting = require("./usageReporting"),
1414
Constants = require("./constants"),
1515
chalk = require('chalk'),
1616
syncCliLogger = require("../helpers/logger").syncCliLogger,
17+
getInitialDetailsFromAPI = require("../helpers/getInitialDetails").getInitialDetailsFromAPI,
1718
fileHelpers = require("./fileHelpers"),
1819
config = require("../helpers/config"),
1920
pkg = require('../../package.json');
@@ -160,6 +161,20 @@ exports.getParallels = (bsConfig, args) => {
160161
return args.parallels || bsConfig['run_settings']['parallels'];
161162
}
162163

164+
exports.getInitialDetails = (bsConfig, args, rawArgs) => {
165+
let initObj = null;
166+
return new Promise((reject, resolve) => {
167+
if(Object.keys(Constants.INITIAL_DETAILS).length > 0) {
168+
initObj = Constants.INITIAL_DETAILS;
169+
resolve(initObj);
170+
} else {
171+
initObj = await getInitialDetailsFromAPI(bsConfig, args, rawArgs);
172+
Constants.INITIAL_DETAILS = initObj;
173+
resolve(initObj);
174+
}
175+
});
176+
}
177+
163178
exports.setParallels = (bsConfig, args, numOfSpecs) => {
164179
if (!this.isUndefined(args.parallels)) {
165180
bsConfig["run_settings"]["parallels"] = args.parallels;

0 commit comments

Comments
 (0)