123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- /**
- * 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/wizard');
- require('controllers/main/service/add_controller');
- var addServiceController = null;
- describe('App.AddServiceController', function() {
- beforeEach(function () {
- addServiceController = App.AddServiceController.create({});
- });
- describe('#isServiceConfigurable', function() {
- var tests = [
- {
- services: [
- {serviceName: 'HDFS'},
- {serviceName: 'MAPREDUCE'},
- {serviceName: 'NAGIOS'}
- ],
- service: 'HDFS',
- m: 'Service is configurable',
- e: true
- },
- {
- services: [
- {serviceName: 'HDFS'},
- {serviceName: 'MAPREDUCE'},
- {serviceName: 'NAGIOS'}
- ],
- service: 'PIG',
- m: 'Service is not configurable',
- e: false
- },
- {
- services: [],
- service: 'HDFS',
- m: 'No services',
- e: false
- }
- ];
- tests.forEach(function(test) {
- var controller = App.AddServiceController.create({serviceConfigs: test.services});
- it('', function() {
- expect(controller.isServiceConfigurable(test.service)).to.equal(test.e);
- });
- });
- });
- describe('#skipConfigStep', function() {
- var tests = [
- {
- content: {
- services:[
- {serviceName: 'HDFS', isInstalled: true, isSelected: true},
- {serviceName: 'PIG', isInstalled: false, isSelected: true},
- {serviceName: 'MAPREDUCE', isInstalled: true, isSelected: true}
- ]
- },
- serviceConfigs: [
- {serviceName: 'HDFS'},
- {serviceName: 'MAPREDUCE'},
- {serviceName: 'NAGIOS'}
- ],
- m: '2 installed services and 1 new that can\'t be configured',
- e: true
- },
- {
- content: {
- services:[
- {serviceName: 'HDFS', isInstalled: true, isSelected: true},
- {serviceName: 'NAGIOS', isInstalled: false, isSelected: true},
- {serviceName: 'MAPREDUCE', isInstalled: true, isSelected: true}
- ]
- },
- serviceConfigs: [
- {serviceName: 'HDFS'},
- {serviceName: 'MAPREDUCE'},
- {serviceName: 'NAGIOS'}
- ],
- m: '2 installed services and 1 new that can be configured',
- e: false
- },
- {
- content: {
- services:[
- {serviceName: 'HDFS', isInstalled: true, isSelected: true},
- {serviceName: 'PIG', isInstalled: false, isSelected: true},
- {serviceName: 'SQOOP', isInstalled: false, isSelected: true},
- {serviceName: 'MAPREDUCE', isInstalled: true, isSelected: true}
- ]
- },
- serviceConfigs: [
- {serviceName: 'HDFS'},
- {serviceName: 'MAPREDUCE'},
- {serviceName: 'NAGIOS'}
- ],
- m: '2 installed services and 2 new that can\'t be configured',
- e: true
- }
- ];
- tests.forEach(function(test) {
- var controller = App.AddServiceController.create({content:{services: test.content.services}, serviceConfigs: test.serviceConfigs});
- it(test.m, function() {
- expect(controller.skipConfigStep()).to.equal(test.e);
- })
- });
- });
- describe('#installAdditionalClients', function() {
- var t = {
- additionalClients: {
- componentName: "TEZ_CLIENT",
- hostName: "hostName"
- },
- RequestInfo: {
- "context": Em.I18n.t('requestInfo.installHostComponent') + " hostName"
- },
- Body: {
- HostRoles: {
- state: 'INSTALLED'
- }
- }
- };
- beforeEach(function () {
- sinon.spy($, 'ajax');
- });
- afterEach(function () {
- $.ajax.restore();
- });
- it('send request to install client', function () {
- addServiceController.set("content.additionalClients", [t.additionalClients]);
- addServiceController.installAdditionalClients();
- expect($.ajax.calledOnce).to.equal(true);
- expect(JSON.parse($.ajax.args[0][0].data).Body).to.deep.eql(t.Body);
- expect(JSON.parse($.ajax.args[0][0].data).RequestInfo).to.eql(t.RequestInfo);
- });
- });
- });
|