Repository: ambari Updated Branches: refs/heads/branch-3.0-perf 4656f1d4e -> 1577f2f06
AMBARI-22382 Integrate Host-component maintenance state and stale configs with websocket events. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1577f2f0 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1577f2f0 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1577f2f0 Branch: refs/heads/branch-3.0-perf Commit: 1577f2f0624f26377137be1924ddbba011f3ae35 Parents: 4656f1d Author: Andrii Tkach <[email protected]> Authored: Wed Nov 8 14:42:37 2017 +0200 Committer: Andrii Tkach <[email protected]> Committed: Wed Nov 8 14:42:37 2017 +0200 ---------------------------------------------------------------------- .../socket/host_component_status_mapper.js | 10 ++++-- .../socket/host_component_status_mapper_test.js | 32 ++++++++++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1577f2f0/ambari-web/app/mappers/socket/host_component_status_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/socket/host_component_status_mapper.js b/ambari-web/app/mappers/socket/host_component_status_mapper.js index 0d253d4..8244e67 100644 --- a/ambari-web/app/mappers/socket/host_component_status_mapper.js +++ b/ambari-web/app/mappers/socket/host_component_status_mapper.js @@ -19,15 +19,19 @@ var App = require('app'); App.hostComponentStatusMapper = App.QuickDataMapper.create({ + config: { + workStatus: 'currentState', + staleConfigs: 'staleConfigs', + passiveState: 'maintenanceState' + }, + /** * @param {object} event */ map: function (event) { event.hostComponents.forEach((componentState) => { const hostComponent = App.HostComponent.find(componentState.componentName + '_' + componentState.hostName); - if (hostComponent.get('isLoaded')) { - hostComponent.set('workStatus', componentState.currentState); - } + this.updatePropertiesByConfig(hostComponent, componentState, this.config); }); } }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1577f2f0/ambari-web/test/mappers/socket/host_component_status_mapper_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/mappers/socket/host_component_status_mapper_test.js b/ambari-web/test/mappers/socket/host_component_status_mapper_test.js index eab309e..5aa59d8 100644 --- a/ambari-web/test/mappers/socket/host_component_status_mapper_test.js +++ b/ambari-web/test/mappers/socket/host_component_status_mapper_test.js @@ -25,8 +25,21 @@ describe('App.hostComponentStatusMapper', function () { describe('#map', function() { var hc = Em.Object.create({ workStatus: 'INSTALLED', + staleConfigs: false, + passiveState: 'ON', isLoaded: true }); + const event = { + hostComponents: [ + { + componentName: 'C1', + hostName: 'host1', + currentState: 'STARTED', + staleConfigs: false, + maintenanceState: 'OFF' + } + ] + }; beforeEach(function() { sinon.stub(App.HostComponent, 'find').returns(hc); }); @@ -35,17 +48,18 @@ describe('App.hostComponentStatusMapper', function () { }); it('host-component should have STARTED status', function() { - const event = { - hostComponents: [ - { - componentName: 'C1', - hostName: 'host1', - currentState: 'STARTED' - } - ] - }; App.hostComponentStatusMapper.map(event); expect(hc.get('workStatus')).to.be.equal('STARTED'); }); + + it('host-component should have staleConfigs false', function() { + App.hostComponentStatusMapper.map(event); + expect(hc.get('staleConfigs')).to.be.false; + }); + + it('host-component should have maintenanceState OFF', function() { + App.hostComponentStatusMapper.map(event); + expect(hc.get('passiveState')).to.be.equal('OFF'); + }); }); });
