AMBARI-7634. Fix Slider Config names for ganglia hosts and clusters (onechiporenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/def4c946 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/def4c946 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/def4c946 Branch: refs/heads/branch-alerts-dev Commit: def4c946bb82d135adba1c69f5c803662aee6418 Parents: 601b1e0 Author: Oleg Nechiporenko <[email protected]> Authored: Fri Oct 3 18:53:05 2014 +0300 Committer: Oleg Nechiporenko <[email protected]> Committed: Fri Oct 3 18:53:05 2014 +0300 ---------------------------------------------------------------------- .../data/resource/slider-properties-2.json | 6 ++--- .../ui/app/controllers/slider_controller.js | 5 ++-- .../src/main/resources/ui/app/helpers/ajax.js | 4 ++-- .../src/main/resources/ui/app/routes/main.js | 4 ++-- .../ui/app/templates/createAppWizard/step1.hbs | 4 ++-- .../integration/pages/slider_errors_test.js | 2 +- .../processes/create_new_app_test.js | 25 ++++++++++++++++++++ 7 files changed, 38 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/app/assets/data/resource/slider-properties-2.json ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/app/assets/data/resource/slider-properties-2.json b/contrib/views/slider/src/main/resources/ui/app/assets/data/resource/slider-properties-2.json index 3ec0e66..5c3b17a 100644 --- a/contrib/views/slider/src/main/resources/ui/app/assets/data/resource/slider-properties-2.json +++ b/contrib/views/slider/src/main/resources/ui/app/assets/data/resource/slider-properties-2.json @@ -1,8 +1,8 @@ { "version": "1.0.0", - "validation": [], + "validations": [], "parameters": { - "gangliaHost": "c6401.ambari.apache.org", - "gangliaClusters": "App1:8881,App2:8882" + "ganglia.server.hostname": "c6401.ambari.apache.org", + "ganglia.additional.clusters": "App1:8881,App2:8882" } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/app/controllers/slider_controller.js ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/app/controllers/slider_controller.js b/contrib/views/slider/src/main/resources/ui/app/controllers/slider_controller.js index 6251a23..64a2834 100644 --- a/contrib/views/slider/src/main/resources/ui/app/controllers/slider_controller.js +++ b/contrib/views/slider/src/main/resources/ui/app/controllers/slider_controller.js @@ -65,11 +65,12 @@ App.SliderController = Ember.Controller.extend(App.RunPeriodically, { /** * initialize properties of GANGLIA that required by Slider View + * @method initGangliaProperties */ initGangliaProperties: function () { var sliderConfigs = App.SliderApp.store.all('sliderConfig'), - gangliaClusters = sliderConfigs.findBy('viewConfigName', 'gangliaClusters'), - gangliaHost = sliderConfigs.findBy('viewConfigName', 'gangliaHost'); + gangliaClusters = sliderConfigs.findBy('viewConfigName', 'ganglia.additional.clusters'), + gangliaHost = sliderConfigs.findBy('viewConfigName', 'ganglia.server.hostname'); App.set('gangliaClusters', this.formatGangliaClusters(gangliaClusters.get('value'))); App.set('gangliaHost', gangliaHost.get('value')); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js b/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js index c4864c2..02c5dc6 100644 --- a/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js +++ b/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js @@ -55,9 +55,9 @@ var urls = { "Content-Type": "text/plain; charset=utf-8" }, schema: { - required: ['version', 'validation', 'parameters'], + required: ['version', 'validations', 'parameters'], properties: { - validation: { + validations: { type: 'array' }, parameters: { http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/app/routes/main.js ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/app/routes/main.js b/contrib/views/slider/src/main/resources/ui/app/routes/main.js index 64510fa..4fa08b0 100644 --- a/contrib/views/slider/src/main/resources/ui/app/routes/main.js +++ b/contrib/views/slider/src/main/resources/ui/app/routes/main.js @@ -52,8 +52,8 @@ App.SliderAppsRoute = Ember.Route.extend({ // Load sliderConfigs to storage App.SliderApp.store.pushMany('sliderConfig', Em.A([ - Em.Object.create({id: 1, required: false, viewConfigName: 'gangliaHost', displayName: 'gangliaServer'}), - Em.Object.create({id: 2, required: false, viewConfigName: 'gangliaClusters', displayName: 'gangliaClusters'}) + Em.Object.create({id: 1, required: false, viewConfigName: 'ganglia.server.hostname', displayName: 'gangliaServer'}), + Em.Object.create({id: 2, required: false, viewConfigName: 'ganglia.additional.clusters', displayName: 'gangliaClusters'}) ])); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/app/templates/createAppWizard/step1.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/app/templates/createAppWizard/step1.hbs b/contrib/views/slider/src/main/resources/ui/app/templates/createAppWizard/step1.hbs index 4f49905..0711450 100644 --- a/contrib/views/slider/src/main/resources/ui/app/templates/createAppWizard/step1.hbs +++ b/contrib/views/slider/src/main/resources/ui/app/templates/createAppWizard/step1.hbs @@ -120,12 +120,12 @@ <div class="row"> <div class="col-xs-3"> <label class="control-label"> - {{view view.radioButton name="yarnLabel" selectionBinding="controller.newApp.selectedYarnLabel" value=2 class="radio-inline"}} + {{view view.radioButton name="yarnLabel" selectionBinding="controller.newApp.selectedYarnLabel" value=2 class="radio-inline special-label-radio"}} {{t wizard.step1.yarnLabels.options.specifyLabel}} </label> </div> <div class="col-xs-7"> - {{input type="text" class="form-control" disabledBinding="view.specLabelEnabled" valueBinding="controller.newApp.specialLabel"}} + {{input type="text" class="form-control special-label" disabledBinding="view.specLabelEnabled" valueBinding="controller.newApp.specialLabel"}} </div> </div> <!-- YARN Labels end --> http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/test/integration/pages/slider_errors_test.js ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/test/integration/pages/slider_errors_test.js b/contrib/views/slider/src/main/resources/ui/test/integration/pages/slider_errors_test.js index 402ddf1..78c797e 100644 --- a/contrib/views/slider/src/main/resources/ui/test/integration/pages/slider_errors_test.js +++ b/contrib/views/slider/src/main/resources/ui/test/integration/pages/slider_errors_test.js @@ -22,7 +22,7 @@ QUnit.module('integration/pages - index', { Ember.run(App, App.advanceReadiness); Em.run(function () { var p = { - validation: [ + validations: [ {message: 'Some mythical error'}, {message: 'Error with DNA'} ], http://git-wip-us.apache.org/repos/asf/ambari/blob/def4c946/contrib/views/slider/src/main/resources/ui/test/integration/processes/create_new_app_test.js ---------------------------------------------------------------------- diff --git a/contrib/views/slider/src/main/resources/ui/test/integration/processes/create_new_app_test.js b/contrib/views/slider/src/main/resources/ui/test/integration/processes/create_new_app_test.js index 1c27483..0aa3604 100644 --- a/contrib/views/slider/src/main/resources/ui/test/integration/processes/create_new_app_test.js +++ b/contrib/views/slider/src/main/resources/ui/test/integration/processes/create_new_app_test.js @@ -171,4 +171,29 @@ test('basic (no errors - just valid data)', function () { }); }); +}); + +test('check step1', function () { + + visit('/createAppWizard/step1'); + equal(find(selectors.buttonNext).attr('disabled'), 'disabled', '"Next"-button should be disabled at the beginning of Step 1'); + fillIn('#app-name-input', '1s'); + andThen(function () { + equal(find(selectors.buttonNext).attr('disabled'), 'disabled', '"Next"-button should be disabled because invalid name provided'); + }); + + fillIn('#app-name-input', '-'); + andThen(function () { + equal(find(selectors.buttonNext).attr('disabled'), 'disabled', '"Next"-button should be disabled because invalid name provided (2)'); + }); + + fillIn('#app-name-input', 's$1'); + andThen(function () { + equal(find(selectors.buttonNext).attr('disabled'), 'disabled', '"Next"-button should be disabled because invalid name provided (2)'); + }); + + equal(find('.special-label').attr('disabled'), 'disabled', '"Special YARN label"-textfield should be disabled'); + find('.special-label-radio').click(); + equal(find('.special-label').attr('disabled'), null, '"Special YARN label"-textfield should be enabled if proper radio-button selected'); + }); \ No newline at end of file
