You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by on...@apache.org on 2015/12/25 15:28:13 UTC
[2/3] ambari git commit: AMBARI-14495. Improve Ambari UI UT (p.2)
(onechiporenko)
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/controllers/wizard/step8_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step8_test.js b/ambari-web/test/controllers/wizard/step8_test.js
index 0e120a2..576e303 100644
--- a/ambari-web/test/controllers/wizard/step8_test.js
+++ b/ambari-web/test/controllers/wizard/step8_test.js
@@ -1170,46 +1170,6 @@ describe('App.WizardStep8Controller', function () {
});
- describe('#createSelectedServicesData', function() {
- it('should reformat provided data', function() {
- var selectedServices = [
- Em.Object.create({serviceName: 's1'}),
- Em.Object.create({serviceName: 's2'}),
- Em.Object.create({serviceName: 's3'})
- ];
- var expected = [
- {"ServiceInfo": { "service_name": 's1' }},
- {"ServiceInfo": { "service_name": 's2' }},
- {"ServiceInfo": { "service_name": 's3' }}
- ];
- installerStep8Controller.reopen({selectedServices: selectedServices});
- var createdData = installerStep8Controller.createSelectedServicesData();
- expect(createdData).to.eql(expected);
- });
- });
-
- describe('#createRegisterHostData', function() {
- it('should return empty data if no hosts', function() {
- sinon.stub(installerStep8Controller, 'getRegisteredHosts', function() {return [];});
- expect(installerStep8Controller.createRegisterHostData()).to.eql([]);
- installerStep8Controller.getRegisteredHosts.restore();
- });
- it('should return computed data', function() {
- var data = [
- {isInstalled: false, hostName: 'h1'},
- {isInstalled: true, hostName: 'h2'},
- {isInstalled: false, hostName: 'h3'}
- ];
- var expected = [
- {"Hosts": { "host_name": 'h1'}},
- {"Hosts": { "host_name": 'h3'}}
- ];
- sinon.stub(installerStep8Controller, 'getRegisteredHosts', function() {return data;});
- expect(installerStep8Controller.createRegisterHostData()).to.eql(expected);
- installerStep8Controller.getRegisteredHosts.restore();
- });
- });
-
describe('#createStormSiteObj', function() {
it('should replace quote \'"\' to "\'" for some properties', function() {
var configs = [
@@ -1247,11 +1207,18 @@ describe('App.WizardStep8Controller', function () {
});
describe('#ajaxQueueFinished', function() {
- it('should call App.router.next', function() {
+
+ beforeEach(function () {
sinon.stub(App.router, 'send', Em.K);
+ });
+
+ afterEach(function () {
+ App.router.send.restore();
+ });
+
+ it('should call App.router.next', function() {
installerStep8Controller.ajaxQueueFinished();
expect(App.router.send.calledWith('next')).to.equal(true);
- App.router.send.restore();
});
});
@@ -1423,43 +1390,60 @@ describe('App.WizardStep8Controller', function () {
describe('#createSelectedServices', function() {
+ var data;
+
+ beforeEach(function () {
+ sinon.stub(installerStep8Controller, 'createSelectedServicesData', function () {
+ return data;
+ });
+ });
+
+ afterEach(function () {
+ installerStep8Controller.createSelectedServicesData.restore();
+ });
+
it('shouldn\'t do nothing if no data', function() {
- sinon.stub(installerStep8Controller, 'createSelectedServicesData', function() {return [];});
+ data = [];
installerStep8Controller.createSelectedServices();
expect(installerStep8Controller.addRequestToAjaxQueue.called).to.equal(false);
- installerStep8Controller.createSelectedServicesData.restore();
});
it('should call addRequestToAjaxQueue with computed data', function() {
- var data = [
+ data = [
{"ServiceInfo": { "service_name": 's1' }},
{"ServiceInfo": { "service_name": 's2' }},
{"ServiceInfo": { "service_name": 's3' }}
];
- sinon.stub(installerStep8Controller, 'createSelectedServicesData', function() {return data;});
installerStep8Controller.createSelectedServices();
expect(installerStep8Controller.addRequestToAjaxQueue.args[0][0].data.data).to.equal(JSON.stringify(data));
- installerStep8Controller.createSelectedServicesData.restore();
});
});
describe('#registerHostsToCluster', function() {
+ var data;
+ beforeEach(function () {
+ sinon.stub(installerStep8Controller, 'createRegisterHostData', function () {
+ return data;
+ });
+ });
+
+ afterEach(function () {
+ installerStep8Controller.createRegisterHostData.restore();
+ });
+
it('shouldn\'t do nothing if no data', function() {
- sinon.stub(installerStep8Controller, 'createRegisterHostData', function() {return [];});
+ data = [];
installerStep8Controller.registerHostsToCluster();
expect(installerStep8Controller.addRequestToAjaxQueue.called).to.equal(false);
- installerStep8Controller.createRegisterHostData.restore();
});
it('should call addRequestToAjaxQueue with computed data', function() {
- var data = [
+ data = [
{"Hosts": { "host_name": 'h1'}},
{"Hosts": { "host_name": 'h3'}}
];
- sinon.stub(installerStep8Controller, 'createRegisterHostData', function() {return data;});
installerStep8Controller.registerHostsToCluster();
expect(installerStep8Controller.addRequestToAjaxQueue.args[0][0].data.data).to.equal(JSON.stringify(data));
- installerStep8Controller.createRegisterHostData.restore();
});
});
@@ -1646,98 +1630,107 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.registerHostsToComponent.restore();
});
- it('should add components with isRequiredOnAllHosts == true (1)', function() {
- installerStep8Controller.reopen({
- getRegisteredHosts: function() {
- return [{hostName: 'h1'}, {hostName: 'h2'}];
- },
- content: {
- services: Em.A([
- Em.Object.create({
- serviceName: 'ANYSERVICE', isSelected: true, isInstalled: false, serviceComponents: [
- // set isRequiredOnAllHosts = true for slave and client
- Em.Object.create({
- componentName: 'ANYSERVICE_MASTER',
- isMaster: true,
- isRequiredOnAllHosts: false
- }),
- Em.Object.create({
- componentName: 'ANYSERVICE_SLAVE',
- isSlave: true,
- isRequiredOnAllHosts: true
- }),
- Em.Object.create({
- componentName: 'ANYSERVICE_SLAVE2',
- isSlave: true,
- isRequiredOnAllHosts: true
- }),
- Em.Object.create({
- componentName: 'ANYSERVICE_CLIENT',
- isClient: true,
- isRequiredOnAllHosts: true
- })
- ]
- })
- ]),
- masterComponentHosts: Em.A([
- Em.Object.create({
- componentName: 'ANYSERVICE_MASTER',
- component: 'ANYSERVICE_MASTER',
- hosts: Em.A([
- Em.Object.create({hostName: 'h1', isInstalled: true})
- ])
- })
- ]),
- slaveComponentHosts: Em.A([
- Em.Object.create({
- componentName: 'ANYSERVICE_SLAVE',
- hosts: Em.A([
- Em.Object.create({hostName: 'h1', isInstalled: false}),
- Em.Object.create({hostName: 'h2', isInstalled: false})
- ])
- }),
- Em.Object.create({
- componentName: 'ANYSERVICE_SLAVE2',
- hosts: Em.A([
- Em.Object.create({hostName: 'h1', isInstalled: false}),
- Em.Object.create({hostName: 'h2', isInstalled: false})
- ]),
- }),
- Em.Object.create({
- componentName: 'CLIENT',
- hosts: Em.A([
- Em.Object.create({hostName: 'h1', isInstalled: false}),
- Em.Object.create({hostName: 'h2', isInstalled: false})
- ])
- })
- ]),
- clients: Em.A([
- Em.Object.create({
- component_name: 'ANYSERVICE_CLIENT',
- isInstalled: false,
- hosts: Em.A([
- Em.Object.create({hostName: 'h1', isInstalled: false}),
- Em.Object.create({hostName: 'h2', isInstalled: false})
- ])
- })
- ])
- }
+ describe('should add components with isRequiredOnAllHosts == true (1)', function() {
+
+ beforeEach(function () {
+ installerStep8Controller.reopen({
+ getRegisteredHosts: function() {
+ return [{hostName: 'h1'}, {hostName: 'h2'}];
+ },
+ content: {
+ services: Em.A([
+ Em.Object.create({
+ serviceName: 'ANYSERVICE', isSelected: true, isInstalled: false, serviceComponents: [
+ // set isRequiredOnAllHosts = true for slave and client
+ Em.Object.create({
+ componentName: 'ANYSERVICE_MASTER',
+ isMaster: true,
+ isRequiredOnAllHosts: false
+ }),
+ Em.Object.create({
+ componentName: 'ANYSERVICE_SLAVE',
+ isSlave: true,
+ isRequiredOnAllHosts: true
+ }),
+ Em.Object.create({
+ componentName: 'ANYSERVICE_SLAVE2',
+ isSlave: true,
+ isRequiredOnAllHosts: true
+ }),
+ Em.Object.create({
+ componentName: 'ANYSERVICE_CLIENT',
+ isClient: true,
+ isRequiredOnAllHosts: true
+ })
+ ]
+ })
+ ]),
+ masterComponentHosts: Em.A([
+ Em.Object.create({
+ componentName: 'ANYSERVICE_MASTER',
+ component: 'ANYSERVICE_MASTER',
+ hosts: Em.A([
+ Em.Object.create({hostName: 'h1', isInstalled: true})
+ ])
+ })
+ ]),
+ slaveComponentHosts: Em.A([
+ Em.Object.create({
+ componentName: 'ANYSERVICE_SLAVE',
+ hosts: Em.A([
+ Em.Object.create({hostName: 'h1', isInstalled: false}),
+ Em.Object.create({hostName: 'h2', isInstalled: false})
+ ])
+ }),
+ Em.Object.create({
+ componentName: 'ANYSERVICE_SLAVE2',
+ hosts: Em.A([
+ Em.Object.create({hostName: 'h1', isInstalled: false}),
+ Em.Object.create({hostName: 'h2', isInstalled: false})
+ ]),
+ }),
+ Em.Object.create({
+ componentName: 'CLIENT',
+ hosts: Em.A([
+ Em.Object.create({hostName: 'h1', isInstalled: false}),
+ Em.Object.create({hostName: 'h2', isInstalled: false})
+ ])
+ })
+ ]),
+ clients: Em.A([
+ Em.Object.create({
+ component_name: 'ANYSERVICE_CLIENT',
+ isInstalled: false,
+ hosts: Em.A([
+ Em.Object.create({hostName: 'h1', isInstalled: false}),
+ Em.Object.create({hostName: 'h2', isInstalled: false})
+ ])
+ })
+ ])
+ }
+ });
+ installerStep8Controller.set('ajaxRequestsQueue', App.ajaxQueue.create());
+ installerStep8Controller.get('ajaxRequestsQueue').clear();
+ installerStep8Controller.createAdditionalHostComponents();
});
- installerStep8Controller.set('ajaxRequestsQueue', App.ajaxQueue.create());
- installerStep8Controller.get('ajaxRequestsQueue').clear();
- installerStep8Controller.createAdditionalHostComponents();
- // Any component with isRequiredOnAllHosts = true implies that
- // registerHostsToComponent would be done via
- // createAdditionalHostComponents() BUT NOT
- // createMasterHostComponents() or createSlaveAndClientsHostComponents()
- // or createAdditionalClientComponents()
- expect(installerStep8Controller.registerHostsToComponent.args[0][0]).to.eql(['h1', 'h2']);
- expect(installerStep8Controller.registerHostsToComponent.args[0][1]).to.equal('ANYSERVICE_SLAVE');
- expect(installerStep8Controller.registerHostsToComponent.args[1][0]).to.eql(['h1', 'h2']);
- expect(installerStep8Controller.registerHostsToComponent.args[1][1]).to.equal('ANYSERVICE_SLAVE2');
- expect(installerStep8Controller.registerHostsToComponent.args[2][0]).to.eql(['h1', 'h2']);
- expect(installerStep8Controller.registerHostsToComponent.args[2][1]).to.equal('ANYSERVICE_CLIENT');
+ // Any component with isRequiredOnAllHosts = true implies that
+ // registerHostsToComponent would be done via
+ // createAdditionalHostComponents() BUT NOT
+ // createMasterHostComponents() or createSlaveAndClientsHostComponents()
+ // or createAdditionalClientComponents()
+ it('registerHostsToComponent 1st call', function () {
+ expect(installerStep8Controller.registerHostsToComponent.args[0][0]).to.eql(['h1', 'h2']);
+ expect(installerStep8Controller.registerHostsToComponent.args[0][1]).to.equal('ANYSERVICE_SLAVE');
+ });
+ it('registerHostsToComponent 2nd call', function () {
+ expect(installerStep8Controller.registerHostsToComponent.args[1][0]).to.eql(['h1', 'h2']);
+ expect(installerStep8Controller.registerHostsToComponent.args[1][1]).to.equal('ANYSERVICE_SLAVE2');
+ });
+ it('registerHostsToComponent 3rd call', function () {
+ expect(installerStep8Controller.registerHostsToComponent.args[2][0]).to.eql(['h1', 'h2']);
+ expect(installerStep8Controller.registerHostsToComponent.args[2][1]).to.equal('ANYSERVICE_CLIENT');
+ });
});
it('should not add components with isRequiredOnAllHosts == false (2)', function() {
@@ -1868,22 +1861,49 @@ describe('App.WizardStep8Controller', function () {
expect($.ajax.args[0][0].url.contains('overwrite_existing=true')).to.be.true;
});
- it('sent data should be valid', function () {
+ describe('sent data should be valid', function () {
+ var data;
+ beforeEach(function () {
+ installerStep8Controller.createNotification();
+ data = installerStep8Controller.get('ajaxRequestsQueue.queue')[0].data.data.AlertTarget;
+ });
- installerStep8Controller.createNotification();
- var data = installerStep8Controller.get('ajaxRequestsQueue.queue')[0].data.data.AlertTarget;
- expect(data.global).to.be.true;
- expect(data.notification_type).to.equal('EMAIL');
- expect(data.alert_states).to.eql(['OK', 'WARNING', 'CRITICAL', 'UNKNOWN']);
- expect(data.properties['ambari.dispatch.recipients']).to.eql(['to@f.c']);
- expect(data.properties['mail.smtp.host']).to.equal('h');
- expect(data.properties['mail.smtp.port']).to.equal('25');
- expect(data.properties['mail.smtp.from']).to.equal('from@f.c');
- expect(data.properties['mail.smtp.starttls.enable']).to.equal(true);
- expect(data.properties['mail.smtp.startssl.enable']).to.equal(false);
- expect(data.properties['ambari.dispatch.credential.username']).to.equal('usr');
- expect(data.properties['ambari.dispatch.credential.password']).to.equal('pwd');
- expect(data.properties['some_p']).to.equal('some_v');
+ it('global is true', function () {
+ expect(data.global).to.be.true;
+ });
+ it('notification_type is EMAIL', function () {
+ expect(data.notification_type).to.equal('EMAIL');
+ });
+ it('alert_states are valid', function () {
+ expect(data.alert_states).to.eql(['OK', 'WARNING', 'CRITICAL', 'UNKNOWN']);
+ });
+ it('ambari.dispatch.recipients is valid', function () {
+ expect(data.properties['ambari.dispatch.recipients']).to.eql(['to@f.c']);
+ });
+ it('mail.smtp.host is valid', function () {
+ expect(data.properties['mail.smtp.host']).to.equal('h');
+ });
+ it('mail.smtp.port is valid', function () {
+ expect(data.properties['mail.smtp.port']).to.equal('25');
+ });
+ it('mail.smtp.from is valid', function () {
+ expect(data.properties['mail.smtp.from']).to.equal('from@f.c');
+ });
+ it('mail.smtp.starttls.enable is true', function () {
+ expect(data.properties['mail.smtp.starttls.enable']).to.equal(true);
+ });
+ it('mail.smtp.startssl.enable is false', function () {
+ expect(data.properties['mail.smtp.startssl.enable']).to.equal(false);
+ });
+ it('ambari.dispatch.credential.username is valid', function () {
+ expect(data.properties['ambari.dispatch.credential.username']).to.equal('usr');
+ });
+ it('ambari.dispatch.credential.password is valid', function () {
+ expect(data.properties['ambari.dispatch.credential.password']).to.equal('pwd');
+ });
+ it('custom property is valid', function () {
+ expect(data.properties['some_p']).to.equal('some_v');
+ });
});
@@ -1911,14 +1931,18 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.startDeploy.restore();
});
- it('no failed requests', function () {
- expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(1);
- expect(installerStep8Controller.showDeleteClustersErrorPopup.called).to.be.false;
- expect(installerStep8Controller.startDeploy.called).to.be.false;
- installerStep8Controller.deleteClusterSuccessCallback();
- expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(2);
- expect(installerStep8Controller.showDeleteClustersErrorPopup.called).to.be.false;
- expect(installerStep8Controller.startDeploy.calledOnce).to.be.true;
+ describe('no failed requests', function () {
+ it('before Delete Cluster request', function () {
+ expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(1);
+ expect(installerStep8Controller.showDeleteClustersErrorPopup.called).to.be.false;
+ expect(installerStep8Controller.startDeploy.called).to.be.false;
+ });
+ it('after Delete Cluster request', function () {
+ installerStep8Controller.deleteClusterSuccessCallback();
+ expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(2);
+ expect(installerStep8Controller.showDeleteClustersErrorPopup.called).to.be.false;
+ expect(installerStep8Controller.startDeploy.calledOnce).to.be.true;
+ });
});
it('one request failed', function () {
@@ -1957,20 +1981,34 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.showDeleteClustersErrorPopup.restore();
});
- it('should show error popup only if all requests are completed', function () {
- expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(1);
- expect(installerStep8Controller.showDeleteClustersErrorPopup.called).to.be.false;
- installerStep8Controller.deleteClusterErrorCallback(request, ajaxOptions, error, opt);
- expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(2);
- expect(installerStep8Controller.showDeleteClustersErrorPopup.calledOnce).to.be.true;
+ describe('should show error popup only if all requests are completed', function () {
+ it('Before Delete Cluster request fail', function () {
+ expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(1);
+ expect(installerStep8Controller.showDeleteClustersErrorPopup.called).to.be.false;
+ });
+ it('After Delete Cluster request is failed', function () {
+ installerStep8Controller.deleteClusterErrorCallback(request, ajaxOptions, error, opt);
+ expect(installerStep8Controller.get('clusterDeleteRequestsCompleted')).to.equal(2);
+ expect(installerStep8Controller.showDeleteClustersErrorPopup.calledOnce).to.be.true;
+ });
});
- it('should create error popup body view', function () {
- expect(installerStep8Controller.get('clusterDeleteErrorViews')).to.have.length(1);
- expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.url')).to.equal('api/v1/clusters/c0');
- expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.type')).to.equal('DELETE');
- expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.status')).to.equal(500);
- expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.message')).to.equal('Internal Server Error');
+ describe('should create error popup body view', function () {
+ it('One failed request', function () {
+ expect(installerStep8Controller.get('clusterDeleteErrorViews')).to.have.length(1);
+ });
+ it('failed request url is valid', function () {
+ expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.url')).to.equal('api/v1/clusters/c0');
+ });
+ it('failed request type is valid', function () {
+ expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.type')).to.equal('DELETE');
+ });
+ it('failed request status is valid', function () {
+ expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.status')).to.equal(500);
+ });
+ it('failed request message is valid', function () {
+ expect(installerStep8Controller.get('clusterDeleteErrorViews.firstObject.message')).to.equal('Internal Server Error');
+ });
});
});
@@ -2052,22 +2090,29 @@ describe('App.WizardStep8Controller', function () {
});
cases.forEach(function (item) {
- it(item.title, function () {
- sinon.stub(installerStep8Controller, 'get')
- .withArgs('ajaxRequestsQueue').returns({
- start: Em.K
- })
- .withArgs('ajaxRequestsQueue.queue.length').returns(1)
- .withArgs('wizardController').returns({
- getDBProperty: function () {
- return item.fileNamesToUpdate;
- }
- })
- .withArgs('content.controllerName').returns(item.controllerName);
- installerStep8Controller.startDeploy();
+ describe(item.title, function () {
+
+ beforeEach(function () {
+ sinon.stub(installerStep8Controller, 'get')
+ .withArgs('ajaxRequestsQueue').returns({
+ start: Em.K
+ })
+ .withArgs('ajaxRequestsQueue.queue.length').returns(1)
+ .withArgs('wizardController').returns({
+ getDBProperty: function () {
+ return item.fileNamesToUpdate;
+ }
+ })
+ .withArgs('content.controllerName').returns(item.controllerName);
+ installerStep8Controller.startDeploy();
+ });
+
stubbedNames.forEach(function (name) {
- expect(installerStep8Controller[name].called).to.equal(!item.notExecuted.contains(name));
+ it(name, function () {
+ expect(installerStep8Controller[name].called).to.equal(!item.notExecuted.contains(name));
+ });
});
+
});
});
@@ -2305,12 +2350,19 @@ describe('App.WizardStep8Controller', function () {
});
describe('#showLoadingIndicator', function() {
+
+ beforeEach(function () {
+ sinon.spy(App.ModalPopup, 'show');
+ });
+
+ afterEach(function () {
+ App.ModalPopup.show.restore();
+ });
+
it('if popup doesn\'t exist should create another', function() {
installerStep8Controller.set('isSubmitDisabled', true);
- sinon.spy(App.ModalPopup, 'show');
installerStep8Controller.showLoadingIndicator();
expect(App.ModalPopup.show.calledOnce).to.equal(true);
- App.ModalPopup.show.restore();
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/controllers/wizard/step9_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step9_test.js b/ambari-web/test/controllers/wizard/step9_test.js
index fa57fd5..d60b24a 100644
--- a/ambari-web/test/controllers/wizard/step9_test.js
+++ b/ambari-web/test/controllers/wizard/step9_test.js
@@ -397,14 +397,12 @@ describe('App.InstallerStep9Controller', function () {
var loaded_hosts = c.get('hosts');
expect(loaded_hosts.length).to.equal(2);
});
+
it('All hosts have progress 0', function () {
var loaded_hosts = c.get('hosts');
expect(loaded_hosts.everyProperty('progress', 0)).to.equal(true);
});
- it('All hosts have progress 0', function () {
- var loaded_hosts = c.get('hosts');
- expect(loaded_hosts.everyProperty('progress', 0)).to.equal(true);
- });
+
it('All host don\'t have logTasks', function () {
var loaded_hosts = c.get('hosts');
expect(loaded_hosts.everyProperty('logTasks.length', 0)).to.equal(true);
@@ -1026,12 +1024,22 @@ describe('App.InstallerStep9Controller', function () {
});
describe('#clearStep', function () {
- it('All to default values', function () {
+
+ beforeEach(function () {
c.reopen({hosts: [{},{},{}]});
c.clearStep();
+ });
+
+ it('hosts are empty', function () {
expect(c.get('hosts.length')).to.equal(0);
+ });
+ it('status is `info`', function () {
expect(c.get('status')).to.equal('info');
+ });
+ it('progress is 0', function () {
expect(c.get('progress')).to.equal('0');
+ });
+ it('numPolls is 1', function () {
expect(c.get('numPolls')).to.equal(1);
});
});
@@ -1287,11 +1295,18 @@ describe('App.InstallerStep9Controller', function () {
});
describe('#submit', function () {
- it('should call App.router.send', function () {
+
+ beforeEach(function () {
sinon.stub(App.router, 'send', Em.K);
+ });
+
+ afterEach(function () {
+ App.router.send.restore();
+ });
+
+ it('should call App.router.send', function () {
c.submit();
expect(App.router.send.calledWith('next')).to.equal(true);
- App.router.send.restore();
});
});
@@ -1336,9 +1351,11 @@ describe('App.InstallerStep9Controller', function () {
describe('#startPolling', function () {
beforeEach(function () {
sinon.stub(c, 'reloadErrorCallback', Em.K);
+ sinon.stub(c, 'doPolling', Em.K);
});
afterEach(function () {
c.reloadErrorCallback.restore();
+ c.doPolling.restore();
});
it('should set isSubmitDisabled to true', function () {
c.set('isSubmitDisabled', false);
@@ -1346,10 +1363,8 @@ describe('App.InstallerStep9Controller', function () {
expect(c.get('isSubmitDisabled')).to.equal(true);
});
it('should call doPolling', function () {
- sinon.stub(c, 'doPolling', Em.K);
c.startPolling();
expect(c.doPolling.calledOnce).to.equal(true);
- c.doPolling.restore();
});
});
@@ -1375,13 +1390,6 @@ describe('App.InstallerStep9Controller', function () {
expect(c.getLogsByRequest.calledWith(true, 3)).to.equal(true);
});
- it('should set POLL_INTERVAL to 1 if testMode enabled', function () {
- sinon.stub(App, 'get', function(k) { if ('testMode' === k) return true; return Em.get(App, k);});
- c.loadLogData();
- expect(c.get('POLL_INTERVAL')).to.equal(1);
- App.get.restore();
- });
-
});
describe('#loadCurrentTaskLog', function () {
@@ -1390,23 +1398,25 @@ describe('App.InstallerStep9Controller', function () {
c.set('wizardController', Em.Object.create({
getDBProperty: Em.K
}));
+ sinon.stub(c, 'togglePreviousSteps', Em.K);
});
afterEach(function () {
c.loadLogData.restore();
+ c.togglePreviousSteps.restore();
});
+
it('shouldn\'t call App.ajax.send if no currentOpenTaskId', function () {
c.set('currentOpenTaskId', null);
c.loadCurrentTaskLog();
expect(App.ajax.send.called).to.equal(false);
});
+
it('should call App.ajax.send with provided data', function () {
- sinon.stub(c, 'togglePreviousSteps', Em.K);
c.set('currentOpenTaskId', 1);
c.set('currentOpenTaskRequestId', 2);
c.set('content', {cluster: {name: 3}});
c.loadCurrentTaskLog();
expect(App.ajax.send.args[0][0].data).to.eql({taskId: 1, requestId: 2, clusterName: 3});
- c.togglePreviousSteps.restore();
});
});
@@ -1535,12 +1545,15 @@ describe('App.InstallerStep9Controller', function () {
});
describe('#navigateStep', function () {
+
beforeEach(function () {
sinon.stub(c, 'togglePreviousSteps', Em.K);
sinon.stub(c, 'loadStep', Em.K);
sinon.stub(c, 'loadLogData', Em.K);
sinon.stub(c, 'startPolling', Em.K);
+ sinon.stub(App, 'get', function(k) {if('testMode' === k) return false; return Em.get(App, k);});
});
+
afterEach(function () {
c.togglePreviousSteps.restore();
c.loadStep.restore();
@@ -1548,16 +1561,8 @@ describe('App.InstallerStep9Controller', function () {
c.startPolling.restore();
App.get.restore();
});
- it('should set custom data in testMode', function () {
- sinon.stub(App, 'get', function(k) {if('testMode' === k) return true; return Em.get(App, k);});
- c.reopen({content: {cluster: {status: 'st', isCompleted: true, requestId: 0}}});
- c.navigateStep();
- expect(c.get('content.cluster.status')).to.equal('PENDING');
- expect(c.get('content.cluster.isCompleted')).to.equal(false);
- expect(c.get('content.cluster.requestId')).to.equal(1);
- });
+
it('isCompleted = true, requestId = 1', function () {
- sinon.stub(App, 'get', function(k) {if('testMode' === k) return false; return Em.get(App, k);});
c.reopen({content: {cluster: {isCompleted: true, requestId: 1}}});
c.navigateStep();
expect(c.loadStep.calledOnce).to.equal(true);
@@ -1565,21 +1570,18 @@ describe('App.InstallerStep9Controller', function () {
expect(c.get('progress')).to.equal('100');
});
it('isCompleted = false, requestId = 1, status = INSTALL FAILED', function () {
- sinon.stub(App, 'get', function(k) {if('testMode' === k) return false; return Em.get(App, k);});
c.reopen({content: {cluster: {status: 'INSTALL FAILED', isCompleted: false, requestId: 1}}});
c.navigateStep();
expect(c.loadStep.calledOnce).to.equal(true);
expect(c.loadLogData.calledWith(false)).to.equal(true);
});
it('isCompleted = false, requestId = 1, status = START FAILED', function () {
- sinon.stub(App, 'get', function(k) {if('testMode' === k) return false; return Em.get(App, k);});
c.reopen({content: {cluster: {status: 'START FAILED', isCompleted: false, requestId: 1}}});
c.navigateStep();
expect(c.loadStep.calledOnce).to.equal(true);
expect(c.loadLogData.calledWith(false)).to.equal(true);
});
it('isCompleted = false, requestId = 1, status = OTHER', function () {
- sinon.stub(App, 'get', function(k) {if('testMode' === k) return false; return Em.get(App, k);});
c.reopen({content: {cluster: {status: 'STARTED', isCompleted: false, requestId: 1}}});
c.navigateStep();
expect(c.loadStep.calledOnce).to.equal(true);
@@ -1633,15 +1635,30 @@ describe('App.InstallerStep9Controller', function () {
}
}
]).forEach(function (test) {
- it(test.m, function () {
- c.launchStartServicesSuccessCallback(test.jsonData);
- expect(c.hostHasClientsOnly.calledWith(test.e.hostHasClientsOnly)).to.equal(true);
- expect(c.saveClusterStatus.calledWith(test.e.clusterStatus)).to.equal(true);
+ describe(test.m, function () {
+
+ beforeEach(function () {
+ c.launchStartServicesSuccessCallback(test.jsonData);
+ });
+
+ it('hostHasClientsOnly is called with valid arguments', function () {
+ expect(c.hostHasClientsOnly.calledWith(test.e.hostHasClientsOnly)).to.equal(true);
+ });
+
+ it('saveClusterStatus is called with valid arguments', function () {
+ expect(c.saveClusterStatus.calledWith(test.e.clusterStatus)).to.equal(true);
+ });
+
+
if (test.e.status) {
- expect(c.get('status')).to.equal(test.e.status);
+ it('status is valid', function () {
+ expect(c.get('status')).to.equal(test.e.status);
+ });
}
if (test.e.progress) {
- expect(c.get('progress')).to.equal(test.e.progress);
+ it('progress is valid', function () {
+ expect(c.get('progress')).to.equal(test.e.progress);
+ });
}
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/controllers/wizard_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard_test.js b/ambari-web/test/controllers/wizard_test.js
index 316ec2d..dced13c 100644
--- a/ambari-web/test/controllers/wizard_test.js
+++ b/ambari-web/test/controllers/wizard_test.js
@@ -56,21 +56,21 @@ describe('App.WizardController', function () {
// isStep0 ... isStep10 tests
App.WizardController1 = App.WizardController.extend({currentStep:''});
var tests = [];
- for(var i = 0; i < totalSteps; i++) {
+ for (var i = 0; i < totalSteps; i++) {
var n = ruller.slice(0);
- n.splice(i,1);
- tests.push({i:i,n:n});
+ n.splice(i, 1);
+ tests.push({i: i, n: n});
}
- tests.forEach(function(test) {
- describe('isStep'+test.i, function() {
+ tests.forEach(function (test) {
+ describe('isStep' + test.i, function () {
var w = App.WizardController1.create();
w.set('currentStep', test.i);
- it('Current Step is ' + test.i + ', so isStep' + test.i + ' is TRUE', function() {
- expect(w.get('isStep'+ test.i)).to.equal(true);
+ it('Current Step is ' + test.i + ', so isStep' + test.i + ' is TRUE', function () {
+ expect(w.get('isStep' + test.i)).to.equal(true);
});
- test.n.forEach(function(indx) {
- it('Current Step is ' + test.i + ', so isStep' + indx + ' is FALSE', function() {
- expect(w.get('isStep'+ indx)).to.equal(false);
+ test.n.forEach(function (indx) {
+ it('Current Step is ' + test.i + ', so isStep' + indx + ' is FALSE', function () {
+ expect(w.get('isStep' + indx)).to.equal(false);
});
});
});
@@ -93,13 +93,19 @@ describe('App.WizardController', function () {
});
describe('#launchBootstrapSuccessCallback', function() {
+ var params = {popup: {finishLoading: function(){}}};
+ beforeEach(function () {
+ sinon.spy(params.popup, "finishLoading");
+ });
+
+ afterEach(function () {
+ params.popup.finishLoading.restore();
+ });
+
it('Save bootstrapRequestId', function() {
var data = {requestId: 123, status: 'SUCCESS', log: 'ok'};
- var params = {popup: {finishLoading: function(){}}};
- sinon.spy(params.popup, "finishLoading");
wizardController.launchBootstrapSuccessCallback(data, {}, params);
expect(params.popup.finishLoading.calledWith(123, null, 'SUCCESS', 'ok')).to.be.true;
- params.popup.finishLoading.restore();
});
});
@@ -125,6 +131,7 @@ describe('App.WizardController', function () {
sinon.stub(wizardController, 'get')
.withArgs('installOptionsTemplate').returns({useSsh: true})
.withArgs('installWindowsOptionsTemplate').returns({useSsh: false});
+ this.stub = sinon.stub(App, 'get');
});
afterEach(function () {
@@ -134,7 +141,7 @@ describe('App.WizardController', function () {
cases.forEach(function (item) {
it(title.format(item.expected), function () {
- sinon.stub(App, 'get').withArgs('isHadoopWindowsStack').returns(item.isHadoopWindowsStack);
+ this.stub.withArgs('isHadoopWindowsStack').returns(item.isHadoopWindowsStack);
expect(wizardController.getInstallOptions()).to.eql(item.expected);
});
});
@@ -156,12 +163,23 @@ describe('App.WizardController', function () {
App.get.restore();
});
- it('should clear install options', function () {
- wizardController.clearInstallOptions();
- expect(wizardController.get('content.installOptions')).to.eql(wizardController.get('installOptionsTemplate'));
- expect(wizardController.get('content.hosts')).to.eql({});
- expect(wizardController.getDBProperty('installOptions')).to.eql(wizardController.get('installOptionsTemplate'));
- expect(wizardController.getDBProperty('hosts')).to.eql({});
+ describe('should clear install options', function () {
+
+ beforeEach(function () {
+ wizardController.clearInstallOptions();
+ });
+ it('content.installOptions', function () {
+ expect(wizardController.get('content.installOptions')).to.eql(wizardController.get('installOptionsTemplate'));
+ });
+ it('content.hosts', function () {
+ expect(wizardController.get('content.hosts')).to.eql({});
+ });
+ it('installOptions', function () {
+ expect(wizardController.getDBProperty('installOptions')).to.eql(wizardController.get('installOptionsTemplate'));
+ });
+ it('hosts', function () {
+ expect(wizardController.getDBProperty('hosts')).to.eql({});
+ });
});
});
@@ -250,13 +268,21 @@ describe('App.WizardController', function () {
afterEach(function(){
App.ModalPopup.show.restore();
});
- it('should set error', function () {
- sinon.stub(App.ModalPopup,'show', function (data) {
- data.finishLoading.call(c);
+
+ describe('errors', function () {
+
+ beforeEach(function () {
+ sinon.stub(App.ModalPopup,'show', function (data) {
+ data.finishLoading.call(c);
+ });
+ });
+
+ it('should set error', function () {
+ c.showLaunchBootstrapPopup(Em.K);
+ expect(c.get('isError')).to.be.true;
});
- c.showLaunchBootstrapPopup(Em.K);
- expect(c.get('isError')).to.be.true;
});
+
describe('#finishLoading', function () {
var callback = sinon.spy(),
stepController = App.get('router.wizardStep3Controller'),
@@ -346,18 +372,36 @@ describe('App.WizardController', function () {
c.callback.restore();
});
cases.forEach(function (item) {
- it(item.title, function () {
+ describe(item.title, function () {
var wizardControllerProperties = Em.keys(item.wizardControllerProperties),
stepControllerProperties = Em.keys(item.stepControllerProperties);
- sinon.stub(App.ModalPopup,'show', function (data) {
- data.finishLoading.call(c, item.requestId, item.serverError, item.status, item.log);
+
+ beforeEach(function () {
+ sinon.stub(App.ModalPopup,'show', function (data) {
+ data.finishLoading.call(c, item.requestId, item.serverError, item.status, item.log);
+ });
+ c.showLaunchBootstrapPopup(c.callback);
+ });
+
+ it('wizardControllerProperties are valid', function () {
+ expect(c.getProperties.apply(c, wizardControllerProperties)).to.eql(item.wizardControllerProperties);
+ });
+
+ it('stepControllerProperties are valid', function () {
+ expect(stepController.getProperties.apply(stepController, stepControllerProperties)).to.eql(item.stepControllerProperties);
+ });
+
+ it('bootStatus is valid', function () {
+ expect(stepController.get('hosts').mapProperty('bootStatus').uniq()).to.eql([item.bootStatus]);
+ });
+
+ it('callback is called needed number of times', function () {
+ expect(c.callback.callCount).to.equal(item.callbackCallCount);
+ });
+
+ it('hide is called needed number of times', function () {
+ expect(c.hide.callCount).to.equal(item.hideCallCount);
});
- c.showLaunchBootstrapPopup(c.callback);
- expect(c.getProperties.apply(c, wizardControllerProperties)).to.eql(item.wizardControllerProperties);
- expect(stepController.getProperties.apply(stepController, stepControllerProperties)).to.eql(item.stepControllerProperties);
- expect(stepController.get('hosts').mapProperty('bootStatus').uniq()).to.eql([item.bootStatus]);
- expect(c.callback.callCount).to.equal(item.callbackCallCount);
- expect(c.hide.callCount).to.equal(item.hideCallCount);
});
});
});
@@ -584,15 +628,21 @@ describe('App.WizardController', function () {
});
describe('#save', function () {
- it('should save data', function () {
- var res;
+ var res;
+ beforeEach(function () {
sinon.stub(wizardController,'setDBProperty', function(data){
res = data;
});
sinon.stub(wizardController,'toJSInstance').returns('val');
- wizardController.save('name');
+ });
+
+ afterEach(function () {
wizardController.setDBProperty.restore();
wizardController.toJSInstance.restore();
+ });
+
+ it('should save data', function () {
+ wizardController.save('name');
expect(res).to.be.equal('name');
});
});
@@ -1459,6 +1509,7 @@ describe('App.WizardController', function () {
serviceName: 's1'
})
]));
+ this.stub = sinon.stub(App, 'get');
});
afterEach(function () {
App.get.restore();
@@ -1468,13 +1519,13 @@ describe('App.WizardController', function () {
wizardController.loadConfigThemeForServices.restore();
});
it('Should load config themes', function() {
- sinon.stub(App, 'get').returns(true);
+ this.stub.returns(true);
wizardController.loadConfigThemes().then(function(data) {
expect().to.be.undefined;
});
});
- it('Should load config themes', function() {
- sinon.stub(App, 'get').returns(false);
+ it('Should load config themes (2)', function() {
+ this.stub.returns(false);
wizardController.loadConfigThemes().then(function(data) {
expect().to.be.undefined;
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/data/HDP2.2/site_properties_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/data/HDP2.2/site_properties_test.js b/ambari-web/test/data/HDP2.2/site_properties_test.js
index 1cde085..a5e0e18 100644
--- a/ambari-web/test/data/HDP2.2/site_properties_test.js
+++ b/ambari-web/test/data/HDP2.2/site_properties_test.js
@@ -43,16 +43,12 @@ describe('hdp2SiteProperties', function () {
* showLabel
* unit
*/
- it('Check attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Stack driven attributes should be undefined ', function () {
- expect(siteProperty.isVisible).to.equal(undefined);
- expect(siteProperty.value).to.equal(undefined);
- expect(siteProperty.recommendedValue).to.equal(undefined);
- expect(siteProperty.description).to.equal(undefined);
- expect(siteProperty.isReconfigurable).to.equal(undefined);
- expect(siteProperty.isRequired).to.equal(undefined);
- expect(siteProperty.displayName).to.equal(undefined);
- expect(siteProperty.showLabel).to.equal(undefined);
- expect(siteProperty.unit).to.equal(undefined);
+ describe('Check attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Stack driven attributes should be undefined ', function () {
+ ['isVisible', 'value', 'recommendedValue', 'description', 'isReconfigurable', 'isRequired', 'displayName', 'showLabel', 'unit'].forEach(function (p) {
+ it(p, function () {
+ expect(siteProperty[p]).to.not.exist;
+ });
+ });
});
/**
@@ -68,9 +64,13 @@ describe('hdp2SiteProperties', function () {
* name
* filename
*/
- it('Check primary attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Attributes that uniquely represent a property should be defined ', function () {
- expect(siteProperty.name).to.not.equal(undefined);
- expect(siteProperty.filename).to.not.equal(undefined);
+ describe('Check primary attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Attributes that uniquely represent a property should be defined ', function () {
+ it('name', function () {
+ expect(siteProperty.name).to.not.equal(undefined);
+ });
+ it('filename', function () {
+ expect(siteProperty.filename).to.not.equal(undefined);
+ });
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/data/HDP2.3/site_properties_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/data/HDP2.3/site_properties_test.js b/ambari-web/test/data/HDP2.3/site_properties_test.js
index 263ad6a..b94e0b2 100644
--- a/ambari-web/test/data/HDP2.3/site_properties_test.js
+++ b/ambari-web/test/data/HDP2.3/site_properties_test.js
@@ -43,16 +43,12 @@ describe('hdp2SiteProperties', function () {
* showLabel
* unit
*/
- it('Check attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Stack driven attributes should be undefined ', function () {
- expect(siteProperty.isVisible).to.equal(undefined);
- expect(siteProperty.value).to.equal(undefined);
- expect(siteProperty.recommendedValue).to.equal(undefined);
- expect(siteProperty.description).to.equal(undefined);
- expect(siteProperty.isReconfigurable).to.equal(undefined);
- expect(siteProperty.isRequired).to.equal(undefined);
- expect(siteProperty.displayName).to.equal(undefined);
- expect(siteProperty.showLabel).to.equal(undefined);
- expect(siteProperty.unit).to.equal(undefined);
+ describe('Check attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Stack driven attributes should be undefined ', function () {
+ ['isVisible', 'value', 'recommendedValue', 'description', 'isReconfigurable', 'isRequired', 'displayName', 'showLabel', 'unit'].forEach(function (p) {
+ it(p, function () {
+ expect(siteProperty[p]).to.not.exist;
+ });
+ });
});
@@ -69,9 +65,13 @@ describe('hdp2SiteProperties', function () {
* name
* filename
*/
- it('Check primary attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Attributes that uniquely represent a property should be defined ', function () {
- expect(siteProperty.name).to.not.equal(undefined);
- expect(siteProperty.filename).to.not.equal(undefined);
+ describe('Check primary attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Attributes that uniquely represent a property should be defined ', function () {
+ it('name', function () {
+ expect(siteProperty.name).to.not.equal(undefined);
+ });
+ it('filename', function () {
+ expect(siteProperty.filename).to.not.equal(undefined);
+ });
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/data/HDP2/site_properties_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/data/HDP2/site_properties_test.js b/ambari-web/test/data/HDP2/site_properties_test.js
index 89e0ea1..26be9c3 100644
--- a/ambari-web/test/data/HDP2/site_properties_test.js
+++ b/ambari-web/test/data/HDP2/site_properties_test.js
@@ -43,16 +43,12 @@ describe('hdp2SiteProperties', function () {
* showLabel
* unit
*/
- it('Check attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Stack driven attributes should be undefined ', function () {
- expect(siteProperty.isVisible).to.equal(undefined);
- expect(siteProperty.value).to.equal(undefined);
- expect(siteProperty.recommendedValue).to.equal(undefined);
- expect(siteProperty.description).to.equal(undefined);
- expect(siteProperty.isReconfigurable).to.equal(undefined);
- expect(siteProperty.isRequired).to.equal(undefined);
- expect(siteProperty.displayName).to.equal(undefined);
- expect(siteProperty.showLabel).to.equal(undefined);
- expect(siteProperty.unit).to.equal(undefined);
+ describe('Check attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Stack driven attributes should be undefined ', function () {
+ ['isVisible', 'value', 'recommendedValue', 'description', 'isReconfigurable', 'isRequired', 'displayName', 'showLabel', 'unit'].forEach(function (p) {
+ it(p, function () {
+ expect(siteProperty[p]).to.not.exist;
+ });
+ });
});
/**
@@ -68,9 +64,13 @@ describe('hdp2SiteProperties', function () {
* name
* filename
*/
- it('Check primary attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Attributes that uniquely represent a property should be defined ', function () {
- expect(siteProperty.name).to.not.equal(undefined);
- expect(siteProperty.filename).to.not.equal(undefined);
+ describe('Check primary attributes of "' + siteProperty.filename + '/' + siteProperty.name + '"' + '. Attributes that uniquely represent a property should be defined ', function () {
+ it('name', function () {
+ expect(siteProperty.name).to.not.equal(undefined);
+ });
+ it('filename', function () {
+ expect(siteProperty.filename).to.not.equal(undefined);
+ });
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/mappers/alert_definition_summary_mapper_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mappers/alert_definition_summary_mapper_test.js b/ambari-web/test/mappers/alert_definition_summary_mapper_test.js
index 946839a..9208766 100644
--- a/ambari-web/test/mappers/alert_definition_summary_mapper_test.js
+++ b/ambari-web/test/mappers/alert_definition_summary_mapper_test.js
@@ -21,7 +21,7 @@ require('mappers/alert_definition_summary_mapper');
describe('App.alertDefinitionSummaryMapper', function () {
- describe('#map', function() {
+ describe('#map', function () {
var testModels = [
App.AlertDefinition.createRecord({id: 1, enabled: true, type: 'PORT'}),
@@ -36,8 +36,18 @@ describe('App.alertDefinitionSummaryMapper', function () {
{
definition_id: 1,
summary: {
- OK: {count: 1, original_timestamp: 1, maintenance_count: 0, latest_text : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"},
- WARNING: {count: 1, original_timestamp: 2, maintenance_count: 0, latest_text : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"},
+ OK: {
+ count: 1,
+ original_timestamp: 1,
+ maintenance_count: 0,
+ latest_text: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
+ WARNING: {
+ count: 1,
+ original_timestamp: 2,
+ maintenance_count: 0,
+ latest_text: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
CRITICAL: {count: 0, original_timestamp: 0, maintenance_count: 1},
UNKNOWN: {count: 0, original_timestamp: 0, maintenance_count: 0}
}
@@ -45,8 +55,18 @@ describe('App.alertDefinitionSummaryMapper', function () {
{
definition_id: 2,
summary: {
- OK: {count: 1, original_timestamp: 1, maintenance_count: 0, latest_text : "HTTP 200 response in 0.000 seconds"},
- WARNING: {count: 5, original_timestamp: 2, maintenance_count: 0, latest_text : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"},
+ OK: {
+ count: 1,
+ original_timestamp: 1,
+ maintenance_count: 0,
+ latest_text: "HTTP 200 response in 0.000 seconds"
+ },
+ WARNING: {
+ count: 5,
+ original_timestamp: 2,
+ maintenance_count: 0,
+ latest_text: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
CRITICAL: {count: 1, original_timestamp: 1, maintenance_count: 0},
UNKNOWN: {count: 1, original_timestamp: 3, maintenance_count: 0}
}
@@ -54,25 +74,50 @@ describe('App.alertDefinitionSummaryMapper', function () {
{
definition_id: 3,
summary: {
- OK: {count: 1, original_timestamp: 1, maintenance_count: 0, latest_text : "HTTP 200 response in 0.000 seconds"},
+ OK: {
+ count: 1,
+ original_timestamp: 1,
+ maintenance_count: 0,
+ latest_text: "HTTP 200 response in 0.000 seconds"
+ },
WARNING: {count: 2, original_timestamp: 2, maintenance_count: 2},
- CRITICAL: {count: 3, original_timestamp: 4, maintenance_count: 0, latest_text : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"},
+ CRITICAL: {
+ count: 3,
+ original_timestamp: 4,
+ maintenance_count: 0,
+ latest_text: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
UNKNOWN: {count: 4, original_timestamp: 3, maintenance_count: 0}
}
},
{
definition_id: 4,
summary: {
- OK: {count: 4, original_timestamp: 1, maintenance_count: 0, latest_text : "HTTP 200 response in 0.000 seconds"},
+ OK: {
+ count: 4,
+ original_timestamp: 1,
+ maintenance_count: 0,
+ latest_text: "HTTP 200 response in 0.000 seconds"
+ },
WARNING: {count: 3, original_timestamp: 2, maintenance_count: 0},
CRITICAL: {count: 2, original_timestamp: 1, maintenance_count: 0},
- UNKNOWN: {count: 1, original_timestamp: 2, maintenance_count: 0, latest_text : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}
+ UNKNOWN: {
+ count: 1,
+ original_timestamp: 2,
+ maintenance_count: 0,
+ latest_text: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ }
}
},
{
definition_id: 5,
summary: {
- OK: {count: 1, original_timestamp: 1, maintenance_count: 0, latest_text : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"},
+ OK: {
+ count: 1,
+ original_timestamp: 1,
+ maintenance_count: 0,
+ latest_text: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
WARNING: {count: 1, original_timestamp: 2, maintenance_count: 0},
CRITICAL: {count: 1, original_timestamp: 3, maintenance_count: 0},
UNKNOWN: {count: 1, original_timestamp: 4, maintenance_count: 0}
@@ -81,45 +126,105 @@ describe('App.alertDefinitionSummaryMapper', function () {
]
};
- beforeEach(function() {
-
- sinon.stub(App.AlertDefinition, 'find', function() {return testModels;});
-
+ beforeEach(function () {
+ sinon.stub(App.AlertDefinition, 'find').returns(testModels);
+ App.alertDefinitionSummaryMapper.map(dataToMap);
});
- afterEach(function() {
-
+ afterEach(function () {
App.AlertDefinition.find.restore();
-
});
- it('should map summary info for each alert', function() {
-
- App.alertDefinitionSummaryMapper.map(dataToMap);
+ it('should map summary info for 1st alert', function () {
expect(App.AlertDefinition.find().findProperty('id', 1).get('lastTriggered')).to.equal(2);
- expect(App.AlertDefinition.find().findProperty('id', 1).get('summary')).to.eql({OK: {count: 1, maintenanceCount: 0, latestText : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}, WARNING: {count: 1, maintenanceCount: 0, latestText : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}, CRITICAL: {count: 0, maintenanceCount: 1}, UNKNOWN: {count: 0, maintenanceCount: 0}});
+ expect(App.AlertDefinition.find().findProperty('id', 1).get('summary')).to.eql({
+ OK: {
+ count: 1,
+ maintenanceCount: 0,
+ latestText: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
+ WARNING: {
+ count: 1,
+ maintenanceCount: 0,
+ latestText: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
+ CRITICAL: {count: 0, maintenanceCount: 1},
+ UNKNOWN: {count: 0, maintenanceCount: 0}
+ });
+ });
+ it('should map summary info for 2nd alert', function () {
expect(App.AlertDefinition.find().findProperty('id', 2).get('lastTriggered')).to.equal(3);
- expect(App.AlertDefinition.find().findProperty('id', 2).get('summary')).to.eql({OK: {count: 1, maintenanceCount: 0, latestText : "HTTP 200 response in 0.000 seconds"}, WARNING: {count: 5, maintenanceCount: 0, latestText : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}, CRITICAL: {count: 1, maintenanceCount: 0}, UNKNOWN: {count: 1, maintenanceCount: 0}});
+ expect(App.AlertDefinition.find().findProperty('id', 2).get('summary')).to.eql({
+ OK: {
+ count: 1,
+ maintenanceCount: 0,
+ latestText: "HTTP 200 response in 0.000 seconds"
+ },
+ WARNING: {
+ count: 5,
+ maintenanceCount: 0,
+ latestText: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
+ CRITICAL: {count: 1, maintenanceCount: 0},
+ UNKNOWN: {count: 1, maintenanceCount: 0}
+ });
+ });
+ it('should map summary info for 3rd alert', function () {
expect(App.AlertDefinition.find().findProperty('id', 3).get('lastTriggered')).to.equal(4);
- expect(App.AlertDefinition.find().findProperty('id', 3).get('summary')).to.eql({OK: {count: 1, maintenanceCount: 0, latestText : "HTTP 200 response in 0.000 seconds"}, WARNING: {count: 2, maintenanceCount: 2}, CRITICAL: {count: 3, maintenanceCount: 0, latestText : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}, UNKNOWN: {count: 4, maintenanceCount: 0}});
+ expect(App.AlertDefinition.find().findProperty('id', 3).get('summary')).to.eql({
+ OK: {
+ count: 1,
+ maintenanceCount: 0,
+ latestText: "HTTP 200 response in 0.000 seconds"
+ },
+ WARNING: {count: 2, maintenanceCount: 2},
+ CRITICAL: {
+ count: 3,
+ maintenanceCount: 0,
+ latestText: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
+ UNKNOWN: {count: 4, maintenanceCount: 0}
+ });
+ });
+ it('should map summary info for 4th alert', function () {
expect(App.AlertDefinition.find().findProperty('id', 4).get('lastTriggered')).to.equal(2);
- expect(App.AlertDefinition.find().findProperty('id', 4).get('summary')).to.eql({OK: {count: 4, maintenanceCount: 0, latestText : "HTTP 200 response in 0.000 seconds"}, WARNING: {count: 3, maintenanceCount: 0}, CRITICAL: {count: 2, maintenanceCount: 0}, UNKNOWN: {count: 1, maintenanceCount: 0, latestText : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}});
+ expect(App.AlertDefinition.find().findProperty('id', 4).get('summary')).to.eql({
+ OK: {
+ count: 4,
+ maintenanceCount: 0,
+ latestText: "HTTP 200 response in 0.000 seconds"
+ },
+ WARNING: {count: 3, maintenanceCount: 0},
+ CRITICAL: {count: 2, maintenanceCount: 0},
+ UNKNOWN: {
+ count: 1,
+ maintenanceCount: 0,
+ latestText: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ }
+ });
+ });
+ it('should map summary info for 5th alert', function () {
expect(App.AlertDefinition.find().findProperty('id', 5).get('lastTriggered')).to.equal(4);
- expect(App.AlertDefinition.find().findProperty('id', 5).get('summary')).to.eql({OK: {count: 1, maintenanceCount: 0, latestText : "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"}, WARNING: {count: 1, maintenanceCount: 0}, CRITICAL: {count: 1, maintenanceCount: 0}, UNKNOWN: {count: 1, maintenanceCount: 0}});
-
+ expect(App.AlertDefinition.find().findProperty('id', 5).get('summary')).to.eql({
+ OK: {
+ count: 1,
+ maintenanceCount: 0,
+ latestText: "Connection failed: [Errno 111] Connection refused to c6407.ambari.apache.org:60000"
+ },
+ WARNING: {count: 1, maintenanceCount: 0},
+ CRITICAL: {count: 1, maintenanceCount: 0},
+ UNKNOWN: {count: 1, maintenanceCount: 0}
+ });
});
it('should clear summary for disabled definitions', function () {
-
- App.alertDefinitionSummaryMapper.map(dataToMap);
expect(App.AlertDefinition.find().findProperty('id', 6).get('summary')).to.eql({});
-
});
});
-});
+});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/mappers/configs/service_config_version_mapper_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mappers/configs/service_config_version_mapper_test.js b/ambari-web/test/mappers/configs/service_config_version_mapper_test.js
index c118ada..c38c5db 100644
--- a/ambari-web/test/mappers/configs/service_config_version_mapper_test.js
+++ b/ambari-web/test/mappers/configs/service_config_version_mapper_test.js
@@ -88,30 +88,69 @@ describe.skip('App.serviceConfigVersionsMapper', function () {
expect(App.ServiceConfigVersion.find().get('length')).to.equal(0);
});
- it('should load data to model', function() {
- App.serviceConfigVersionsMapper.map(json);
- expect(App.ServiceConfigVersion.find().get('length')).to.equal(2);
- expect(App.ServiceConfigVersion.find().mapProperty('id')).to.eql(['SERVICE1_1','SERVICE2_4']);
+ describe('should load data to model', function() {
- //SERVICE1_1
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('createTime')).to.eql(1425979244738);
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('groupId')).to.eql(-1);
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('hosts')).to.eql(defaultAllHosts);
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('isCurrent')).to.be.true;
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('version')).to.eql(1);
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('notes')).to.eql("Initial configurations for SERVICE1");
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('serviceName')).to.eql("SERVICE1");
- expect(App.ServiceConfigVersion.find('SERVICE1_1').get('author')).to.eql("admin");
+ beforeEach(function () {
+ App.serviceConfigVersionsMapper.map(json);
+ });
- //SERVICE1_2
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('createTime')).to.eql(1426088137115);
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('groupId')).to.eql(2);
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('hosts')).to.eql(["host1"]);
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('isCurrent')).to.be.false;
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('version')).to.eql(4);
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('notes')).to.eql("");
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('serviceName')).to.eql("SERVICE2");
- expect(App.ServiceConfigVersion.find('SERVICE2_4').get('author')).to.eql("admin");
+ it('two versions are mapped', function () {
+ expect(App.ServiceConfigVersion.find().get('length')).to.equal(2);
+ });
+
+ it('services have correct ids', function () {
+ expect(App.ServiceConfigVersion.find().mapProperty('id')).to.eql(['SERVICE1_1','SERVICE2_4']);
+ });
+
+ it('SERVICE1_1 createTime', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('createTime')).to.equal(1425979244738);
+ });
+ it('SERVICE1_1 groupId', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('groupId')).to.equal(-1);
+ });
+ it('SERVICE1_1 hosts', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('hosts')).to.eql(defaultAllHosts);
+ });
+ it('SERVICE1_1 isCurrent', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('isCurrent')).to.be.true;
+ });
+ it('SERVICE1_1 version', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('version')).to.equal(1);
+ });
+ it('SERVICE1_1 notes', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('notes')).to.equal("Initial configurations for SERVICE1");
+ });
+ it('SERVICE1_1 serviceName', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('serviceName')).to.equal("SERVICE1");
+ });
+ it('SERVICE1_1 author', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE1_1').get('author')).to.equal("admin");
+ });
+
+ it('SERVICE2_4 createTime', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('createTime')).to.equal(1426088137115);
+ });
+ it('SERVICE2_4 groupId', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('groupId')).to.equal(2);
+ });
+ it('SERVICE2_4 hosts', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('hosts')).to.eql(["host1"]);
+ });
+ it('SERVICE2_4 isCurrent', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('isCurrent')).to.be.false;
+ });
+ it('SERVICE2_4 version', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('version')).to.equal(4);
+ });
+ it('SERVICE2_4 notes', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('notes')).to.equal("");
+ });
+ it('SERVICE2_4 serviceName', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('serviceName')).to.equal("SERVICE2");
+ });
+ it('SERVICE2_4 author', function () {
+ expect(App.ServiceConfigVersion.find('SERVICE2_4').get('author')).to.equal("admin");
+ });
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f8213edb/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js b/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js
index 3c06724..81341bd 100644
--- a/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js
+++ b/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js
@@ -21,196 +21,250 @@ require('mappers/configs/stack_config_properties_mapper');
describe.skip('App.stackConfigPropertiesMapper', function () {
- describe("#map", function() {
-
- var json = { items: [
- {
- "StackServices" : {
- "service_name" : "HBASE",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "config_types" : {
- "site1" : {
- "supports" : {
- "adding_forbidden" : "false",
- "do_not_extend" : "false",
- "final" : "true"
+ describe("#map", function () {
+
+ var json = {
+ items: [
+ {
+ "StackServices": {
+ "service_name": "HBASE",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "config_types": {
+ "site1": {
+ "supports": {
+ "adding_forbidden": "false",
+ "do_not_extend": "false",
+ "final": "true"
+ }
}
}
- }
- },
- "configurations" : [
- {
- "StackConfigurations" : {
- "final" : "false",
- "property_description" : "desc1",
- "property_name" : "p1",
- "property_display_name" : "P1",
- "property_type" : [ ],
- "property_value" : "v1",
- "service_name" : "s1",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "type" : "site1.xml",
- "property_depends_on": [
+ },
+ "configurations": [
+ {
+ "StackConfigurations": {
+ "final": "false",
+ "property_description": "desc1",
+ "property_name": "p1",
+ "property_display_name": "P1",
+ "property_type": [],
+ "property_value": "v1",
+ "service_name": "s1",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "type": "site1.xml",
+ "property_depends_on": [
+ {
+ "name": "p5",
+ "type": "site5"
+ }
+ ],
+ "property_value_attributes": {
+ "type": "int",
+ "minimum": "512",
+ "maximum": "10240",
+ "unit": "MB"
+ }
+ },
+ "dependencies": [
{
- "name": "p5",
- "type": "site5"
+ "StackConfigurationDependency": {
+ "dependency_name": "p4",
+ "dependency_type": "site4"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "StackServices": {
+ "service_name": "HDFS",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "config_types": {
+ "site2": {
+ "supports": {
+ "adding_forbidden": "false",
+ "do_not_extend": "false",
+ "final": "true"
+ }
+ },
+ "site3": {
+ "supports": {
+ "adding_forbidden": "false",
+ "do_not_extend": "false",
+ "final": "true"
}
- ],
- "property_value_attributes": {
- "type": "int",
- "minimum": "512",
- "maximum": "10240",
- "unit": "MB"
+ }
+ }
+ },
+ "configurations": [
+ {
+ "StackConfigurations": {
+ "final": "false",
+ "property_description": "desc3",
+ "property_name": "p2",
+ "property_display_name": "P2",
+ "property_type": [],
+ "property_value": "v2",
+ "service_name": "s2",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "type": "site2.xml"
}
},
- "dependencies": [
- {
- "StackConfigurationDependency" : {
- "dependency_name" : "p4",
- "dependency_type" : "site4"
- }
+ {
+ "StackConfigurations": {
+ "final": "false",
+ "property_description": "desc3",
+ "property_name": "p3",
+ "property_display_name": "P3",
+ "property_type": [],
+ "property_value": "v3",
+ "service_name": "s2",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "type": "site3.xml"
}
- ]
- }
- ]
- },
- {
- "StackServices" : {
- "service_name" : "HDFS",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "config_types" : {
- "site2" : {
- "supports" : {
- "adding_forbidden" : "false",
- "do_not_extend" : "false",
- "final" : "true"
+ },
+ {
+ "StackConfigurations": {
+ "final": "false",
+ "property_description": "desc4",
+ "property_name": "p4",
+ "property_display_name": "P4",
+ "property_type": ["PASSWORD"],
+ "property_value": "v4",
+ "service_name": "s2",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "type": "site3.xml"
}
},
- "site3" : {
- "supports" : {
- "adding_forbidden" : "false",
- "do_not_extend" : "false",
- "final" : "true"
+ {
+ "StackConfigurations": {
+ "final": "false",
+ "property_description": "desc5",
+ "property_name": "p5",
+ "property_display_name": "P5",
+ "property_type": ["USER"],
+ "property_value": "v4",
+ "service_name": "s2",
+ "stack_name": "HDP",
+ "stack_version": "2.2",
+ "type": "site3.xml"
}
}
- }
- },
- "configurations" : [
- {
- "StackConfigurations" : {
- "final" : "false",
- "property_description" : "desc3",
- "property_name" : "p2",
- "property_display_name" : "P2",
- "property_type" : [ ],
- "property_value" : "v2",
- "service_name" : "s2",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "type" : "site2.xml"
- }
- },
- {
- "StackConfigurations" : {
- "final" : "false",
- "property_description" : "desc3",
- "property_name" : "p3",
- "property_display_name" : "P3",
- "property_type" : [ ],
- "property_value" : "v3",
- "service_name" : "s2",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "type" : "site3.xml"
- }
- },
- {
- "StackConfigurations" : {
- "final" : "false",
- "property_description" : "desc4",
- "property_name" : "p4",
- "property_display_name" : "P4",
- "property_type" : [ "PASSWORD" ],
- "property_value" : "v4",
- "service_name" : "s2",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "type" : "site3.xml"
- }
- },
- {
- "StackConfigurations" : {
- "final" : "false",
- "property_description" : "desc5",
- "property_name" : "p5",
- "property_display_name" : "P5",
- "property_type" : [ "USER" ],
- "property_value" : "v4",
- "service_name" : "s2",
- "stack_name" : "HDP",
- "stack_version" : "2.2",
- "type" : "site3.xml"
- }
- }
- ]
- }
- ]};
+ ]
+ }
+ ]
+ };
beforeEach(function () {
App.resetDsStoreTypeMap(App.StackConfigProperty);
sinon.stub(App.store, 'commit', Em.K);
- sinon.stub(App.StackService, 'find', function() { return Em.A()});
+ sinon.stub(App.StackService, 'find', function () {
+ return Em.A()
+ });
});
- afterEach(function(){
+ afterEach(function () {
App.store.commit.restore();
App.StackService.find.restore();
});
- it('should not do anything as there is no json', function() {
+ it('should not do anything as there is no json', function () {
App.stackConfigPropertiesMapper.map(null);
expect(App.StackConfigProperty.find().get('length')).to.equal(0);
});
- it('should load data to model', function() {
- App.stackConfigPropertiesMapper.map(json);
- expect(App.StackConfigProperty.find().get('length')).to.equal(5);
- expect(App.StackConfigProperty.find().mapProperty('id')).to.eql(['p1__site1','p2__site2','p3__site3', 'p4__site3', 'p5__site3']);
-
- expect(App.StackConfigProperty.find('p1__site1').get('name')).to.eql('p1');
- expect(App.StackConfigProperty.find('p1__site1').get('displayName')).to.eql('P1');
- expect(App.StackConfigProperty.find('p1__site1').get('description')).to.eql('desc1');
- expect(App.StackConfigProperty.find('p1__site1').get('recommendedValue')).to.eql('v1');
- expect(App.StackConfigProperty.find('p1__site1').get('recommendedIsFinal')).to.be.false;
- expect(App.StackConfigProperty.find('p1__site1').get('serviceName')).to.eql('s1');
- expect(App.StackConfigProperty.find('p1__site1').get('stackName')).to.eql('HDP');
- expect(App.StackConfigProperty.find('p1__site1').get('stackVersion')).to.eql('2.2');
- expect(App.StackConfigProperty.find('p1__site1').get('type').toArray()).to.eql([]);
- expect(App.StackConfigProperty.find('p1__site1').get('fileName')).to.eql('site1.xml');
- expect(App.StackConfigProperty.find('p1__site1').get('propertyDependedBy')).to.eql([
- {
- "type": "site4",
- "name": "p4"
- }
- ]);
- expect(App.StackConfigProperty.find('p1__site1').get('propertyDependsOn')).to.eql([
- {
- "type": "site5",
- "name": "p5"
- }
- ]);
- expect(App.StackConfigProperty.find('p1__site1').get('valueAttributes')).to.eql({
- "type": "int",
- "minimum": "512",
- "maximum": "10240",
- "unit": "MB"
- });
- expect(App.StackConfigProperty.find('p1__site1').get('supportsFinal')).to.be.true;
+ describe('should load data to model', function () {
+
+ beforeEach(function () {
+ App.stackConfigPropertiesMapper.map(json);
+ });
+
+ it('5 properties are mapped', function () {
+ expect(App.StackConfigProperty.find().get('length')).to.equal(5);
+ });
+
+ it('ids are valid', function () {
+ expect(App.StackConfigProperty.find().mapProperty('id')).to.eql(['p1__site1', 'p2__site2', 'p3__site3', 'p4__site3', 'p5__site3']);
+ });
+
+ it('name is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('name')).to.eql('p1');
+ });
+
+ it('displayName is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('displayName')).to.eql('P1');
+ });
+
+ it('description is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('description')).to.eql('desc1');
+ });
+
+ it('recommendedValue is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('recommendedValue')).to.eql('v1');
+ });
+
+ it('recommendedIsFinal is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('recommendedIsFinal')).to.be.false;
+ });
+
+ it('serviceName is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('serviceName')).to.eql('s1');
+ });
+
+ it('stackName is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('stackName')).to.eql('HDP');
+ });
+
+ it('stackVersion is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('stackVersion')).to.eql('2.2');
+ });
+
+ it('type is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('type').toArray()).to.eql([]);
+ });
+
+ it('fileName is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('fileName')).to.eql('site1.xml');
+ });
+
+ it('propertyDependedBy is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('propertyDependedBy')).to.eql([
+ {
+ "type": "site4",
+ "name": "p4"
+ }
+ ]);
+ });
+
+ it('propertyDependsOn is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('propertyDependsOn')).to.eql([
+ {
+ "type": "site5",
+ "name": "p5"
+ }
+ ]);
+ });
+
+ it('valueAttributes is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('valueAttributes')).to.eql({
+ "type": "int",
+ "minimum": "512",
+ "maximum": "10240",
+ "unit": "MB"
+ });
+ });
+
+ it('supportsFinal is valid', function () {
+ expect(App.StackConfigProperty.find('p1__site1').get('supportsFinal')).to.be.true;
+ });
});
- it('should set "displayType" by "property_type" attribute', function() {
+ it('should set "displayType" by "property_type" attribute', function () {
App.stackConfigPropertiesMapper.map(json);
var prop = App.StackConfigProperty.find().findProperty('name', 'p4');
var prop2 = App.StackConfigProperty.find().findProperty('name', 'p5');