acs
Version:
Appcelerator Server Side Node
119 lines (91 loc) • 3.81 kB
JavaScript
var chai = require('chai'),
should = chai.should(),
rewire = require('rewire'),
sinon = require('sinon'),
util = require('../lib/util'),
zlib = require('zlib'),
helper = require('./helper');
var usageModule = rewire('../lib/command/usage');
var consolelog = console.log;
describe('usage cli - ', () => {
var outputs = [];
var positiveBody = {
success: true,
stats: [
{
date: new Date(),
serverid: 'fake-server-id',
process: {
memory: {
free: 10485760,
total: 104857600
}
},
os: {
load: 0.03
}
}
]
};
var positiveBodyZipped = zlib.gzipSync(Buffer.from(JSON.stringify(positiveBody)));
before(helper.beforeHandler);
after(helper.afterHandler);
beforeEach(helper.buildBeforeEachHandler(outputs));
afterEach(helper.afterEachHandler);
it('should use host and port from command line', async () => {
var args = [helper.testApp];
var opts = {
host: helper.testHost,
port: 8443
};
// {
// "uri": "https://admin.unittest.appcelerator.com:8443/usage/testApp/NOSERVERID/NODATETME/NODATETME/LATEST/100",
// "method": "POST",
// "proxy": null,
// "encoding": null,
// "headers": {
// "Cookie": "fake-cookie-for-request",
// "Content-Type": "application/json",
// "accept-encoding": "gzip",
// "Authorization": ""
// },
// "body": "{}"
// }
var successRequestMock = helper.buildRequestMock(function(options) {
// consolelog(JSON.stringify(options, null, 4));
options['url'].should.eql(helper.testHost + ':8443/usage/testApp/NOSERVERID/NODATETME/NODATETME/LATEST/100');
options['method'].should.eql('POST');
options['headers']['Cookie'].should.eql(helper.fakeCookieForReq);
}, null, null, positiveBodyZipped, true);
usageModule.__set__('got', successRequestMock);
await usageModule.run(args, opts)
// consolelog(outputs);
// [ '\u001b[90mAdmin Hostname: https://admin.unittest.appcelerator.com\u001b[39m',
// 'Retrieving usage data from the server' ]
outputs[0].should.contain(helper.hostInfoLine(helper.testHost));
outputs[1].should.eql('Retrieving usage data from the server');
});
it('should use host from command line', async () => {
var args = [helper.testApp];
var opts = {
host: helper.testHost
};
var path = '/usage/testApp/NOSERVERID/NODATETME/NODATETME/LATEST/100';
var successRequestMock =
helper.buildRequestMockWithReqOptions(helper.testHost, '443', path, 'POST', positiveBodyZipped, true);
usageModule.__set__('got', successRequestMock);
await usageModule.run(args, opts)
outputs[0].should.contain(helper.hostInfoLine(helper.testHost));
outputs[1].should.eql('Retrieving usage data from the server');
});
it('should use the default host', async () => {
var args = [helper.testApp];
var opts = {};
var path = '/usage/testApp/NOSERVERID/NODATETME/NODATETME/LATEST/100';
var successRequestMock =
helper.buildRequestMockWithReqOptions(helper.defaultHost, '443', path, 'POST', positiveBodyZipped, true);
usageModule.__set__('got', successRequestMock);
await usageModule.run(args, opts)
outputs[0].should.eql('Retrieving usage data from the server');
});
});