blob: 2499ebc135c248c80a30bb7095589813f96cae0d [file] [log] [blame]
/**
* 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.
*/
import { moduleForModel, test } from 'ember-qunit';
import Ember from 'ember';
moduleForModel('yarn-rm-node', 'Unit | Model | RMNode', {
// Specify the other units that are required for this test.
needs: []
});
test('Basic creation test', function(assert) {
let model = this.subject();
assert.ok(model);
assert.ok(model._notifyProperties);
assert.ok(model.didLoad);
assert.ok(model.rack);
assert.ok(model.state);
assert.ok(model.nodeHostName);
assert.ok(model.nodeHTTPAddress);
assert.ok(model.lastHealthUpdate);
assert.ok(model.healthReport);
assert.ok(model.numContainers);
assert.ok(model.usedMemoryMB);
assert.ok(model.availMemoryMB);
assert.ok(model.usedVirtualCores);
assert.ok(model.availableVirtualCores);
assert.ok(model.version);
assert.ok(model.nodeLabels);
assert.ok(model.nodeLabelsAsString);
assert.ok(model.nodeStateStyle);
assert.ok(model.isDummyNode);
assert.ok(model.getMemoryDataForDonutChart);
assert.ok(model.getVCoreDataForDonutChart);
});
test('test fields', function(assert) {
let model = this.subject();
Ember.run(function () {
model.set("rack", "/default-rack");
model.set("state", "RUNNING");
model.set("nodeHostName", "localhost");
model.set("id", "localhost:64318");
model.set("nodeHTTPAddress", "localhost:8042");
model.set("usedMemoryMB", 1024);
model.set("availMemoryMB", 7168);
model.set("usedVirtualCores", 1);
model.set("availableVirtualCores", 7);
model.set("nodeLabels", ["x"]);
assert.equal(model.get("rack"), "/default-rack");
assert.equal(model.get("state"), "RUNNING");
assert.equal(model.get("nodeHostName"), "localhost");
assert.equal(model.get("id"), "localhost:64318");
assert.equal(model.get("nodeHTTPAddress"), "localhost:8042");
assert.equal(model.get("usedMemoryMB"), 1024);
assert.equal(model.get("availMemoryMB"), 7168);
assert.equal(model.get("usedVirtualCores"), 1);
assert.equal(model.get("availableVirtualCores"), 7);
assert.equal(model.get("isDummyNode"), false);
assert.deepEqual(model.get("nodeLabels"), ["x"]);
assert.equal(model.get("nodeLabelsAsString"), "x");
assert.deepEqual(model.get("nodeStateStyle"), "label label-success");
assert.deepEqual(model.get("getMemoryDataForDonutChart"),
[{label: "Used", value: 1024}, {label: "Available", value: 7168}]);
assert.deepEqual(model.get("getVCoreDataForDonutChart"),
[{label: "Used", value: 1}, {label: "Available", value: 7}]);
model.set("state", "SHUTDOWN");
assert.deepEqual(model.get("nodeStateStyle"), "label label-danger");
model.set("state", "REBOOTED");
assert.deepEqual(model.get("nodeStateStyle"), "label label-warning");
model.set("state", "NEW");
assert.deepEqual(model.get("nodeStateStyle"), "label label-default");
model.set("nodeLabels", ["x","y"]);
assert.equal(model.get("nodeLabelsAsString"), "x");
model.set("nodeLabels", undefined);
assert.equal(model.get("nodeLabelsAsString"), "");
});
});