You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2014/10/03 19:50:01 UTC
git commit: AMBARI-7620. Views are not loading right after login.
(jaimin)
Repository: ambari
Updated Branches:
refs/heads/trunk 401fb1993 -> 7cd4d454a
AMBARI-7620. Views are not loading right after login. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7cd4d454
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7cd4d454
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7cd4d454
Branch: refs/heads/trunk
Commit: 7cd4d454aa3a42b29aedd90e91a1321ad3c4e2d3
Parents: 401fb19
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Fri Oct 3 10:12:51 2014 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Fri Oct 3 10:49:43 2014 -0700
----------------------------------------------------------------------
ambari-web/app/assets/test/tests.js | 1 +
.../app/controllers/main/views_controller.js | 3 ++
ambari-web/app/router.js | 1 +
.../controllers/main/views_controller_test.js | 48 ++++++++++++++++++++
4 files changed, 53 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7cd4d454/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js
index 29b5be3..bcc835b 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -81,6 +81,7 @@ var files = ['test/init_model_test',
'test/controllers/main/service_test',
'test/controllers/main/admin_test',
'test/controllers/main/alerts_controller_test',
+ 'test/controllers/main/views_controller_test',
'test/controllers/installer_test',
'test/controllers/wizard_test',
'test/controllers/wizard/step0_test',
http://git-wip-us.apache.org/repos/asf/ambari/blob/7cd4d454/ambari-web/app/controllers/main/views_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/views_controller.js b/ambari-web/app/controllers/main/views_controller.js
index cc3499c..17d2a2a 100644
--- a/ambari-web/app/controllers/main/views_controller.js
+++ b/ambari-web/app/controllers/main/views_controller.js
@@ -43,6 +43,9 @@ App.MainViewsController = Em.Controller.extend({
loadAmbariViews: function () {
+ if (!App.router.get('loggedIn')) {
+ return;
+ }
App.ajax.send({
name: 'views.info',
sender: this,
http://git-wip-us.apache.org/repos/asf/ambari/blob/7cd4d454/ambari-web/app/router.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/router.js b/ambari-web/app/router.js
index e1c2a5c..b347512 100644
--- a/ambari-web/app/router.js
+++ b/ambari-web/app/router.js
@@ -282,6 +282,7 @@ App.Router = Em.Router.extend({
loginData.privileges = privileges;
App.usersMapper.map({"items": [loginData]});
router.setUserLoggedIn(params.loginName);
+ App.router.get('mainViewsController').loadAmbariViews();
var permissionList = privileges.items.mapProperty('PrivilegeInfo.permission_name');
var isAdmin = permissionList.contains('AMBARI.ADMIN');
var transitionToApp = false;
http://git-wip-us.apache.org/repos/asf/ambari/blob/7cd4d454/ambari-web/test/controllers/main/views_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/views_controller_test.js b/ambari-web/test/controllers/main/views_controller_test.js
new file mode 100644
index 0000000..6e293e9
--- /dev/null
+++ b/ambari-web/test/controllers/main/views_controller_test.js
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var App = require('app');
+require('controllers/main/views_controller');
+
+describe('MainViewsController', function () {
+
+ var mainViewsController = App.MainViewsController.create();
+
+ describe('#loadAmbariViews()', function () {
+ beforeEach(function () {
+ sinon.stub(App.ajax, 'send', Em.K);
+ });
+ afterEach(function () {
+ App.router.get.restore();
+ App.ajax.send.restore();
+ });
+
+ it('should load views if the user is logged in', function () {
+ sinon.stub(App.router, 'get').withArgs('loggedIn').returns(true);
+ mainViewsController.loadAmbariViews();
+ expect(App.ajax.send.calledOnce).to.be.true;
+ });
+
+ it('should not load views if the user is not logged in', function () {
+ sinon.stub(App.router, 'get').withArgs('loggedIn').returns(false);
+ mainViewsController.loadAmbariViews();
+ expect(App.ajax.send.notCalled).to.be.true;
+ })
+ });
+
+});