acs
Version:
Appcelerator Server Side Node
113 lines (89 loc) • 3.63 kB
JavaScript
var chai = require('chai'),
should = chai.should(),
rewire = require('rewire'),
sinon = require('sinon'),
util = require('../lib/util'),
helper = require('./helper');
var serverModule = rewire('../lib/command/server');
var consolelog = console.log;
describe('server cli - ', () => {
var outputs = [];
var successMessage = 'server done';
var positiveBody = {
success: true,
message: successMessage
};
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,
set: 'Large',
org: '14301'
};
// 2 requests
// {
// "uri": "https://admin.unittest.appcelerator.com:8443/server/testApp/set/Large?orgid=14301",
// "method": "GET",
// "proxy": null,
// "headers": {
// "Cookie": "fake-cookie-for-request",
// "Content-Type": "application/x-www-form-urlencoded",
// "Authorization": ""
// }
// }
// {
// "uri": "https://admin.unittest.appcelerator.com:8443/server/testApp/set/Large?orgid=14301",
// "method": "POST",
// "proxy": null,
// "headers": {
// "Cookie": "fake-cookie-for-request",
// "Content-Type": "application/x-www-form-urlencoded",
// "Authorization": ""
// }
// }
var successRequestMock = helper.buildRequestMock(function(options) {
// consolelog(JSON.stringify(options, null, 4));
options['url'].should.eql(helper.testHost + ':8443/server/testApp/set/Large?orgid=14301');
options['method'].should.be.oneOf(['GET', 'POST']);
options['headers']['Cookie'].should.eql(helper.fakeCookieForReq);
}, null, null, positiveBody);
serverModule.__set__('got', successRequestMock);
await serverModule.run(args, opts)
// consolelog(outputs);
// [ '\u001b[90mAdmin Hostname: https://admin.unittest.appcelerator.com\u001b[39m',
// 'server done' ]
outputs[0].should.contain(helper.hostInfoLine(helper.testHost));
outputs[1].should.eql(successMessage);
});
it('should use host from command line', async () => {
var args = [helper.testApp];
var opts = {
host: helper.testHost,
set: 'Large'
};
var path = '/server/testApp/set/Large';
var successRequestMock =
helper.buildRequestMockWithReqOptions(helper.testHost, '443', path, ['GET','POST'], positiveBody);
serverModule.__set__('got', successRequestMock);
await serverModule.run(args, opts)
outputs[0].should.contain(helper.hostInfoLine(helper.testHost));
outputs[1].should.eql(successMessage);
});
it('should use default host', async () => {
var args = [helper.testApp];
var opts = {
set: 'Large'
};
var path = '/server/testApp/set/Large';
var successRequestMock =
helper.buildRequestMockWithReqOptions(helper.defaultHost, '443', path, ['GET', 'POST'], positiveBody);
serverModule.__set__('got', successRequestMock);
await serverModule.run(args, opts)
outputs[0].should.eql(successMessage);
});
});