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 2016/10/10 15:43:05 UTC
ambari git commit: AMBARI-18562 Cannot update repository on the UI.
(atkach)
Repository: ambari
Updated Branches:
refs/heads/trunk 24161edf9 -> da7b2ae1f
AMBARI-18562 Cannot update repository on the UI. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/da7b2ae1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/da7b2ae1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/da7b2ae1
Branch: refs/heads/trunk
Commit: da7b2ae1f72dc3e264e2ad0919fe6204de9d9b97
Parents: 24161ed
Author: Andrii Tkach <at...@apache.org>
Authored: Mon Oct 10 16:44:35 2016 +0300
Committer: Andrii Tkach <at...@apache.org>
Committed: Mon Oct 10 18:42:54 2016 +0300
----------------------------------------------------------------------
.../main/admin/stack_and_upgrade_controller.js | 56 ++++++++++++--------
.../admin/stack_and_upgrade_controller_test.js | 45 +++++++++++-----
2 files changed, 66 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/da7b2ae1/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 56a7a61..d00a652 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
@@ -1484,38 +1484,48 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
if (os.get('isSelected')) {
os.get('repositories').forEach(function (repo) {
totalCalls++;
- App.ajax.send({
- name: 'admin.stack_versions.validate.repo',
- sender: this,
- data: {
- repo: repo,
- repoId: repo.get('repoId'),
- baseUrl: repo.get('baseUrl'),
- osType: os.get('osType'),
- stackName: App.get('currentStackName'),
- stackVersion: stackVersionNumber
- }
+ this.validationCall(repo, os, stackVersionNumber)
+ .success(function () {
+ totalCalls--;
+ if (totalCalls === 0) deferred.resolve(invalidUrls);
})
- .success(function () {
- totalCalls--;
- if (totalCalls === 0) deferred.resolve(invalidUrls);
- })
- .error(function () {
- repo.set('hasError', true);
- invalidUrls.push(repo);
- totalCalls--;
- if (totalCalls === 0) deferred.resolve(invalidUrls);
- });
- });
+ .error(function () {
+ repo.set('hasError', true);
+ invalidUrls.push(repo);
+ totalCalls--;
+ if (totalCalls === 0) deferred.resolve(invalidUrls);
+ });
+ }, this);
} else {
return deferred.resolve(invalidUrls);
}
- });
+ }, this);
}
return deferred.promise();
},
/**
+ *
+ * @param {Em.Object} repo
+ * @param {Em.Object} os
+ * @param {string} stackVersionNumber
+ */
+ validationCall: function(repo, os, stackVersionNumber) {
+ return App.ajax.send({
+ name: 'admin.stack_versions.validate.repo',
+ sender: this,
+ data: {
+ repo: repo,
+ repoId: repo.get('repoId'),
+ baseUrl: repo.get('baseUrl'),
+ osType: os.get('osType'),
+ stackName: App.get('currentStackName'),
+ stackVersion: stackVersionNumber
+ }
+ })
+ },
+
+ /**
* success callback for <code>installRepoVersion()<code>
* saves request id to the db
* @param data
http://git-wip-us.apache.org/repos/asf/ambari/blob/da7b2ae1/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 12d0da3..be4a3b0 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
@@ -1404,24 +1404,45 @@ describe('App.MainAdminStackAndUpgradeController', function() {
describe("#validateRepoVersions()", function () {
- it("skip validation", function () {
+ beforeEach(function() {
+ sinon.stub(controller, 'validationCall').returns({
+ success: function() {
+ return {error: Em.K}
+ }
+ });
+ sinon.stub(controller, 'getStackVersionNumber').returns('v1')
+ });
+
+ afterEach(function() {
+ controller.validationCall.restore();
+ controller.getStackVersionNumber.restore();
+ });
+
+
+ it("validationCall should not be called", function () {
controller.validateRepoVersions(Em.Object.create({repoVersionId: 1}), true);
- var args = testHelpers.findAjaxRequest('name', 'admin.stack_versions.validate.repo');
- expect(args).to.not.exists;
+ expect(controller.validationCall.called).to.be.false;
});
- it("do validation", function () {
+ it("validationCall should be called", function () {
+ var os = Em.Object.create({
+ isSelected: true,
+ repositories: [
+ Em.Object.create()
+ ]
+ });
var repo = Em.Object.create({
repoVersionId: 1,
- operatingSystems: [
- Em.Object.create({
- isSelected: true,
- repositories: [
- Em.Object.create()
- ]
- })
- ]
+ operatingSystems: [ os ]
});
controller.validateRepoVersions(repo, false);
+ expect(controller.validationCall.calledOnce).to.be.true;
+ });
+ });
+
+ describe("#validationCall()", function () {
+
+ it("App.ajax.send should be called", function() {
+ controller.validationCall(Em.Object.create(), Em.Object.create(), 'v1');
var args = testHelpers.findAjaxRequest('name', 'admin.stack_versions.validate.repo');
expect(args[0]).to.exists;
});