AMBARI-13940 Moving oozie fails at DB connection. (atkach)

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

Branch: refs/heads/branch-dev-patch-upgrade
Commit: 31c99869f341dec5c9b7821dcd5c5a9247f27ada
Parents: 15ffc01
Author: Andrii Tkach <atk...@hortonworks.com>
Authored: Wed Nov 18 13:54:16 2015 +0200
Committer: Andrii Tkach <atk...@hortonworks.com>
Committed: Wed Nov 18 13:54:16 2015 +0200

----------------------------------------------------------------------
 .../main/service/reassign/step4_controller.js   |  4 +-
 ambari-web/app/views/common/controls_view.js    | 11 ++---
 .../service/reassign/step4_controller_test.js   | 42 ++++++++++++++++++++
 .../test/views/common/controls_view_test.js     | 27 +++++++++++++
 4 files changed, 77 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/31c99869/ambari-web/app/controllers/main/service/reassign/step4_controller.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/controllers/main/service/reassign/step4_controller.js 
b/ambari-web/app/controllers/main/service/reassign/step4_controller.js
index 9258c95..1263500 100644
--- a/ambari-web/app/controllers/main/service/reassign/step4_controller.js
+++ b/ambari-web/app/controllers/main/service/reassign/step4_controller.js
@@ -1145,7 +1145,7 @@ App.ReassignMasterWizardStep4Controller = 
App.HighAvailabilityProgressPageContro
   prepareDBCheckAction: function() {
     var params = this.get('preparedDBProperties');
 
-    ambariProperties = App.router.get('clusterController.ambariProperties');
+    var ambariProperties = 
App.router.get('clusterController.ambariProperties');
 
     params['db_name'] = this.get('dbType');
     params['jdk_location'] = ambariProperties['jdk_location'];
@@ -1157,7 +1157,7 @@ App.ReassignMasterWizardStep4Controller = 
App.HighAvailabilityProgressPageContro
     params['check_execute_list'] = "db_connection_check";
 
     App.ajax.send({
-      name: 'custom_action.create',
+      name: 'cluster.custom_action.create',
       sender: this,
       data: {
         requestInfo: {

http://git-wip-us.apache.org/repos/asf/ambari/blob/31c99869/ambari-web/app/views/common/controls_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/controls_view.js 
b/ambari-web/app/views/common/controls_view.js
index 09ad31f..93acafa 100644
--- a/ambari-web/app/views/common/controls_view.js
+++ b/ambari-web/app/views/common/controls_view.js
@@ -1128,10 +1128,10 @@ App.CheckDBConnectionView = Ember.View.extend({
     this.set('isValidationPassed', isValid);
   }.observes('parentView.categoryConfigsAll.@each.isValid', 
'parentView.categoryConfigsAll.@each.value', 'databaseName'),
 
-   getConnectionProperty: function(regexp, isGetName) {
-   var _this = this;
-      var propertyName = _this.get('requiredProperties').filter(function(item) 
{
-    return regexp.test(item);
+  getConnectionProperty: function (regexp, isGetName) {
+    var _this = this;
+    var propertyName = _this.get('requiredProperties').filter(function (item) {
+      return regexp.test(item);
     })[0];
     return (isGetName) ? propertyName : 
_this.get('parentView.categoryConfigsAll').findProperty('name', 
propertyName).get('value');
   },
@@ -1245,9 +1245,10 @@ App.CheckDBConnectionView = Ember.View.extend({
    * @method createCustomAction
    **/
   createCustomAction: function() {
+    var isServiceInstalled = 
App.Service.find(this.get('parentView.service.serviceName')).get('isLoaded');
     var params = $.extend(true, {}, { db_name: 
this.get('databaseName').toLowerCase() }, this.get('connectionProperties'), 
this.get('ambariProperties'));
     App.ajax.send({
-      name: 'custom_action.create',
+      name: (isServiceInstalled) ? 'cluster.custom_action.create' : 
'custom_action.create',
       sender: this,
       data: {
         requestInfo: {

http://git-wip-us.apache.org/repos/asf/ambari/blob/31c99869/ambari-web/test/controllers/main/service/reassign/step4_controller_test.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/test/controllers/main/service/reassign/step4_controller_test.js 
b/ambari-web/test/controllers/main/service/reassign/step4_controller_test.js
index 42bf3db..d2b8054 100644
--- a/ambari-web/test/controllers/main/service/reassign/step4_controller_test.js
+++ b/ambari-web/test/controllers/main/service/reassign/step4_controller_test.js
@@ -1512,4 +1512,46 @@ describe('App.ReassignMasterWizardStep4Controller', 
function () {
 
   });
 
+  describe("#prepareDBCheckAction()", function() {
+    beforeEach(function () {
+      sinon.stub(App.router, 'get').returns({
+        'jdk_location': 'jdk_location',
+        'jdk.name': 'jdk.name',
+        'java.home': 'java.home'
+      });
+      sinon.stub(controller, 'getConnectionProperty').returns('prop1');
+    });
+    afterEach(function () {
+      App.router.get.restore();
+      controller.getConnectionProperty.restore();
+    });
+    it("", function () {
+      controller.set('content.reassignHosts', Em.Object.create({target: 
'host1'}));
+      controller.reopen({
+        dbType: 'type1',
+        requiredProperties: [],
+        preparedDBProperties: {}
+      });
+      controller.prepareDBCheckAction();
+      
expect(App.ajax.send.getCall(0).args[0].name).to.equal('cluster.custom_action.create');
+      
expect(App.ajax.send.getCall(0).args[0].success).to.equal('onCreateActionSuccess');
+      expect(App.ajax.send.getCall(0).args[0].error).to.equal('onTaskError');
+      expect(App.ajax.send.getCall(0).args[0].data).to.eql({
+        requestInfo: {
+          "context": "Check host",
+          "action": "check_host",
+          "parameters": {
+            "db_name": "type1",
+            "jdk_location": "jdk_location",
+            "jdk_name": "jdk.name",
+            "java_home": "java.home",
+            "threshold": 60,
+            "ambari_server_host": "",
+            "check_execute_list": "db_connection_check"
+          }
+        },
+        filteredHosts: ['host1']
+      });
+    });
+  });
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/31c99869/ambari-web/test/views/common/controls_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/controls_view_test.js 
b/ambari-web/test/views/common/controls_view_test.js
index 6443cf5..2699320 100644
--- a/ambari-web/test/views/common/controls_view_test.js
+++ b/ambari-web/test/views/common/controls_view_test.js
@@ -736,6 +736,33 @@ describe('App.CheckDBConnectionView', function () {
 
   });
 
+  describe("#createCustomAction()", function() {
+    var view;
+    beforeEach(function () {
+      view = App.CheckDBConnectionView.create({
+        databaseName: 'MySQL',
+        getConnectionProperty: Em.K,
+        masterHostName: 'host1'
+      });
+      sinon.stub(App.ajax, 'send');
+      this.mock = sinon.stub(App.Service, 'find');
+    });
+    afterEach(function () {
+      App.ajax.send.restore();
+      this.mock.restore();
+    });
+
+    it("service not installed", function() {
+      this.mock.returns(Em.Object.create({isLoaded: false}));
+      view.createCustomAction();
+      
expect(App.ajax.send.getCall(0).args[0].name).to.equal('custom_action.create');
+    });
+    it("service is installed", function() {
+      this.mock.returns(Em.Object.create({isLoaded: true}));
+      view.createCustomAction();
+      
expect(App.ajax.send.getCall(0).args[0].name).to.equal('cluster.custom_action.create');
+    });
+  });
 });
 
 describe('App.BaseUrlTextField', function () {

Reply via email to