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() {