Skip to content

Commit 0121503

Browse files
sparsh00sparsh0204
andauthored
Instrument package data (#155)
* Add support for checking if zip aready uploaded to browserstack. * improved messaging * defined variable * instrument package md5 Co-authored-by: Sparsh Agarwal <[email protected]>
1 parent d6a6a01 commit 0121503

File tree

2 files changed

+28
-21
lines changed

2 files changed

+28
-21
lines changed

bin/helpers/checkUploaded.js

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,7 @@ const checkSpecsMd5 = (runSettings, excludeFiles) => {
2222
hashHelper.hashWrapper(options).then(function (data) {
2323
const outputHash = crypto.createHash(Constants.hashingOptions.algo);
2424
outputHash.update(data);
25-
let packageJSON = {};
26-
27-
if (typeof runSettings.package_config_options === 'object') {
28-
Object.assign(packageJSON, runSettings.package_config_options);
29-
}
30-
31-
if (typeof runSettings.npm_dependencies === 'object') {
32-
Object.assign(packageJSON, {
33-
devDependencies: runSettings.npm_dependencies,
34-
});
35-
}
36-
37-
if (Object.keys(packageJSON).length > 0) {
38-
let packageJSONString = JSON.stringify(packageJSON);
39-
outputHash.update(packageJSONString);
40-
}
25+
outputHash.update(checkPackageMd5(runSettings));
4126

4227
if (
4328
runSettings.cypress_config_file &&
@@ -56,6 +41,27 @@ const checkSpecsMd5 = (runSettings, excludeFiles) => {
5641
});
5742
};
5843

44+
const checkPackageMd5 = (runSettings) => {
45+
const outputHash = crypto.createHash(Constants.hashingOptions.algo);
46+
let packageJSON = {};
47+
if (typeof runSettings.package_config_options === 'object') {
48+
Object.assign(packageJSON, runSettings.package_config_options);
49+
}
50+
51+
if (typeof runSettings.npm_dependencies === 'object') {
52+
Object.assign(packageJSON, {
53+
devDependencies: runSettings.npm_dependencies,
54+
});
55+
}
56+
57+
if (Object.keys(packageJSON).length > 0) {
58+
let packageJSONString = JSON.stringify(packageJSON);
59+
outputHash.update(packageJSONString);
60+
}
61+
62+
return outputHash.digest(Constants.hashingOptions.encoding)
63+
};
64+
5965
const checkUploadedMd5 = (bsConfig, args) => {
6066
return new Promise(function (resolve) {
6167
let obj = {
@@ -66,7 +72,8 @@ const checkUploadedMd5 = (bsConfig, args) => {
6672
}
6773
checkSpecsMd5(bsConfig.run_settings, args.exclude).then(function (md5data) {
6874
Object.assign(obj, {md5sum: md5data});
69-
let data = JSON.stringify({ zip_md5sum: md5data });
75+
let package_md5sum = checkPackageMd5(bsConfig.run_settings);
76+
let data = JSON.stringify({ zip_md5sum: md5data, instrument_package_md5sum: package_md5sum});
7077

7178
let options = {
7279
url: config.checkMd5sum,

test/unit/bin/helpers/checkUploaded.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ describe("checkUploaded", () => {
161161
.then(function (data) {
162162
chai.assert.equal(data, 'random_md5sum')
163163
sinon.assert.calledOnce(hashElementstub);
164-
sinon.assert.calledOnce(digestStub);
165-
sinon.assert.calledOnce(updateStub);
164+
sinon.assert.calledTwice(digestStub);
165+
sinon.assert.calledTwice(updateStub);
166166
})
167167
.catch((error) => {
168168
chai.assert.fail("Promise error");
@@ -188,8 +188,8 @@ describe("checkUploaded", () => {
188188
.then(function (data) {
189189
chai.assert.equal(data, 'random_md5sum')
190190
sinon.assert.calledOnce(hashElementstub);
191-
sinon.assert.calledOnce(digestStub);
192-
sinon.assert.calledThrice(updateStub);
191+
sinon.assert.called(digestStub);
192+
sinon.assert.callCount(updateStub, 4);
193193
})
194194
.catch((error) => {
195195
chai.assert.fail("Promise error");

0 commit comments

Comments
 (0)