diff --git a/bin/commands/info.js b/bin/commands/info.js index ef333a3e..211f5bd8 100644 --- a/bin/commands/info.js +++ b/bin/commands/info.js @@ -10,9 +10,8 @@ module.exports = function info(args) { let bsConfigPath = utils.getConfigPath(args.cf); return utils.validateBstackJson(bsConfigPath).then(function (bsConfig) { - // setting setDefaultAuthHash to {} if not present and set via env variables or via args. - utils.setDefaultAuthHash(bsConfig, args); - + utils.setDefaults(bsConfig, args); + // accept the username from command line if provided utils.setUsername(bsConfig, args); diff --git a/bin/commands/runs.js b/bin/commands/runs.js index 0d9a0e5c..92b5ded8 100644 --- a/bin/commands/runs.js +++ b/bin/commands/runs.js @@ -17,8 +17,7 @@ module.exports = function run(args) { return utils.validateBstackJson(bsConfigPath).then(function (bsConfig) { utils.setUsageReportingFlag(bsConfig, args.disableUsageReporting); - // setting setDefaultAuthHash to {} if not present and set via env variables or via args. - utils.setDefaultAuthHash(bsConfig,args); + utils.setDefaults(bsConfig, args); // accept the username from command line or env variable if provided utils.setUsername(bsConfig, args); diff --git a/bin/commands/stop.js b/bin/commands/stop.js index ea687f15..5a7cbe2c 100644 --- a/bin/commands/stop.js +++ b/bin/commands/stop.js @@ -10,9 +10,8 @@ module.exports = function stop(args) { let bsConfigPath = utils.getConfigPath(args.cf); return utils.validateBstackJson(bsConfigPath).then(function (bsConfig) { - // setting setDefaultAuthHash to {} if not present and set via env variables or via args. - utils.setDefaultAuthHash(bsConfig, args); - + utils.setDefaults(bsConfig, args); + // accept the username from command line if provided utils.setUsername(bsConfig, args); diff --git a/bin/helpers/utils.js b/bin/helpers/utils.js index 66df447c..73be6316 100644 --- a/bin/helpers/utils.js +++ b/bin/helpers/utils.js @@ -115,14 +115,16 @@ exports.setParallels = (bsConfig, args) => { } }; -exports.setDefaultAuthHash = (bsConfig, args) => { - if ( - this.isUndefined(bsConfig['auth']) && - (!this.isUndefined(args.username) || - !this.isUndefined(process.env.BROWSERSTACK_USERNAME)) - ) { +exports.setDefaults = (bsConfig, args) => { + // setting setDefaultAuthHash to {} if not present and set via env variables or via args. + if (this.isUndefined(bsConfig['auth']) && (!this.isUndefined(args.username) || !this.isUndefined(process.env.BROWSERSTACK_USERNAME))) { bsConfig['auth'] = {}; } + + // setting npm_dependencies to {} if not present + if (bsConfig.run_settings && this.isUndefined(bsConfig.run_settings.npm_dependencies)) { + bsConfig.run_settings.npm_dependencies = {} + } } exports.setUsername = (bsConfig, args) => { diff --git a/test/unit/bin/commands/info.js b/test/unit/bin/commands/info.js index dc6a02fa..f6f8c226 100644 --- a/test/unit/bin/commands/info.js +++ b/test/unit/bin/commands/info.js @@ -33,7 +33,7 @@ describe("buildInfo", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -59,7 +59,7 @@ describe("buildInfo", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {get: requestStub}, }); @@ -97,7 +97,7 @@ describe("buildInfo", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {get: requestStub}, }); @@ -131,7 +131,7 @@ describe("buildInfo", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -159,7 +159,7 @@ describe("buildInfo", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {get: requestStub}, }); @@ -203,7 +203,7 @@ describe("buildInfo", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {get: requestStub}, }); @@ -242,7 +242,7 @@ describe("buildInfo", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {get: requestStub}, }); @@ -278,7 +278,7 @@ describe("buildInfo", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -304,7 +304,7 @@ describe("buildInfo", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {get: requestStub}, }); @@ -338,7 +338,7 @@ describe("buildInfo", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -357,7 +357,7 @@ describe("buildInfo", () => { setUsageReportingFlag: setUsageReportingFlagStub, setCypressConfigFilename: setCypressConfigFilenameStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, }); diff --git a/test/unit/bin/commands/runs.js b/test/unit/bin/commands/runs.js index ef8f75ad..951ac6cc 100644 --- a/test/unit/bin/commands/runs.js +++ b/test/unit/bin/commands/runs.js @@ -98,7 +98,7 @@ describe("runs", () => { setLocalStub = sandbox.stub(); setLocalIdentifierStub = sandbox.stub(); deleteResultsStub = sandbox.stub(); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -127,7 +127,7 @@ describe("runs", () => { setLocal: setLocalStub, setLocalIdentifier: setLocalIdentifierStub, deleteResults: deleteResultsStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, '../helpers/capabilityHelper': { validate: capabilityValidatorStub, @@ -151,7 +151,7 @@ describe("runs", () => { sinon.assert.calledOnce(setLocalStub); sinon.assert.calledOnce(setLocalIdentifierStub); sinon.assert.calledOnce(deleteResultsStub); - sinon.assert.calledOnce(setDefaultAuthHashStub); + sinon.assert.calledOnce(setDefaultsStub); sinon.assert.calledOnceWithExactly( sendUsageReportStub, bsConfig, @@ -188,7 +188,7 @@ describe("runs", () => { setLocalStub = sandbox.stub(); setLocalIdentifierStub = sandbox.stub(); deleteResultsStub = sandbox.stub(); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -217,7 +217,7 @@ describe("runs", () => { setLocal: setLocalStub, setLocalIdentifier: setLocalIdentifierStub, deleteResults: deleteResultsStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, '../helpers/capabilityHelper': { validate: capabilityValidatorStub, @@ -250,7 +250,7 @@ describe("runs", () => { sinon.assert.calledOnce(setUsageReportingFlagStub); sinon.assert.calledOnce(deleteZipStub); sinon.assert.calledOnce(deleteResultsStub); - sinon.assert.calledOnce(setDefaultAuthHashStub); + sinon.assert.calledOnce(setDefaultsStub); sinon.assert.calledOnceWithExactly( sendUsageReportStub, bsConfig, @@ -288,7 +288,7 @@ describe("runs", () => { setLocalStub = sandbox.stub(); setLocalIdentifierStub = sandbox.stub(); deleteResultsStub = sandbox.stub(); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -317,7 +317,7 @@ describe("runs", () => { setLocal: setLocalStub, setLocalIdentifier: setLocalIdentifierStub, deleteResults: deleteResultsStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, '../helpers/capabilityHelper': { validate: capabilityValidatorStub, @@ -354,7 +354,7 @@ describe("runs", () => { sinon.assert.calledOnce(setUsageReportingFlagStub); sinon.assert.calledOnce(zipUploadStub); sinon.assert.calledOnce(deleteResultsStub); - sinon.assert.calledOnce(setDefaultAuthHashStub); + sinon.assert.calledOnce(setDefaultsStub); sinon.assert.calledOnceWithExactly( sendUsageReportStub, bsConfig, @@ -396,7 +396,7 @@ describe("runs", () => { setLocalStub = sandbox.stub(); setLocalIdentifierStub = sandbox.stub(); deleteResultsStub = sandbox.stub(); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -425,7 +425,7 @@ describe("runs", () => { setLocal: setLocalStub, setLocalIdentifier: setLocalIdentifierStub, deleteResults: deleteResultsStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, '../helpers/capabilityHelper': { validate: capabilityValidatorStub, @@ -471,7 +471,7 @@ describe("runs", () => { sinon.assert.calledOnce(sendUsageReportStub); sinon.assert.calledOnce(deleteResultsStub); - sinon.assert.calledOnce(setDefaultAuthHashStub); + sinon.assert.calledOnce(setDefaultsStub); sinon.assert.calledOnceWithExactly( sendUsageReportStub, @@ -515,7 +515,7 @@ describe("runs", () => { deleteZipStub = sandbox.stub(); exportResultsStub = sandbox.stub(); deleteResultsStub = sandbox.stub(); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); isUndefinedStub = sandbox.stub(); setLocalStub = sandbox.stub(); setLocalIdentifierStub = sandbox.stub(); @@ -549,7 +549,7 @@ describe("runs", () => { setLocalIdentifier: setLocalIdentifierStub, exportResults: exportResultsStub, deleteResults: deleteResultsStub, - setDefaultAuthHash: setDefaultAuthHashStub, + setDefaults: setDefaultsStub, isUndefined: isUndefinedStub }, "../helpers/capabilityHelper": { @@ -598,7 +598,7 @@ describe("runs", () => { sinon.assert.calledOnce(createBuildStub); sinon.assert.calledOnce(exportResultsStub); sinon.assert.calledOnce(deleteResultsStub); - sinon.assert.calledOnce(setDefaultAuthHashStub); + sinon.assert.calledOnce(setDefaultsStub); sinon.assert.calledOnceWithExactly( sendUsageReportStub, bsConfig, diff --git a/test/unit/bin/commands/stop.js b/test/unit/bin/commands/stop.js index 551ad56c..161352b4 100644 --- a/test/unit/bin/commands/stop.js +++ b/test/unit/bin/commands/stop.js @@ -33,7 +33,7 @@ describe("buildStop", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -61,7 +61,7 @@ describe("buildStop", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {post: requestStub}, }); @@ -99,7 +99,7 @@ describe("buildStop", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {post: requestStub}, }); @@ -132,7 +132,7 @@ describe("buildStop", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -160,7 +160,7 @@ describe("buildStop", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {post: requestStub}, }); @@ -205,7 +205,7 @@ describe("buildStop", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {post: requestStub}, }); @@ -245,7 +245,7 @@ describe("buildStop", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {post: requestStub}, }); @@ -280,7 +280,7 @@ describe("buildStop", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -308,7 +308,7 @@ describe("buildStop", () => { setCypressConfigFilename: setCypressConfigFilenameStub, getUserAgent: getUserAgentStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, request: {post: requestStub}, }); @@ -342,7 +342,7 @@ describe("buildStop", () => { return "end"; }); getErrorCodeFromErrStub = sandbox.stub().returns("random-error"); - setDefaultAuthHashStub = sandbox.stub(); + setDefaultsStub = sandbox.stub(); }); afterEach(() => { @@ -361,7 +361,7 @@ describe("buildStop", () => { setUsageReportingFlag: setUsageReportingFlagStub, setCypressConfigFilename: setCypressConfigFilenameStub, getConfigPath: getConfigPathStub, - setDefaultAuthHash: setDefaultAuthHashStub + setDefaults: setDefaultsStub }, }); diff --git a/test/unit/bin/helpers/utils.js b/test/unit/bin/helpers/utils.js index 1222ffde..6eaaacde 100644 --- a/test/unit/bin/helpers/utils.js +++ b/test/unit/bin/helpers/utils.js @@ -918,7 +918,7 @@ describe('utils', () => { }); }); - describe('setDefaultAuthHash', () => { + describe('setDefaults', () => { beforeEach(function () { delete process.env.BROWSERSTACK_USERNAME; }); @@ -927,23 +927,26 @@ describe('utils', () => { delete process.env.BROWSERSTACK_USERNAME; }); - it('should set setDefaultAuthHash if args.username is present', () => { - let bsConfig = {}; - utils.setDefaultAuthHash(bsConfig, {username: 'username'}); + it('should set setDefaults if args.username is present', () => { + let bsConfig = { run_settings: {} }; + utils.setDefaults(bsConfig, {username: 'username'}); expect(utils.isUndefined(bsConfig.auth)).to.be.false; + expect(utils.isUndefined(bsConfig.run_settings.npm_dependencies)).to.be.false; }); - it('should set setDefaultAuthHash if process.env.BROWSERSTACK_USERNAME is present and args.username is not present', () => { - let bsConfig = {}; + it('should set setDefaults if process.env.BROWSERSTACK_USERNAME is present and args.username is not present', () => { + let bsConfig = { run_settings: {} }; process.env.BROWSERSTACK_USERNAME = 'username'; - utils.setDefaultAuthHash(bsConfig, {}); + utils.setDefaults(bsConfig, {}); expect(utils.isUndefined(bsConfig.auth)).to.be.false; + expect(utils.isUndefined(bsConfig.run_settings.npm_dependencies)).to.be.false; }); - it('should not set setDefaultAuthHash if process.env.BROWSERSTACK_USERNAME and args.username is not present', () => { - let bsConfig = {}; - utils.setDefaultAuthHash(bsConfig, {}); + it('should not set setDefaults if process.env.BROWSERSTACK_USERNAME and args.username is not present', () => { + let bsConfig = { run_settings: {} }; + utils.setDefaults(bsConfig, {}); expect(utils.isUndefined(bsConfig.auth)).to.be.true; + expect(utils.isUndefined(bsConfig.run_settings.npm_dependencies)).to.be.false; }); }); });