diff --git a/bin/helpers/checkUploaded.js b/bin/helpers/checkUploaded.js index f547d412..beaa77fa 100644 --- a/bin/helpers/checkUploaded.js +++ b/bin/helpers/checkUploaded.js @@ -22,22 +22,7 @@ const checkSpecsMd5 = (runSettings, excludeFiles) => { hashHelper.hashWrapper(options).then(function (data) { const outputHash = crypto.createHash(Constants.hashingOptions.algo); outputHash.update(data); - let packageJSON = {}; - - if (typeof runSettings.package_config_options === 'object') { - Object.assign(packageJSON, runSettings.package_config_options); - } - - if (typeof runSettings.npm_dependencies === 'object') { - Object.assign(packageJSON, { - devDependencies: runSettings.npm_dependencies, - }); - } - - if (Object.keys(packageJSON).length > 0) { - let packageJSONString = JSON.stringify(packageJSON); - outputHash.update(packageJSONString); - } + outputHash.update(checkPackageMd5(runSettings)); if ( runSettings.cypress_config_file && @@ -56,6 +41,27 @@ const checkSpecsMd5 = (runSettings, excludeFiles) => { }); }; +const checkPackageMd5 = (runSettings) => { + const outputHash = crypto.createHash(Constants.hashingOptions.algo); + let packageJSON = {}; + if (typeof runSettings.package_config_options === 'object') { + Object.assign(packageJSON, runSettings.package_config_options); + } + + if (typeof runSettings.npm_dependencies === 'object') { + Object.assign(packageJSON, { + devDependencies: runSettings.npm_dependencies, + }); + } + + if (Object.keys(packageJSON).length > 0) { + let packageJSONString = JSON.stringify(packageJSON); + outputHash.update(packageJSONString); + } + + return outputHash.digest(Constants.hashingOptions.encoding) +}; + const checkUploadedMd5 = (bsConfig, args) => { return new Promise(function (resolve) { let obj = { @@ -66,7 +72,8 @@ const checkUploadedMd5 = (bsConfig, args) => { } checkSpecsMd5(bsConfig.run_settings, args.exclude).then(function (md5data) { Object.assign(obj, {md5sum: md5data}); - let data = JSON.stringify({ zip_md5sum: md5data }); + let package_md5sum = checkPackageMd5(bsConfig.run_settings); + let data = JSON.stringify({ zip_md5sum: md5data, instrument_package_md5sum: package_md5sum}); let options = { url: config.checkMd5sum, diff --git a/test/unit/bin/helpers/checkUploaded.js b/test/unit/bin/helpers/checkUploaded.js index 1f402f66..775a8aaf 100644 --- a/test/unit/bin/helpers/checkUploaded.js +++ b/test/unit/bin/helpers/checkUploaded.js @@ -161,8 +161,8 @@ describe("checkUploaded", () => { .then(function (data) { chai.assert.equal(data, 'random_md5sum') sinon.assert.calledOnce(hashElementstub); - sinon.assert.calledOnce(digestStub); - sinon.assert.calledOnce(updateStub); + sinon.assert.calledTwice(digestStub); + sinon.assert.calledTwice(updateStub); }) .catch((error) => { chai.assert.fail("Promise error"); @@ -188,8 +188,8 @@ describe("checkUploaded", () => { .then(function (data) { chai.assert.equal(data, 'random_md5sum') sinon.assert.calledOnce(hashElementstub); - sinon.assert.calledOnce(digestStub); - sinon.assert.calledThrice(updateStub); + sinon.assert.called(digestStub); + sinon.assert.callCount(updateStub, 4); }) .catch((error) => { chai.assert.fail("Promise error");