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/05/03 15:31:26 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 dabd25d AMBARI-23690 The UI should ignore Kerberos identity references when setting the user-supplied Kerberos descriptor
dabd25d is described below
commit dabd25d68f576c3f7d7d8a668a390a7f3f330deb
Author: Andrii Tkach <at...@apache.org>
AuthorDate: Wed May 2 15:41:00 2018 +0300
AMBARI-23690 The UI should ignore Kerberos identity references when setting the user-supplied Kerberos descriptor
---
.../main/admin/kerberos/step5_controller.js | 39 +-------
.../main/admin/kerberos/step7_controller.js | 37 +-------
.../main/admin/kerberos/wizard_controller.js | 23 -----
.../app/controllers/wizard/step8_controller.js | 2 +-
ambari-web/app/mixins/wizard/addSecurityConfigs.js | 56 +++++++++++
ambari-web/app/routes/add_kerberos_routes.js | 2 +-
.../kerberos/kerberos_wizard_controler_test.js | 51 ----------
.../main/admin/kerberos/step5_controller_test.js | 38 --------
.../main/admin/kerberos/step7_controller_test.js | 38 --------
ambari-web/test/controllers/wizard/step8_test.js | 2 +
.../test/mixins/wizard/addSeccurityConfigs_test.js | 105 +++++++++++++++++++++
11 files changed, 170 insertions(+), 223 deletions(-)
diff --git a/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js
index ac36c6c..7d83c44 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js
@@ -15,10 +15,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+var App = require('app');
var stringUtils = require('utils/string_utils');
var fileUtils = require('utils/file_utils');
-App.KerberosWizardStep5Controller = App.KerberosProgressPageController.extend({
+App.KerberosWizardStep5Controller = App.KerberosProgressPageController.extend(App.AddSecurityConfigs, {
name: 'kerberosWizardStep5Controller',
/**
@@ -92,43 +93,7 @@ App.KerberosWizardStep5Controller = App.KerberosProgressPageController.extend({
return array;
},
- /**
- * Send request to post kerberos descriptor
- * @param kerberosDescriptor
- * @returns {$.ajax|*}
- */
- postKerberosDescriptor: function (kerberosDescriptor) {
- return App.ajax.send({
- name: 'admin.kerberos.cluster.artifact.create',
- sender: this,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: kerberosDescriptor
- }
- }
- });
- },
- /**
- * Send request to update kerberos descriptor
- * @param kerberosDescriptor
- * @returns {$.ajax|*}
- */
- putKerberosDescriptor: function (kerberosDescriptor) {
- return App.ajax.send({
- name: 'admin.kerberos.cluster.artifact.update',
- sender: this,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: kerberosDescriptor
- }
- },
- success: 'unkerberizeCluster',
- error: 'unkerberizeCluster'
- });
- },
/**
* Send request to unkerberisze cluster
diff --git a/ambari-web/app/controllers/main/admin/kerberos/step7_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step7_controller.js
index 50e5ec3..21d7653 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/step7_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/step7_controller.js
@@ -16,7 +16,9 @@
* limitations under the License.
*/
-App.KerberosWizardStep7Controller = App.KerberosProgressPageController.extend({
+var App = require('app');
+
+App.KerberosWizardStep7Controller = App.KerberosProgressPageController.extend(App.AddSecurityConfigs, {
name: 'kerberosWizardStep7Controller',
clusterDeployState: 'KERBEROS_DEPLOY',
isSingleRequestPage: true,
@@ -77,39 +79,6 @@ App.KerberosWizardStep7Controller = App.KerberosProgressPageController.extend({
App.router.transitionTo('step7');
},
- postKerberosDescriptor: function (kerberosDescriptor) {
- return App.ajax.send({
- name: 'admin.kerberos.cluster.artifact.create',
- sender: this,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: kerberosDescriptor
- }
- }
- });
- },
-
- /**
- * Send request to update kerberos descriptor
- * @param kerberosDescriptor
- * @returns {$.ajax|*}
- */
- putKerberosDescriptor: function (kerberosDescriptor) {
- return App.ajax.send({
- name: 'admin.kerberos.cluster.artifact.update',
- sender: this,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: kerberosDescriptor
- }
- },
- success: 'unkerberizeCluster',
- error: 'unkerberizeCluster'
- });
- },
-
retry: function () {
this.set('showRetry', false);
this.removeObserver('tasks.@each.status', this, 'onTaskStatusChange');
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 c5a8cc1..cb5beea 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
@@ -395,28 +395,5 @@ 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/controllers/wizard/step8_controller.js b/ambari-web/app/controllers/wizard/step8_controller.js
index 261914d..afba6bd 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -888,7 +888,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
data: {
artifactName: 'kerberos_descriptor',
data: {
- artifact_data: kerberosDescriptor
+ artifact_data: this.removeIdentityReferences(kerberosDescriptor)
}
}
};
diff --git a/ambari-web/app/mixins/wizard/addSecurityConfigs.js b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
index e6a6adb..54cdb82 100644
--- a/ambari-web/app/mixins/wizard/addSecurityConfigs.js
+++ b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
@@ -853,6 +853,62 @@ App.AddSecurityConfigs = Em.Mixin.create({
properties: properties
};
});
+ },
+
+ postKerberosDescriptor: function (kerberosDescriptor) {
+ return App.ajax.send({
+ name: 'admin.kerberos.cluster.artifact.create',
+ sender: this,
+ data: {
+ artifactName: 'kerberos_descriptor',
+ data: {
+ artifact_data: this.removeIdentityReferences(kerberosDescriptor)
+ }
+ }
+ });
+ },
+
+ /**
+ * Send request to update kerberos descriptor
+ * @param kerberosDescriptor
+ * @returns {$.ajax|*}
+ */
+ putKerberosDescriptor: function (kerberosDescriptor) {
+ return App.ajax.send({
+ name: 'admin.kerberos.cluster.artifact.update',
+ sender: this,
+ data: {
+ artifactName: 'kerberos_descriptor',
+ data: {
+ artifact_data: this.removeIdentityReferences(kerberosDescriptor)
+ }
+ },
+ success: 'unkerberizeCluster',
+ error: 'unkerberizeCluster'
+ });
+ },
+
+ /**
+ * 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 a216c97..02f09a1 100644
--- a/ambari-web/app/routes/add_kerberos_routes.js
+++ b/ambari-web/app/routes/add_kerberos_routes.js
@@ -239,7 +239,7 @@ module.exports = App.WizardRoute.extend({
nextTransition: function (router) {
var wizardCtrl = router.get('kerberosWizardController');
var step5Controller = router.get('kerberosWizardStep5Controller');
- var kerberosDescriptor = wizardCtrl.removeIdentityReferences(wizardCtrl.get('kerberosDescriptorConfigs'));
+ var kerberosDescriptor = wizardCtrl.get('kerberosDescriptorConfigs');
wizardCtrl.cacheStepConfigValues(router.get('kerberosWizardStep4Controller'));
step5Controller.postKerberosDescriptor(kerberosDescriptor).always(function (data, result) {
if (result === 'error' && data.status === 409) {
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 a31520f..482626e 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
@@ -528,55 +528,4 @@ describe('App.KerberosWizardController', function() {
expect(mock.onResolve.calledOnce).to.be.true;
});
});
-
- 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'
- }
- ]
- }
- ]
- }
- ]
- });
- });
- });
});
diff --git a/ambari-web/test/controllers/main/admin/kerberos/step5_controller_test.js b/ambari-web/test/controllers/main/admin/kerberos/step5_controller_test.js
index 8718802..4744f1b 100644
--- a/ambari-web/test/controllers/main/admin/kerberos/step5_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/kerberos/step5_controller_test.js
@@ -98,44 +98,6 @@ describe('App.KerberosWizardStep5Controller', function() {
});
});
- describe("#postKerberosDescriptor()", function () {
-
- it("App.ajax.send should be called", function() {
- c.postKerberosDescriptor('kerberosDescriptor');
- var args = testHelpers.findAjaxRequest('name', 'admin.kerberos.cluster.artifact.create');
- expect(args[0]).to.be.eql({
- name: 'admin.kerberos.cluster.artifact.create',
- sender: c,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: 'kerberosDescriptor'
- }
- }
- });
- });
- });
-
- describe("#putKerberosDescriptor()", function () {
-
- it("App.ajax.send should be called", function() {
- c.putKerberosDescriptor('kerberosDescriptor');
- var args = testHelpers.findAjaxRequest('name', 'admin.kerberos.cluster.artifact.update');
- expect(args[0]).to.be.eql({
- name: 'admin.kerberos.cluster.artifact.update',
- sender: c,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: 'kerberosDescriptor'
- }
- },
- success: 'unkerberizeCluster',
- error: 'unkerberizeCluster'
- });
- });
- });
-
describe("#unkerberizeCluster()", function () {
it("App.ajax.send should be called", function() {
diff --git a/ambari-web/test/controllers/main/admin/kerberos/step7_controller_test.js b/ambari-web/test/controllers/main/admin/kerberos/step7_controller_test.js
index de4dcb1..1506c4a 100644
--- a/ambari-web/test/controllers/main/admin/kerberos/step7_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/kerberos/step7_controller_test.js
@@ -112,44 +112,6 @@ describe('App.KerberosWizardStep7Controller', function () {
});
});
- describe("#postKerberosDescriptor()", function () {
-
- it("App.ajax.send should be called", function () {
- controller.postKerberosDescriptor(true);
- var args = testHelpers.findAjaxRequest('name', 'admin.kerberos.cluster.artifact.create');
- expect(args[0]).to.be.eql({
- name: 'admin.kerberos.cluster.artifact.create',
- sender: controller,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: true
- }
- }
- });
- });
- });
-
- describe("#putKerberosDescriptor()", function () {
-
- it("App.ajax.send should be called", function () {
- controller.putKerberosDescriptor(true);
- var args = testHelpers.findAjaxRequest('name', 'admin.kerberos.cluster.artifact.update');
- expect(args[0]).to.be.eql({
- name: 'admin.kerberos.cluster.artifact.update',
- sender: controller,
- data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: true
- }
- },
- success: 'unkerberizeCluster',
- error: 'unkerberizeCluster'
- });
- });
- });
-
describe("#retry()", function () {
beforeEach(function() {
diff --git a/ambari-web/test/controllers/wizard/step8_test.js b/ambari-web/test/controllers/wizard/step8_test.js
index 683ab6b..790b807 100644
--- a/ambari-web/test/controllers/wizard/step8_test.js
+++ b/ambari-web/test/controllers/wizard/step8_test.js
@@ -2320,11 +2320,13 @@ describe('App.WizardStep8Controller', function () {
return App.db.get(this.get('dbNamespace'), key);
}
}));
+ sinon.stub(installerStep8Controller, 'removeIdentityReferences').returns(1234);
});
afterEach(function () {
installerStep8Controller.addRequestToAjaxQueue.restore();
installerStep8Controller.get.restore();
+ installerStep8Controller.removeIdentityReferences.restore();
});
it('should send request instantly', function () {
diff --git a/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js b/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
index 0ed261a..9cbdf08 100644
--- a/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
+++ b/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
@@ -19,6 +19,7 @@
var App = require('app');
var stackDescriptorData = require('test/mock_data_setup/stack_descriptors');
var stackDescriptor = stackDescriptorData.KerberosDescriptor.kerberos_descriptor;
+var testHelpers = require('test/helpers');
require('mixins/wizard/addSecurityConfigs');
@@ -325,4 +326,108 @@ describe('App.AddSecurityConfigs', 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'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ });
+ });
+ });
+
+ describe("#postKerberosDescriptor()", function () {
+ beforeEach(function() {
+ sinon.stub(controller, 'removeIdentityReferences').returns('kerberosDescriptor');
+ });
+
+ afterEach(function() {
+ controller.removeIdentityReferences.restore();
+ });
+
+ it("App.ajax.send should be called", function() {
+ controller.postKerberosDescriptor('kerberosDescriptor');
+ var args = testHelpers.findAjaxRequest('name', 'admin.kerberos.cluster.artifact.create');
+ expect(args[0]).to.be.eql({
+ name: 'admin.kerberos.cluster.artifact.create',
+ sender: controller,
+ data: {
+ artifactName: 'kerberos_descriptor',
+ data: {
+ artifact_data: 'kerberosDescriptor'
+ }
+ }
+ });
+ });
+ });
+
+ describe("#putKerberosDescriptor()", function () {
+
+ beforeEach(function() {
+ sinon.stub(controller, 'removeIdentityReferences').returns('kerberosDescriptor');
+ });
+
+ afterEach(function() {
+ controller.removeIdentityReferences.restore();
+ });
+
+ it("App.ajax.send should be called", function() {
+ controller.putKerberosDescriptor('kerberosDescriptor');
+ var args = testHelpers.findAjaxRequest('name', 'admin.kerberos.cluster.artifact.update');
+ expect(args[0]).to.be.eql({
+ name: 'admin.kerberos.cluster.artifact.update',
+ sender: controller,
+ data: {
+ artifactName: 'kerberos_descriptor',
+ data: {
+ artifact_data: 'kerberosDescriptor'
+ }
+ },
+ success: 'unkerberizeCluster',
+ error: 'unkerberizeCluster'
+ });
+ });
+ });
+
});
--
To stop receiving notification emails like this one, please contact
atkach@apache.org.