Переглянути джерело

AMBARI-14352. Should show error message when "Pause Upgrade" failed. (Xi Wang via Jaimin)

Jaimin Jetly 9 роки тому
батько
коміт
869ecc234f

+ 2 - 0
ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js

@@ -1534,6 +1534,8 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
         wizardControllerName: self.get('name'),
         localdb: App.db.data
       });
+    }).fail(function () {
+      return App.showAlertPopup(Em.I18n.t('admin.stackUpgrade.state.paused.fail.header'), Em.I18n.t('admin.stackUpgrade.state.paused.fail.body'));
     });
   },
 

+ 2 - 0
ambari-web/app/messages.js

@@ -1532,6 +1532,8 @@ Em.I18n.translations = {
   'admin.stackUpgrade.title': "Stack and Versions",
   'admin.stackUpgrade.state.inProgress': "Upgrade in Progress",
   'admin.stackUpgrade.state.paused': "Upgrade Paused",
+  'admin.stackUpgrade.state.paused.fail.header': "Pause Upgrade failed",
+  'admin.stackUpgrade.state.paused.fail.body': "Upgrade cannot be paused, try other options.",
   'admin.stackUpgrade.state.aborted': "Upgrade Aborted",
   'admin.stackUpgrade.state.completed': "Upgrade Finished",
   'admin.stackUpgrade.state.inProgress.downgrade': "Downgrade in Progress",

+ 24 - 6
ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js

@@ -1332,11 +1332,6 @@ describe('App.MainAdminStackAndUpgradeController', function() {
 
   describe("#suspendUpgrade()", function() {
     beforeEach(function () {
-      sinon.stub(controller, 'abortUpgrade').returns({
-        done: function (callback) {
-          callback();
-        }
-      });
       sinon.stub(controller, 'setDBProperty', Em.K);
       sinon.stub(App.clusterStatus, 'setClusterStatus', Em.K);
     });
@@ -1345,13 +1340,36 @@ describe('App.MainAdminStackAndUpgradeController', function() {
       controller.setDBProperty.restore();
       App.clusterStatus.setClusterStatus.restore();
     });
-    it("", function() {
+    it("Suspend upgrade successfully", function() {
+      sinon.stub(controller, 'abortUpgrade').returns({
+        done: function (callback) {
+          callback();
+          return ({
+            fail: function () {}
+          })
+        }
+      });
       controller.suspendUpgrade();
       expect(controller.abortUpgrade.calledOnce).to.be.true;
       expect(App.get('upgradeState')).to.equal('ABORTED');
       expect(controller.setDBProperty.calledWith('upgradeState', 'ABORTED')).to.be.true;
       expect(App.clusterStatus.setClusterStatus.calledOnce).to.be.true;
     });
+    it("Suspend upgrade failed", function() {
+      sinon.stub(controller, 'abortUpgrade').returns({
+        done: function (callback) {
+          return ({
+            fail: function (callback) {
+              callback();
+            }
+          })
+        }
+      });
+      controller.suspendUpgrade();
+      expect(controller.abortUpgrade.calledOnce).to.be.true;
+      expect(controller.setDBProperty.calledWith('upgradeState', 'ABORTED')).to.be.false;
+      expect(App.clusterStatus.setClusterStatus.calledOnce).to.be.false;
+    });
   });
 
   describe("#resumeUpgrade()", function() {