123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- /**
- * 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');
- var modelSetup = require('test/init_model_test');
- require('models/service/yarn');
- var yarnService,
- yarnServiceData = {
- id: 'yarn'
- },
- hostComponentsData = [
- {
- id: 'ats',
- componentName: 'APP_TIMELINE_SERVER',
- host: {
- id: 'host'
- }
- },
- {
- id: 'nodemanager',
- componentName: 'NODEMANAGER',
- host: {
- id: 'host'
- }
- },
- {
- id: 'yarnclient',
- componentName: 'YARN_CLIENT',
- host: {
- id: 'host'
- }
- }
- ],
- configs = [
- {
- properties: {
- 'yarn.timeline-service.webapp.address': '0.0.0.0:0000'
- },
- tag: 'version2',
- type: 'yarn-site'
- }
- ],
- nodeCountCases = [
- {
- assets: {
- nodeManagersStarted: 0,
- nodeManagersInstalled: 1,
- nodeManagersTotal: 1,
- nodeManagersCountActive: 0,
- nodeManagersCountRebooted: 0,
- nodeManagersCountUnhealthy: 0,
- nodeManagersCountDecommissioned: 0
- },
- nodeManagersCountLost: 1
- },
- {
- assets: {
- nodeManagersStarted: 1,
- nodeManagersInstalled: 1,
- nodeManagersTotal: 1,
- nodeManagersCountActive: 1,
- nodeManagersCountRebooted: 1,
- nodeManagersCountUnhealthy: 0,
- nodeManagersCountDecommissioned: 0
- },
- nodeManagersCountLost: 0
- }
- ],
- setHostComponents = function () {
- yarnService.reopen({
- hostComponents: hostComponentsData
- });
- };
- describe('App.YARNService', function () {
- beforeEach(function () {
- yarnService = App.YARNService.createRecord(yarnServiceData);
- });
- afterEach(function () {
- modelSetup.deleteRecord(yarnService);
- });
- describe('#ahsWebPort', function () {
- afterEach(function () {
- App.db.setConfigs([]);
- });
- it('should be 8188 as default', function () {
- App.db.setConfigs([]);
- expect(yarnService.get('ahsWebPort')).to.equal('8188');
- });
- it('should get value from configs', function () {
- App.db.setConfigs(configs);
- expect(yarnService.get('ahsWebPort')).to.equal('0000');
- });
- });
- describe('#queueFormatted', function () {
- it('should return formatted string', function () {
- yarnService.set('queue', '{"root":{"default":{}}}');
- expect(yarnService.get('queueFormatted')).to.equal('default (/root)<br/>');
- });
- });
- describe('#queuesCount', function () {
- it('should be 1', function () {
- yarnService.set('queue', '{"root":{"default":{}}}');
- expect(yarnService.get('queuesCount')).to.equal(1);
- });
- });
- describe('#maxMemory', function () {
- it('should add availableMemory to allocatedMemory', function () {
- yarnService.set('allocatedMemory', 1024);
- yarnService.set('availableMemory', 2048);
- expect(yarnService.get('maxMemory')).to.equal(3072);
- });
- });
- describe('#allQueueNames', function () {
- it('should list all queue names as array', function () {
- yarnService.set('queue', '{"root":{"default":{}}}');
- expect(yarnService.get('allQueueNames')).to.eql(['root', 'root/default']);
- });
- });
- describe('#childQueueNames', function () {
- it('should list child queue names as array', function () {
- yarnService.set('queue', '{"root":{"default":{}}}');
- expect(yarnService.get('childQueueNames')).to.eql(['root/default']);
- });
- });
- describe('#nodeManagersCountLost', function () {
- nodeCountCases.forEach(function (item) {
- it('should be ' + item.nodeManagersCountLost, function () {
- setHostComponents();
- for (var prop in item.assets) {
- yarnService.set(prop, item.assets[prop]);
- };
- expect(yarnService.get('nodeManagersCountLost')).to.equal(item.nodeManagersCountLost);
- });
- });
- });
- });
|