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/06/06 15:57:19 UTC

ambari git commit: AMBARI-11755. Configs: changing to recommended doesn't tell of depedent config changes (onechiporenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk f8a329484 -> 090037800


AMBARI-11755. Configs: changing to recommended doesn't tell of depedent config changes (onechiporenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/09003780
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/09003780
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/09003780

Branch: refs/heads/trunk
Commit: 09003780069128f94f5c33c17c50504b6cde7700
Parents: f8a3294
Author: Oleg Nechiporenko <on...@apache.org>
Authored: Sat Jun 6 16:52:18 2015 +0300
Committer: Oleg Nechiporenko <on...@apache.org>
Committed: Sat Jun 6 16:52:18 2015 +0300

----------------------------------------------------------------------
 .../configs/widgets/config_widget_view.js       |  4 ++-
 .../configs/widgets/config_widget_view_test.js  | 33 ++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/09003780/ambari-web/app/views/common/configs/widgets/config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/config_widget_view.js b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
index a8b4b59..8d92de6 100644
--- a/ambari-web/app/views/common/configs/widgets/config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
@@ -266,7 +266,9 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
     var self = this;
     this.set('config.value', this.get('config.recommendedValue'));
     this.sendRequestRorDependentConfigs(this.get('config')).done(function() {
-      self.restoreDependentConfigs(self.get('config'));
+      if (self.get('config.value') === self.get('config.savedValue')) {
+        self.restoreDependentConfigs(self.get('config'));
+      }
     });
 
     if (this.get('config.supportsFinal')) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/09003780/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js b/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
index 031e4f2..30d7b71 100644
--- a/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
+++ b/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
@@ -230,4 +230,37 @@ describe('App.ConfigWidgetView', function () {
       expect(view.isValueCompatibleWithWidget()).to.be.false;
     });
   });
+
+  describe('#setRecommendedValue', function () {
+
+    beforeEach(function () {
+      sinon.stub(view, 'sendRequestRorDependentConfigs', function () {
+        return $.Deferred().resolve().promise();
+      });
+      sinon.stub(view, 'restoreDependentConfigs', Em.K);
+      view.set('config', Em.Object.create({
+        value: 1,
+        recommendedValue: 1,
+        savedValue: 1
+      }));
+    });
+
+    afterEach(function () {
+      view.sendRequestRorDependentConfigs.restore();
+      view.restoreDependentConfigs.restore();
+    });
+
+    it('should call restoreDependentConfigs if config.value is equal to config.savedValue', function () {
+      view.setRecommendedValue();
+      expect(view.restoreDependentConfigs.calledOnce).to.be.true;
+    });
+
+    it('should not call restoreDependentConfigs if config.value is not equal to config.savedValue', function () {
+      view.set('config.savedValue', 2);
+      view.setRecommendedValue();
+      expect(view.restoreDependentConfigs.called).to.be.false;
+    });
+
+  });
+
 });