ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ababiic...@apache.org
Subject git commit: AMBARI-4916 'Start All' button is enabled if all services are started. (ababiichuk)
Date Mon, 03 Mar 2014 14:17:42 GMT
Repository: ambari
Updated Branches:
  refs/heads/trunk 1910dd488 -> c7640d0db


AMBARI-4916 'Start All' button is enabled if all services are started. (ababiichuk)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c7640d0d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c7640d0d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c7640d0d

Branch: refs/heads/trunk
Commit: c7640d0db54ebccd11edc1d14ce1495f6258eda5
Parents: 1910dd4
Author: aBabiichuk <ababiichuk@cybervisiontech.com>
Authored: Mon Mar 3 16:15:49 2014 +0200
Committer: aBabiichuk <ababiichuk@cybervisiontech.com>
Committed: Mon Mar 3 16:16:01 2014 +0200

----------------------------------------------------------------------
 ambari-web/app/assets/test/tests.js             |   1 +
 ambari-web/app/controllers/main/service.js      |  12 +-
 .../test/controllers/main/service_test.js       | 124 +++++++++++++++++++
 3 files changed, 128 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c7640d0d/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 bd6fcdb..8ae95d6 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -42,6 +42,7 @@ require('test/controllers/main/service/reassign_controller_test');
 require('test/controllers/main/dashboard_test');
 require('test/controllers/main/host_test');
 require('test/controllers/main/item_test');
+require('test/controllers/main/service_test');
 require('test/controllers/wizard/stack_upgrade/step3_controller_test');
 require('test/controllers/installer_test');
 require('test/controllers/wizard_test');

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7640d0d/ambari-web/app/controllers/main/service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service.js b/ambari-web/app/controllers/main/service.js
index 030c045..67bccf6 100644
--- a/ambari-web/app/controllers/main/service.js
+++ b/ambari-web/app/controllers/main/service.js
@@ -75,21 +75,15 @@ App.MainServiceController = Em.ArrayController.extend({
     if(this.get('isStartStopAllClicked') == true) {
       return true;
     }
-    var stoppedServiceLength = this.get('content').filterProperty('healthStatus','red').length;
+    var stoppedServiceLength = this.get('content').filterProperty('healthStatus','red').filterProperty('isClientsOnly',
false).length;
     return (stoppedServiceLength === 0); // all green status
   }.property('isStartStopAllClicked', 'content.@each.healthStatus'),
   isStopAllDisabled: function(){
     if(this.get('isStartStopAllClicked') == true) {
       return true;
     }
-    var startedService = this.get('content').filterProperty('healthStatus','green');
-    var flag = true;
-    startedService.forEach(function(item){
-      if(!['HCATALOG', 'PIG', 'SQOOP'].contains(item.get('serviceName'))){
-        flag = false;
-      }
-    });
-    return flag;
+    var startedServiceLength = this.get('content').filterProperty('healthStatus','green').length;
+    return (startedServiceLength === 0);
   }.property('isStartStopAllClicked', 'content.@each.healthStatus'),
   isStartStopAllClicked: function(){
     return (App.router.get('backgroundOperationsController').get('allOperationsCount') !==
0);

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7640d0d/ambari-web/test/controllers/main/service_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/service_test.js b/ambari-web/test/controllers/main/service_test.js
new file mode 100644
index 0000000..d530c15
--- /dev/null
+++ b/ambari-web/test/controllers/main/service_test.js
@@ -0,0 +1,124 @@
+/**
+ * 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/service');
+
+var mainServiceController;
+
+describe('App.MainServiceController', function () {
+
+  var tests = Em.A([
+    {
+      isStartStopAllClicked: false,
+      content: Em.A([
+        Em.Object.create({
+          healthStatus: 'green',
+          serviceName: 'HIVE',
+          isClientsOnly: false
+        }),
+        Em.Object.create({
+          healthStatus: 'green',
+          serviceName: 'HDFS',
+          isClientsOnly: false
+        }),
+        Em.Object.create({
+          healthStatus: 'red',
+          serviceName: 'TEZ',
+          isClientsOnly: true
+        })
+      ]),
+      eStart: true,
+      eStop: false,
+      mStart: 'mainServiceController StartAll is Disabled 1',
+      mStop: 'mainServiceController StopAll is Enabled 1'
+    },
+    {
+      isStartStopAllClicked: true,
+      content: Em.A([
+        Em.Object.create({
+          healthStatus: 'red',
+          serviceName: 'HIVE',
+          isClientsOnly: false
+        }),
+        Em.Object.create({
+          healthStatus: 'red',
+          serviceName: 'HDFS',
+          isClientsOnly: false
+        }),
+        Em.Object.create({
+          healthStatus: 'red',
+          serviceName: 'TEZ',
+          isClientsOnly: true
+        })
+      ]),
+      eStart: true,
+      eStop: true,
+      mStart: 'mainServiceController StartAll is Disabled 2',
+      mStop: 'mainServiceController StopAll is Disabled 2'
+    },
+    {
+      isStartStopAllClicked: false,
+      content: Em.A([
+        Em.Object.create({
+          healthStatus: 'green',
+          serviceName: 'HIVE',
+          isClientsOnly: false
+        }),
+        Em.Object.create({
+          healthStatus: 'red',
+          serviceName: 'HDFS',
+          isClientsOnly: false
+        }),
+        Em.Object.create({
+          healthStatus: 'red',
+          serviceName: 'TEZ',
+          isClientsOnly: true
+        })
+      ]),
+      eStart: false,
+      eStop: false,
+      mStart: 'mainServiceController StartAll is Enabled 3',
+      mStop: 'mainServiceController StopAll is Enabled 3'
+    }
+
+  ]);
+  describe('#isStartAllDisabled', function () {
+    tests.forEach(function (test) {
+      it(test.mStart, function () {
+        mainServiceController = App.MainServiceController.create({
+          content: test.content,
+          isStartStopAllClicked: test.isStartStopAllClicked
+        });
+        expect(mainServiceController.get('isStartAllDisabled')).to.equals(test.eStart);
+      });
+    });
+  });
+
+  describe('#isStopAllDisabled', function () {
+    tests.forEach(function (test) {
+      it(test.mStop, function () {
+        mainServiceController = App.MainServiceController.create({
+          content: test.content,
+          isStartStopAllClicked: test.isStartStopAllClicked
+        });
+        expect(mainServiceController.get('isStopAllDisabled')).to.equals(test.eStop);
+      });
+    });
+  });
+});


Mime
View raw message