Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 20C4A200CBD for ; Thu, 6 Jul 2017 18:03:43 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1F04B166C68; Thu, 6 Jul 2017 16:03:43 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3F55B166C66 for ; Thu, 6 Jul 2017 18:03:42 +0200 (CEST) Received: (qmail 9090 invoked by uid 500); 6 Jul 2017 16:03:41 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 9081 invoked by uid 99); 6 Jul 2017 16:03:41 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Jul 2017 16:03:41 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5778CE1863; Thu, 6 Jul 2017 16:03:41 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: atkach@apache.org To: commits@ambari.apache.org Message-Id: <8139fb6d38cb465685c9df5dcfb363fd@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: ambari git commit: AMBARI-21416 Unable to Click on Stack Installation Details During Installation. (atkach) Date: Thu, 6 Jul 2017 16:03:41 +0000 (UTC) archived-at: Thu, 06 Jul 2017 16:03:43 -0000 Repository: ambari Updated Branches: refs/heads/branch-feature-AMBARI-21348 fc93b2795 -> fb53ed5dd AMBARI-21416 Unable to Click on Stack Installation Details During Installation. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fb53ed5d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fb53ed5d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fb53ed5d Branch: refs/heads/branch-feature-AMBARI-21348 Commit: fb53ed5dd4d049203591b99a6563cdf41c0eb1fc Parents: fc93b27 Author: Andrii Tkach Authored: Thu Jul 6 17:58:28 2017 +0300 Committer: Andrii Tkach Committed: Thu Jul 6 19:01:17 2017 +0300 ---------------------------------------------------------------------- .../main/admin/stack_and_upgrade_controller.js | 16 +++++++- .../stack_upgrade/upgrade_version_box_view.js | 2 +- .../admin/stack_and_upgrade_controller_test.js | 40 +++++++++++++++++++- .../upgrade_version_box_view_test.js | 11 +++--- 4 files changed, 60 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/fb53ed5d/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js index 7cc11dc..7e40b42 100644 --- a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js +++ b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js @@ -1649,11 +1649,25 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, */ showProgressPopup: function(version) { var popupTitle = Em.I18n.t('admin.stackVersions.details.install.hosts.popup.title').format(version.get('displayName')); - var requestIds = App.get('testMode') ? [1] : App.db.get('repoVersionInstall', 'id'); + var requestIds = this.getRepoVersionInstallId(); var hostProgressPopupController = App.router.get('highAvailabilityProgressPopupController'); hostProgressPopupController.initPopup(popupTitle, requestIds, this); }, + getRepoVersionInstallId: function() { + if (App.get('testMode')) return [1]; + + var requestIds = App.db.get('repoVersionInstall', 'id'); + var lastRepoVersionInstall = App.router.get('backgroundOperationsController.services').find(function(request) { + return request.get('name').startsWith('Install version'); + }); + if (!requestIds || + (lastRepoVersionInstall && !requestIds.contains(lastRepoVersionInstall.get('id')))) { + requestIds = [lastRepoVersionInstall.get('id')]; + } + return requestIds; + }, + /** * reset upgradeState to INIT when upgrade is COMPLETED * and clean auxiliary data http://git-wip-us.apache.org/repos/asf/ambari/blob/fb53ed5d/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js index 86034fd..46ef020 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js @@ -43,7 +43,7 @@ App.UpgradeVersionBoxView = Em.View.extend({ installProgress: function() { if (App.get('testMode')) return 100; - var installRequest, requestIds = App.db.get('repoVersionInstall', 'id'); + var installRequest, requestIds = this.get('controller').getRepoVersionInstallId(); if (requestIds) { installRequest = App.router.get('backgroundOperationsController.services').findProperty('id', requestIds[0]); } http://git-wip-us.apache.org/repos/asf/ambari/blob/fb53ed5d/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js index f7c84e9..ae8ffe5 100644 --- a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js +++ b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js @@ -3089,13 +3089,13 @@ describe('App.MainAdminStackAndUpgradeController', function() { beforeEach(function() { sinon.stub(App.router, 'get').withArgs('highAvailabilityProgressPopupController').returns(mock); sinon.stub(mock, 'initPopup'); - sinon.stub(App.db, 'get').returns([1]); + sinon.stub(controller, 'getRepoVersionInstallId').returns([1]); }); afterEach(function() { App.router.get.restore(); mock.initPopup.restore(); - App.db.get.restore(); + controller.getRepoVersionInstallId.restore(); }); it("initPopup should be called", function() { @@ -3108,6 +3108,42 @@ describe('App.MainAdminStackAndUpgradeController', function() { }); }); + describe('#getRepoVersionInstallId', function() { + beforeEach(function() { + this.mockDB = sinon.stub(App.db, 'get'); + this.mockRequests = sinon.stub(App.router, 'get'); + }); + afterEach(function() { + this.mockDB.restore(); + this.mockRequests.restore(); + }); + + it('should return id from latest version install', function() { + this.mockDB.returns(null); + this.mockRequests.returns([Em.Object.create({ + name: 'Install version', + id: 1 + })]); + expect(controller.getRepoVersionInstallId()[0]).to.be.equal(1); + }); + it('should return id from localDB', function() { + this.mockDB.returns([2]); + this.mockRequests.returns([Em.Object.create({ + name: 'Install version', + id: 2 + })]); + expect(controller.getRepoVersionInstallId()[0]).to.be.equal(2); + }); + it('should return id from latest version install and ignore deprecated localDb value', function() { + this.mockDB.returns([2]); + this.mockRequests.returns([Em.Object.create({ + name: 'Install version', + id: 3 + })]); + expect(controller.getRepoVersionInstallId()[0]).to.be.equal(3); + }); + }); + describe("#finish()", function () { beforeEach(function() { http://git-wip-us.apache.org/repos/asf/ambari/blob/fb53ed5d/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js index 45ce8e9..971b1f3 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js @@ -31,6 +31,7 @@ describe('App.UpgradeVersionBoxView', function () { initFilters: Em.K, controller: Em.Object.create({ upgrade: Em.K, + getRepoVersionInstallId: Em.K, currentVersion: Em.Object.create() }), content: Em.Object.create(), @@ -82,29 +83,29 @@ describe('App.UpgradeVersionBoxView', function () { describe("#installProgress", function () { beforeEach(function () { - this.mockDB = sinon.stub(App.db, 'get'); + this.mockId = sinon.stub(view.get('controller'), 'getRepoVersionInstallId'); this.mock = sinon.stub(App.router, 'get'); App.set('testMode', false); }); afterEach(function () { - this.mockDB.restore(); + this.mockId.restore(); this.mock.restore(); }); it("request id is not set", function () { this.mock.returns([]); - this.mockDB.returns(undefined); + this.mockId.returns(undefined); view.propertyDidChange('installProgress'); expect(view.get('installProgress')).to.equal(0); }); it("request absent", function () { this.mock.returns([]); - this.mockDB.returns([1]); + this.mockId.returns([1]); view.propertyDidChange('installProgress'); expect(view.get('installProgress')).to.equal(0); }); it("request present", function () { - this.mockDB.returns([1]); + this.mockId.returns([1]); this.mock.returns([Em.Object.create({progress: 100, id: 1})]); view.propertyDidChange('installProgress'); expect(view.get('installProgress')).to.equal(100);