You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by on...@apache.org on 2015/06/03 17:28:49 UTC
ambari git commit: AMBARI-11658. Add Service Wizard resets local hdp
repo to public repo (onechiporenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 64e033d08 -> 576796f76
AMBARI-11658. Add Service Wizard resets local hdp repo to public repo (onechiporenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/576796f7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/576796f7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/576796f7
Branch: refs/heads/trunk
Commit: 576796f76104b9b6d04322f72af85b0fc9a9d5b8
Parents: 64e033d
Author: Oleg Nechiporenko <on...@apache.org>
Authored: Wed Jun 3 18:14:33 2015 +0300
Committer: Oleg Nechiporenko <on...@apache.org>
Committed: Wed Jun 3 18:27:00 2015 +0300
----------------------------------------------------------------------
.../app/controllers/wizard/step8_controller.js | 16 ++--
ambari-web/app/utils/ajax/ajax.js | 4 +
.../test/controllers/wizard/step8_test.js | 90 +++++++++++++++++---
3 files changed, 90 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/576796f7/ambari-web/app/controllers/wizard/step8_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step8_controller.js b/ambari-web/app/controllers/wizard/step8_controller.js
index bf3b91a..6aef9bc 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -485,13 +485,16 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
* @method loadRepoInfo
*/
loadRepoInfo: function () {
- var nameVersionCombo = App.get('currentStackVersion').split('-');
+
+ var currentRepoVersion = App.StackVersion.find().findProperty('state', 'CURRENT').get('repositoryVersion.repositoryVersion');
+ var stackName = App.get('currentStackName');
+
return App.ajax.send({
- name: 'cluster.load_repositories',
+ name: 'cluster.load_repo_version',
sender: this,
data: {
- stackName: nameVersionCombo[0],
- stackVersion: nameVersionCombo[1]
+ stackName: stackName,
+ repositoryVersion: currentRepoVersion
},
success: 'loadRepoInfoSuccessCallback',
error: 'loadRepoInfoErrorCallback'
@@ -505,7 +508,8 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
*/
loadRepoInfoSuccessCallback: function (data) {
var allRepos = [];
- data.items.forEach(function (os) {
+ Em.assert('Current repo-version may be only one', data.items.length === 1);
+ data.items[0].repository_versions[0].operating_systems.forEach(function (os) {
os.repositories.forEach(function (repository) {
allRepos.push(Em.Object.create({
base_url: repository.Repositories.base_url,
@@ -513,7 +517,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
repo_id: repository.Repositories.repo_id
}));
});
- }, this);
+ });
allRepos.set('display_name', Em.I18n.t("installer.step8.repoInfo.displayName"));
this.get('clusterInfo').set('repoInfo', allRepos);
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/576796f7/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index bed6fd5..3d432fa 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1225,6 +1225,10 @@ var urls = {
};
}
},
+ 'cluster.load_repo_version': {
+ 'real': '/stacks/{stackName}/versions?fields=repository_versions/operating_systems/repositories/*,repository_versions/RepositoryVersions/display_name&repository_versions/RepositoryVersions/repository_version={repositoryVersion}',
+ 'mock': ''
+ },
'cluster.load_detailed_repo_version': {
'real': '/clusters/{clusterName}/stack_versions?ClusterStackVersions/state=CURRENT&fields=repository_versions/RepositoryVersions/repository_version&minimal_response=true',
'mock': '/data/stack_versions/stack_version_all.json'
http://git-wip-us.apache.org/repos/asf/ambari/blob/576796f7/ambari-web/test/controllers/wizard/step8_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step8_test.js b/ambari-web/test/controllers/wizard/step8_test.js
index 209b8b8..c4628bd 100644
--- a/ambari-web/test/controllers/wizard/step8_test.js
+++ b/ambari-web/test/controllers/wizard/step8_test.js
@@ -1080,15 +1080,26 @@ describe('App.WizardStep8Controller', function () {
});
describe('#loadRepoInfo', function() {
- it('should use App.currentStackVersion', function() {
- var version = 'HDP-1.1.1';
- sinon.stub(App, 'get', function() {return version;});
+
+ beforeEach(function () {
+ sinon.stub(App, 'get').withArgs('currentStackName').returns('HDP');
sinon.stub(App.ajax, 'send', Em.K);
- installerStep8Controller.loadRepoInfo();
- var data = App.ajax.send.args[0][0].data;
- expect(data).to.eql({stackName: 'HDP', stackVersion: '1.1.1'});
+ sinon.stub(App.StackVersion, 'find', function() {
+ return [
+ Em.Object.create({state: 'CURRENT', repositoryVersion: {repositoryVersion: '2.3.0.0-2208'}})
+ ];
+ });
+ });
+
+ afterEach(function () {
App.ajax.send.restore();
App.get.restore();
+ App.StackVersion.find.restore();
+ });
+ it('should use current StackVersion', function() {
+ installerStep8Controller.loadRepoInfo();
+ var data = App.ajax.send.args[0][0].data;
+ expect(data).to.eql({stackName: 'HDP', repositoryVersion: '2.3.0.0-2208'});
});
});
@@ -1096,15 +1107,66 @@ describe('App.WizardStep8Controller', function () {
beforeEach(function () {
installerStep8Controller.set('clusterInfo', Em.Object.create({}));
});
+
+ it('should assert error if no data returned from server', function () {
+ expect(function () {
+ installerStep8Controller.loadRepoInfoSuccessCallback({items: []});
+ }).to.throw(Error);
+ });
+
Em.A([
- {
- items: [],
- m: 'no data',
- e: {
- base_url: [],
- os_type: []
- }
+ {
+ m: 'Normal JSON',
+ e: {
+ base_url: ['baseurl1', 'baseurl2'],
+ os_type: ['redhat6', 'suse11'],
+ repo_id: ['HDP-2.3', 'HDP-UTILS-1.1.0.20']
},
+ items: [
+ {
+ repository_versions: [
+ {
+ operating_systems: [
+ {
+ repositories: [
+ {
+ Repositories: {
+ base_url: 'baseurl1',
+ os_type: 'redhat6',
+ repo_id: 'HDP-2.3'
+ }
+ }
+ ]
+ },
+ {
+ repositories: [
+ {
+ Repositories: {
+ base_url: 'baseurl2',
+ os_type: 'suse11',
+ repo_id: 'HDP-UTILS-1.1.0.20'
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]).forEach(function (test) {
+
+ it(test.m, function () {
+ installerStep8Controller.loadRepoInfoSuccessCallback({items: test.items});
+ expect(installerStep8Controller.get('clusterInfo.repoInfo').mapProperty('base_url')).to.eql(test.e.base_url);
+ expect(installerStep8Controller.get('clusterInfo.repoInfo').mapProperty('os_type')).to.eql(test.e.os_type);
+ expect(installerStep8Controller.get('clusterInfo.repoInfo').mapProperty('repo_id')).to.eql(test.e.repo_id);
+ });
+
+ });
+
+ /*Em.A([
{
items: [
{
@@ -1216,7 +1278,7 @@ describe('App.WizardStep8Controller', function () {
expect(installerStep8Controller.get('clusterInfo.repoInfo').mapProperty('base_url')).to.eql(test.e.base_url);
expect(installerStep8Controller.get('clusterInfo.repoInfo').mapProperty('os_type')).to.eql(test.e.os_type);
});
- });
+ });*/
});
describe('#loadRepoInfoErrorCallback', function() {