From 87bdc283d9ac710aa75b091065ab7bd3253a0622 Mon Sep 17 00:00:00 2001 From: Gregoire Weber Date: Fri, 24 Mar 2017 11:20:20 -0400 Subject: [PATCH] Update check update to match new format returned by barracks --- example/index.js | 2 +- src/clientHelper.js | 21 ----- src/index.js | 3 +- tests/clientHelper_test.js | 183 ------------------------------------- tests/index_test.js | 20 ---- 5 files changed, 2 insertions(+), 227 deletions(-) delete mode 100644 src/clientHelper.js delete mode 100644 tests/clientHelper_test.js diff --git a/example/index.js b/example/index.js index df4d482..ae4ae05 100644 --- a/example/index.js +++ b/example/index.js @@ -33,7 +33,7 @@ var barracks = new Barracks({ downloadFilePath: '/tmp/file.tmp' }); -fucntion donwloadPackages(packages) { +function donwloadPackages(packages) { var promises = packages.map(function (package) { return package.download('/tmp/' + package.package + '_' + package.version + '_' + package.filename); }); diff --git a/src/clientHelper.js b/src/clientHelper.js deleted file mode 100644 index ba39015..0000000 --- a/src/clientHelper.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - buildCheckUpdateResult: function(serverResponse, barracks) { - var result = {}; - Object.keys(serverResponse).forEach(function (key) { - result[key] = serverResponse[key].map(function (item) { - var result = JSON.parse(JSON.stringify(item)); - result.package = item.component; - delete result.component; - - if (key === 'available' || key === 'changed') { - result.download = function (filePath) { - return barracks.downloadPackage(result, filePath); - }; - } - - return result; - }); - }); - return result; - } -}; \ No newline at end of file diff --git a/src/index.js b/src/index.js index bd9703c..c01a43e 100644 --- a/src/index.js +++ b/src/index.js @@ -10,7 +10,6 @@ var CHECK_UPDATE_ENDPOINT = '/api/device/v2/update/check'; require('es6-promise').polyfill(); var fs = require('fs'); var request = require('request'); -var clientHelper = require('./clientHelper'); var fileHelper = require('./fileHelper'); function Barracks(options) { @@ -50,7 +49,7 @@ Barracks.prototype.checkUpdate = function (packages, customClientData) { message: 'Check Update request failed: ' + error.message }); } else if (response.statusCode == 200) { - resolve(clientHelper.buildCheckUpdateResult(JSON.parse(body), that)); + resolve(JSON.parse(body)); } else { reject({ type: ERROR_UNEXPECTED_SERVER_RESPONSE, diff --git a/tests/clientHelper_test.js b/tests/clientHelper_test.js deleted file mode 100644 index 036184f..0000000 --- a/tests/clientHelper_test.js +++ /dev/null @@ -1,183 +0,0 @@ -/* jshint expr: true, maxstatements: 100 */ -/* global describe, it */ - -var chai = require('chai'); -var expect = chai.expect; -var helper = require('../src/clientHelper.js'); - -describe('buildCheckUpdateResult : ', function () { - - it('Should correctly map packages in the available section', function () { - // Given - var component = { - component: 'abc.edf', - version: '0.0.1', - url: 'https://dtc.io/', - size: 42, - md5: 'deadbeefbadc0ffee' - }; - var serverResponse = { - available:[ component ], - changed: [], - unchanged: [], - unavailable: [] - }; - - // When - var result = helper.buildCheckUpdateResult(serverResponse); - - console.log(component); - - // Then - expect(result).to.be.an('object'); - expect(result.available).to.be.an('array').and.to.have.lengthOf(1); - expect(result.changed).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unchanged).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unavailable).to.be.an('array').and.to.have.lengthOf(0); - expect(result.available[0]).to.have.property('package').and.to.be.equals(component.component); - expect(result.available[0]).to.have.property('version').and.to.be.equals(component.version); - expect(result.available[0]).to.have.property('url').and.to.be.equals(component.url); - expect(result.available[0]).to.have.property('size').and.to.be.equals(component.size); - expect(result.available[0]).to.have.property('md5').and.to.be.equals(component.md5); - expect(result.available[0]).to.have.property('download').and.to.be.a('function'); - }); - - it('Should correctly map packages in the changed section', function () { - // Given - var component = { - component: 'abc.edf', - version: '0.0.1', - url: 'https://dtc.io/', - size: 42, - md5: 'deadbeefbadc0ffee' - }; - var serverResponse = { - available: [], - changed: [ component ], - unchanged: [], - unavailable: [] - }; - - // When - var result = helper.buildCheckUpdateResult(serverResponse); - - // Then - expect(result).to.be.an('object'); - expect(result.available).to.be.an('array').and.to.have.lengthOf(0); - expect(result.changed).to.be.an('array').and.to.have.lengthOf(1); - expect(result.unchanged).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unavailable).to.be.an('array').and.to.have.lengthOf(0); - expect(result.changed[0]).to.have.property('package').and.to.be.equals(component.component); - expect(result.changed[0]).to.have.property('version').and.to.be.equals(component.version); - expect(result.changed[0]).to.have.property('url').and.to.be.equals(component.url); - expect(result.changed[0]).to.have.property('size').and.to.be.equals(component.size); - expect(result.changed[0]).to.have.property('md5').and.to.be.equals(component.md5); - expect(result.changed[0]).to.have.property('download').and.to.be.a('function'); - }); - - it('Should correctly map packages in the unchanged section', function () { - // Given - var component = { - component: 'abc.edf', - version: '0.0.1' - }; - var serverResponse = { - available: [], - changed: [], - unchanged: [ component ], - unavailable: [] - }; - - // When - var result = helper.buildCheckUpdateResult(serverResponse); - - // Then - expect(result).to.be.an('object'); - expect(result.available).to.be.an('array').and.to.have.lengthOf(0); - expect(result.changed).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unchanged).to.be.an('array').and.to.have.lengthOf(1); - expect(result.unavailable).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unchanged[0]).to.deep.equals({ - package: 'abc.edf', - version: '0.0.1' - }); - }); - - it('Should correctly map packages in the unavailable section', function () { - // Given - var component = { component: 'abc.edf' }; - var serverResponse = { - available: [], - changed: [], - unchanged: [], - unavailable: [ component ] - }; - - // When - var result = helper.buildCheckUpdateResult(serverResponse); - - // Then - expect(result).to.be.an('object'); - expect(result.available).to.be.an('array').and.to.have.lengthOf(0); - expect(result.changed).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unchanged).to.be.an('array').and.to.have.lengthOf(0); - expect(result.unavailable).to.be.an('array').and.to.have.lengthOf(1); - expect(result.unavailable[0]).to.deep.equals({ package: 'abc.edf' }); - }); - - it('Should correctly map packages in all sections', function () { - // Given - var availableComponent = { - component: 'abc.edf', - version: '0.0.1', - url: 'https://dtc.io/', - size: 42, - md5: 'deadbeefbadc0ffee' - }; - var changedComponent = { - component: 'abc.edf', - version: '0.0.1', - url: 'https://dtc.io/', - size: 42, - md5: 'deadbeefbadc0ffee' - }; - var unchangedComponent = { - component: 'abc.edf', - version: '0.0.1' - }; - var unavailableComponent = { component: 'abc.edf' }; - var serverResponse = { - available: [ availableComponent ], - changed: [ changedComponent ], - unchanged: [ unchangedComponent ], - unavailable: [ unavailableComponent ] - }; - - // When - var result = helper.buildCheckUpdateResult(serverResponse); - - // Then - expect(result).to.be.an('object'); - expect(result.available).to.be.an('array').and.to.have.lengthOf(1); - expect(result.changed).to.be.an('array').and.to.have.lengthOf(1); - expect(result.unchanged).to.be.an('array').and.to.have.lengthOf(1); - expect(result.unavailable).to.be.an('array').and.to.have.lengthOf(1); - expect(result.available[0]).to.have.property('package').and.to.be.equals(availableComponent.component); - expect(result.available[0]).to.have.property('version').and.to.be.equals(availableComponent.version); - expect(result.available[0]).to.have.property('url').and.to.be.equals(availableComponent.url); - expect(result.available[0]).to.have.property('size').and.to.be.equals(availableComponent.size); - expect(result.available[0]).to.have.property('md5').and.to.be.equals(availableComponent.md5); - expect(result.available[0]).to.have.property('download').and.to.be.a('function'); - expect(result.changed[0]).to.have.property('package').and.to.be.equals(changedComponent.component); - expect(result.changed[0]).to.have.property('version').and.to.be.equals(changedComponent.version); - expect(result.changed[0]).to.have.property('url').and.to.be.equals(changedComponent.url); - expect(result.changed[0]).to.have.property('size').and.to.be.equals(changedComponent.size); - expect(result.changed[0]).to.have.property('md5').and.to.be.equals(changedComponent.md5); - expect(result.changed[0]).to.have.property('download').and.to.be.a('function'); - expect(result.unchanged[0]).to.deep.equals({ - package: 'abc.edf', - version: '0.0.1' - }); - expect(result.unavailable[0]).to.deep.equals({ package: 'abc.edf' }); - }); -}); \ No newline at end of file diff --git a/tests/index_test.js b/tests/index_test.js index fccbe1b..144c1f7 100644 --- a/tests/index_test.js +++ b/tests/index_test.js @@ -108,7 +108,6 @@ describe('checkUpdate(components, customClientData) ', function () { var barracks; var requestMock = function () {}; - var buildCheckUpdateResultMock = function () {}; function getRequestPayloadForComponents(components) { return { @@ -130,11 +129,6 @@ describe('checkUpdate(components, customClientData) ', function () { var Barracks = proxyquire('../src/index.js', { 'request': function (options, callback) { return requestMock(options, callback); - }, - './clientHelper': { - buildCheckUpdateResult: function (response) { - return buildCheckUpdateResultMock(response); - } } }); @@ -217,11 +211,6 @@ describe('checkUpdate(components, customClientData) ', function () { requestSpy(options, callback); callback(undefined, response, response.body); }; - var buildCheckUpdateResultSpy = sinon.spy(); - buildCheckUpdateResultMock = function (response) { - buildCheckUpdateResultSpy(response); - return response; - }; // When / Then barracks.checkUpdate(components).then(function (result) { @@ -231,8 +220,6 @@ describe('checkUpdate(components, customClientData) ', function () { getRequestPayloadForComponents(components), sinon.match.func ); - expect(buildCheckUpdateResultSpy).to.have.been.calledOnce; - expect(buildCheckUpdateResultSpy).to.have.been.calledWithExactly(componentInfo); done(); }).catch(function (err) { done(err); @@ -257,11 +244,6 @@ describe('checkUpdate(components, customClientData) ', function () { requestSpy(options, callback); callback(undefined, response, response.body); }; - var buildCheckUpdateResultSpy = sinon.spy(); - buildCheckUpdateResultMock = function (response) { - buildCheckUpdateResultSpy(response); - return response; - }; // When / Then barracks.checkUpdate(components).then(function (result) { @@ -271,8 +253,6 @@ describe('checkUpdate(components, customClientData) ', function () { getRequestPayloadForComponents(components), sinon.match.func ); - expect(buildCheckUpdateResultSpy).to.have.been.calledOnce; - expect(buildCheckUpdateResultSpy).to.have.been.calledWithExactly(componentInfo); done(); }).catch(function (err) { done(err);