You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2018/04/27 11:03:07 UTC
[ambari] branch trunk updated: AMBARI-23690 The UI should ignore
Kerberos identity references when setting the user-supplied Kerberos
descriptor
This is an automated email from the ASF dual-hosted git repository.
atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new a890b8c AMBARI-23690 The UI should ignore Kerberos identity references when setting the user-supplied Kerberos descriptor
a890b8c is described below
commit a890b8ce28c736410225349c25ec8f613929b6dc
Author: Andrii Tkach <at...@apache.org>
AuthorDate: Thu Apr 26 15:17:52 2018 +0300
AMBARI-23690 The UI should ignore Kerberos identity references when setting the user-supplied Kerberos descriptor
---
.../main/admin/kerberos/wizard_controller.js | 23 ++++++++++
ambari-web/app/routes/add_kerberos_routes.js | 6 +--
.../kerberos/kerberos_wizard_controler_test.js | 53 ++++++++++++++++++++--
3 files changed, 76 insertions(+), 6 deletions(-)
diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
index cb5beea..c5a8cc1 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
@@ -395,5 +395,28 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent,
});
return dfd.promise();
+ },
+
+ /**
+ * The UI should ignore Kerberos identity references
+ * when setting the user-supplied Kerberos descriptor
+ * @param {object} kerberosDescriptor
+ * @returns {object}
+ */
+ removeIdentityReferences: function(kerberosDescriptor) {
+ const notReference = (identity) => Em.isNone(identity.reference);
+ kerberosDescriptor.services.forEach((service) => {
+ if (service.identities) {
+ service.identities = service.identities.filter(notReference);
+ }
+ if (service.components) {
+ service.components.forEach((component) => {
+ if (component.identities) {
+ component.identities = component.identities.filter(notReference);
+ }
+ });
+ }
+ });
+ return kerberosDescriptor;
}
});
diff --git a/ambari-web/app/routes/add_kerberos_routes.js b/ambari-web/app/routes/add_kerberos_routes.js
index a13b5ae..a216c97 100644
--- a/ambari-web/app/routes/add_kerberos_routes.js
+++ b/ambari-web/app/routes/add_kerberos_routes.js
@@ -237,10 +237,10 @@ module.exports = App.WizardRoute.extend({
}
},
nextTransition: function (router) {
- var kerberosWizardController = router.get('kerberosWizardController');
+ var wizardCtrl = router.get('kerberosWizardController');
var step5Controller = router.get('kerberosWizardStep5Controller');
- var kerberosDescriptor = kerberosWizardController.get('kerberosDescriptorConfigs');
- kerberosWizardController.cacheStepConfigValues(router.get('kerberosWizardStep4Controller'));
+ var kerberosDescriptor = wizardCtrl.removeIdentityReferences(wizardCtrl.get('kerberosDescriptorConfigs'));
+ wizardCtrl.cacheStepConfigValues(router.get('kerberosWizardStep4Controller'));
step5Controller.postKerberosDescriptor(kerberosDescriptor).always(function (data, result) {
if (result === 'error' && data.status === 409) {
step5Controller.putKerberosDescriptor(kerberosDescriptor);
diff --git a/ambari-web/test/controllers/main/admin/kerberos/kerberos_wizard_controler_test.js b/ambari-web/test/controllers/main/admin/kerberos/kerberos_wizard_controler_test.js
index c158a89..a31520f 100644
--- a/ambari-web/test/controllers/main/admin/kerberos/kerberos_wizard_controler_test.js
+++ b/ambari-web/test/controllers/main/admin/kerberos/kerberos_wizard_controler_test.js
@@ -529,7 +529,54 @@ describe('App.KerberosWizardController', function() {
});
});
-
+ describe('#removeIdentityReferences', function() {
+ it('should return filtered descriptor', function() {
+ var descriptor = {
+ services: [
+ {
+ identities: [
+ {
+ reference: 'bar'
+ },
+ {
+ name: 'foo'
+ }
+ ],
+ components: [
+ {
+ identities: [
+ {
+ reference: 'bar'
+ },
+ {
+ name: 'foo'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ };
+ expect(controller.removeIdentityReferences(descriptor)).to.be.eql({
+ services: [
+ {
+ identities: [
+ {
+ name: 'foo'
+ }
+ ],
+ components: [
+ {
+ identities: [
+ {
+ name: 'foo'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ });
+ });
+ });
});
-
-
--
To stop receiving notification emails like this one, please contact
atkach@apache.org.