Repository: ambari
Updated Branches:
  refs/heads/trunk 3ca4b0383 -> 38d3e2183


AMBARI-9796. Kerberos page not loading properly after ambari upgrade 
(alexantonenko)


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

Branch: refs/heads/trunk
Commit: 38d3e21833c62492e878ff753c49f96db7046fff
Parents: 3ca4b03
Author: Alex Antonenko <[email protected]>
Authored: Wed Feb 25 18:01:03 2015 +0200
Committer: Alex Antonenko <[email protected]>
Committed: Wed Feb 25 18:02:28 2015 +0200

----------------------------------------------------------------------
 .../app/controllers/main/admin/kerberos.js      | 13 ++++++++
 .../controllers/main/admin/kerberos_test.js     | 34 ++++++++++++++++++++
 2 files changed, 47 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/38d3e218/ambari-web/app/controllers/main/admin/kerberos.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/kerberos.js 
b/ambari-web/app/controllers/main/admin/kerberos.js
index 808c2c7..0a2bf8d 100644
--- a/ambari-web/app/controllers/main/admin/kerberos.js
+++ b/ambari-web/app/controllers/main/admin/kerberos.js
@@ -226,6 +226,19 @@ App.MainAdminKerberosController = 
App.KerberosWizardStep4Controller.extend({
   },
 
   /**
+   * Override <code>App.AddSecurityConfigs</code>.
+   * @returns {$.Deferred}
+   */
+  getDescriptorConfigs: function() {
+    var self = this;
+    // handle not existing artifact resource cluster
+    return this._super().fail(function() {
+      // if artifacts/kerberos_descriptor absent we should kerberize cluster.
+      self.set('securityEnabled', false);
+    });
+  },
+
+  /**
    * Override <code>App.KerberosWizardStep4Controller</code>
    *
    * @param {App.ServiceConfigProperty[]} properties

http://git-wip-us.apache.org/repos/asf/ambari/blob/38d3e218/ambari-web/test/controllers/main/admin/kerberos_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/kerberos_test.js 
b/ambari-web/test/controllers/main/admin/kerberos_test.js
index 57b9c94..cee070b 100644
--- a/ambari-web/test/controllers/main/admin/kerberos_test.js
+++ b/ambari-web/test/controllers/main/admin/kerberos_test.js
@@ -143,4 +143,38 @@ describe('App.MainAdminKerberosController', function() {
     });
 
   });
+
+  describe('#loadStep', function() {
+
+    it('security enabled but kerberos descriptor resource doesn\'t exist for 
cluster, security can be enabled', function() {
+      var controller = App.MainAdminKerberosController.create({ 
securityEnabled: true });
+      sinon.stub(App.router, 
'get').withArgs('mainAdminKerberosController.securityEnabled').returns(true);
+      sinon.spy(controller, 'setStepConfigs');
+      sinon.stub(controller, 
'loadClusterDescriptorConfigs').returns($.Deferred().reject());
+      controller.loadStep();
+      App.router.get.restore();
+      controller.loadClusterDescriptorConfigs.restore();
+      // configurations will not set
+      expect(controller.setStepConfigs.called).to.be.false;
+      controller.setStepConfigs.restore();
+      // security status should change to `false`
+      expect(controller.get('securityEnabled')).to.be.false;
+    });
+
+    it('security enabled and kerberos descriptor artifacts resource saved, 
security was enabled successfully', function() {
+      var controller = App.MainAdminKerberosController.create({ 
securityEnabled: true });
+      sinon.stub(App.router, 
'get').withArgs('mainAdminKerberosController.securityEnabled').returns(true);
+      sinon.stub(controller, 'setStepConfigs').returns(true);
+      sinon.stub(controller, 
'createServicesStackDescriptorConfigs').returns($.Deferred().resolve());
+      sinon.stub(controller, 
'loadClusterDescriptorConfigs').returns($.Deferred().resolve());
+      controller.loadStep();
+      App.router.get.restore();
+      controller.createServicesStackDescriptorConfigs.restore();
+      controller.loadClusterDescriptorConfigs.restore();
+      // configurations will set with current descriptor object
+      expect(controller.setStepConfigs.called).to.be.true;
+      controller.setStepConfigs.restore();
+    });
+
+  });
 });

Reply via email to