blob: d0a78ddc9695ffb7d342f97bf30e37611536f3a1 [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 { moduleFor, test } from 'ember-qunit';
import Ember from 'ember';
moduleFor('route:yarn-container-log', 'Unit | Route | ContainerLog', {
});
test('Basic creation test', function(assert) {
let route = this.subject();
assert.ok(route);
assert.ok(route.model);
});
test('Test getting container log', function(assert) {
var response = {
logs: "This is syslog",
containerID: "container_e32_1456000363780_0002_01_000001",
logFileName: "syslog"};
var store = {
findRecord: function() {
return new Ember.RSVP.Promise(function(resolve) {
resolve(response);
});
}
};
assert.expect(6);
var route = this.subject();
route.set('store', store);
var model = route.model({node_id: "localhost:64318",
node_addr: "localhost:8042",
container_id: "container_e32_1456000363780_0002_01_000001",
filename: "syslog"});
model.then(function(value) {
assert.ok(value);
assert.ok(value.containerLog);
assert.deepEqual(value.containerLog, response);
assert.ok(value.nodeInfo);
assert.equal(value.nodeInfo.addr, 'localhost:8042');
assert.equal(value.nodeInfo.id, 'localhost:64318');
});
});
/**
* This can happen when an empty response is sent from server
*/
test('Test non HTTP error while getting container log', function(assert) {
var error = {};
var response = {
logs: "",
containerID: "container_e32_1456000363780_0002_01_000001",
logFileName: "syslog"};
var store = {
findRecord: function() {
return new Ember.RSVP.Promise(function(resolve, reject) {
reject(error);
});
}
};
assert.expect(6);
var route = this.subject();
route.set('store', store);
var model = route.model({node_id: "localhost:64318",
node_addr: "localhost:8042",
container_id: "container_e32_1456000363780_0002_01_000001",
filename: "syslog"});
model.then(function(value) {
assert.ok(value);
assert.ok(value.containerLog);
assert.deepEqual(value.containerLog, response);
assert.ok(value.nodeInfo);
assert.equal(value.nodeInfo.addr, 'localhost:8042');
assert.equal(value.nodeInfo.id, 'localhost:64318');
});
});
test('Test HTTP error while getting container log', function(assert) {
var error = {errors: [{status: 404, responseText: 'Not Found'}]};
var store = {
findRecord: function() {
return new Ember.RSVP.Promise(function(resolve, reject) {
reject(error);
});
}
};
assert.expect(5);
var route = this.subject();
route.set('store', store);
var model = route.model({node_id: "localhost:64318",
node_addr: "localhost:8042",
container_id: "container_e32_1456000363780_0002_01_000001",
filename: "syslog"});
model.then(function(value) {
assert.ok(value);
assert.ok(value.errors);
assert.equal(value.errors.length, 1);
assert.equal(value.errors[0].status, 404);
assert.equal(value.errors[0].responseText, 'Not Found');
});
});