Skip to content

Commit

Permalink
Merge pull request #829 from browserstack/APS-10571-capture_content
Browse files Browse the repository at this point in the history
APS-10571 Added network_logs_options capability for capture_content
  • Loading branch information
pranavj1001 committed May 10, 2024
2 parents bb1d56e + 96fda66 commit 9c84d0e
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 6 deletions.
49 changes: 47 additions & 2 deletions bin/helpers/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -1217,12 +1217,57 @@ exports.getNetworkErrorMessage = (dashboard_url) => {
}

exports.setNetworkLogs = (bsConfig) => {
if(bsConfig.run_settings.networkLogs == 'true' || bsConfig.run_settings.networkLogs == true) {
let capture_content = null
if(
(bsConfig.run_settings.networkLogs == 'true' || bsConfig.run_settings.networkLogs == true)
|| (bsConfig.run_settings.network_logs == 'true' || bsConfig.run_settings.network_logs == true)
) {
bsConfig.run_settings.networkLogs = 'true'
bsConfig.run_settings.network_logs = 'true'
if (
this.isNotUndefined(bsConfig.run_settings.networkLogsOptions)
&& typeof(bsConfig.run_settings.networkLogsOptions) === "object"
){
if (
bsConfig.run_settings.networkLogsOptions.captureContent == 'true'
|| bsConfig.run_settings.networkLogsOptions.captureContent == true
|| bsConfig.run_settings.networkLogsOptions.capture_content == 'true'
|| bsConfig.run_settings.networkLogsOptions.capture_content == true
) {
capture_content = 'true'
} else {
capture_content = 'false'
}
bsConfig.run_settings.networkLogsOptions = {capture_content}
bsConfig.run_settings.network_logs_options = {capture_content}
} else if (
this.isNotUndefined(bsConfig.run_settings.network_logs_options)
&& typeof(bsConfig.run_settings.network_logs_options) === "object"
) {
if (
bsConfig.run_settings.network_logs_options.captureContent == 'true'
|| bsConfig.run_settings.network_logs_options.captureContent == true
|| bsConfig.run_settings.network_logs_options.capture_content == 'true'
|| bsConfig.run_settings.network_logs_options.capture_content == true
){
capture_content = 'true'
} else {
capture_content = 'false'
}
bsConfig.run_settings.networkLogsOptions = {capture_content}
bsConfig.run_settings.network_logs_options = {capture_content}
} else {
bsConfig.run_settings.networkLogsOptions = null
bsConfig.run_settings.network_logs_options = null
}
} else {
bsConfig.run_settings.networkLogs = 'false'
bsConfig.run_settings.network_logs = 'false'
bsConfig.run_settings.networkLogsOptions = null
bsConfig.run_settings.network_logs_options = null
}
logger.debug(`Networks logs value: ${bsConfig.run_settings.networkLogs}`);
logger.debug(`Networks logs value: ${bsConfig.run_settings.network_logs}`);
logger.debug(`Networks logs options value: ${JSON.stringify(bsConfig.run_settings.network_logs_options)}`);
}

exports.versionChangedMessage = (preferredVersion, actualVersion, frameworkUpgradeMessage = '') => {
Expand Down
106 changes: 102 additions & 4 deletions test/unit/bin/helpers/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -3716,7 +3716,7 @@ describe('utils', () => {
run_settings: { networkLogs: true }
};
let expectResult = {
run_settings: { networkLogs: 'true' }
run_settings: { networkLogs: 'true', network_logs: 'true', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
Expand All @@ -3727,7 +3727,7 @@ describe('utils', () => {
run_settings: { networkLogs: "true" }
};
let expectResult = {
run_settings: { networkLogs: "true" }
run_settings: { networkLogs: "true", network_logs: 'true', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
Expand All @@ -3738,7 +3738,7 @@ describe('utils', () => {
run_settings: { networkLogs: "abc" }
};
let expectResult = {
run_settings: { networkLogs: "false" }
run_settings: { networkLogs: "false", network_logs: 'false', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
Expand All @@ -3749,7 +3749,105 @@ describe('utils', () => {
run_settings: { }
};
let expectResult = {
run_settings: { networkLogs: "false" }
run_settings: { networkLogs: "false", network_logs: 'false', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return true if networkLogsOptions.captureContent is passed as boolean true', () => {
let bsConfig = {
run_settings: { networkLogs: true, networkLogsOptions: {captureContent: true} }
};
let expectResult = {
run_settings: { networkLogs: 'true', network_logs: 'true', networkLogsOptions: {capture_content: 'true'}, network_logs_options: {capture_content: 'true'} }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return true if networkLogsOptions.captureContent is passed as string true', () => {
let bsConfig = {
run_settings: { networkLogs: true, networkLogsOptions: {captureContent: 'true'} }
};
let expectResult = {
run_settings: { networkLogs: 'true', network_logs: 'true', networkLogsOptions: {capture_content: 'true'}, network_logs_options: {capture_content: 'true'} }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return false if networkLogsOptions.captureContent is passed as any other non true value', () => {
let bsConfig = {
run_settings: { networkLogs: true, networkLogsOptions: {captureContent: 'abc'} }
};
let expectResult = {
run_settings: { networkLogs: 'true', network_logs: 'true', networkLogsOptions: {capture_content: 'false'}, network_logs_options: {capture_content: 'false'} }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return null if networkLogsOptions.captureContent is not passed', () => {
let bsConfig = {
run_settings: {networkLogs: true, }
};
let expectResult = {
run_settings: { networkLogs: 'true', network_logs: 'true', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});
it('should return null if networkLogs is false', () => {
let bsConfig = {
run_settings: { networkLogs: false, networkLogsOptions: {captureContent: true} }
};
let expectResult = {
run_settings: { networkLogs: 'false', network_logs: 'false', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return true if network_logs_options.capture_content is passed as boolean true', () => {
let bsConfig = {
run_settings: { network_logs: true, network_logs_options: {capture_content: true} }
};
let expectResult = {
run_settings: { network_logs: 'true', networkLogs: 'true', network_logs_options: {capture_content: 'true'}, networkLogsOptions: {capture_content: 'true'} }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return true if network_logs_options.capture_content is passed as string true', () => {
let bsConfig = {
run_settings: { network_logs: true, network_logs_options: {capture_content: 'true'} }
};
let expectResult = {
run_settings: { network_logs: 'true', networkLogs: 'true', network_logs_options: {capture_content: 'true'}, networkLogsOptions: {capture_content: 'true'} }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return false if network_logs_options.capture_content is passed as any other non true value', () => {
let bsConfig = {
run_settings: { network_logs: true, network_logs_options: {capture_content: 'abc'} }
};
let expectResult = {
run_settings: { network_logs: 'true', networkLogs: 'true', network_logs_options: {capture_content: 'false'}, networkLogsOptions: {capture_content: 'false'} }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
});

it('should return null if network_logs is false', () => {
let bsConfig = {
run_settings: { network_logs: false, network_logs_options: {capture_content: 'true'} }
};
let expectResult = {
run_settings: { network_logs: 'false', networkLogs: 'false', networkLogsOptions: null, network_logs_options: null }
}
utils.setNetworkLogs(bsConfig);
expect(bsConfig).to.be.eql(expectResult);
Expand Down

0 comments on commit 9c84d0e

Please sign in to comment.