UNPKG

acs

Version:
136 lines (99 loc) 4.11 kB
var chai = require('chai'), should = chai.should(), rewire = require('rewire'), sinon = require('sinon'), util = require('../lib/util'), helper = require('./helper'); var suModule = rewire('../lib/command/su'); var consolelog = console.log; describe('su cli - ', () => { var outputs = []; var positiveBody = { success: true, message: 'sudo done' }; 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 = ['yjin@axway.com']; var opts = { host: helper.testHost, port: 8443 }; // { // "uri": "https://admin.unittest.appcelerator.com:8443/sudo/who", // "uri": "https://admin.unittest.appcelerator.com:8443/sudo/yjin@axway.com", // "method": "GET", // "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/sudo/yjin@axway.com'); options['method'].should.eql('GET'); options['headers']['Cookie'].should.eql(helper.fakeCookieForReq); }, null, null, positiveBody); suModule.__set__('got', successRequestMock); await suModule.run(args, opts) // consolelog(outputs) // [ '\u001b[90mAdmin Hostname: https://admin.unittest.appcelerator.com\u001b[39m', // 'sudo done' ] outputs[0].should.contain(helper.hostInfoLine(helper.testHost)); outputs[1].should.eql('sudo done'); }); it('should use host from command line for who', async () => { var args = ['who']; var opts = { host: helper.testHost }; var path = '/sudo/who'; var successRequestMock = helper.buildRequestMockWithReqOptions(helper.testHost, '443', path, 'GET', positiveBody); suModule.__set__('got', successRequestMock); await suModule.run(args, opts) outputs[0].should.contain(helper.hostInfoLine(helper.testHost)); outputs[1].should.eql('sudo done'); }); it('should use host from command line for who', async () => { var args = ['self']; var opts = { host: helper.testHost }; var path = '/sudo/self'; var successRequestMock = helper.buildRequestMockWithReqOptions(helper.testHost, '443', path, 'GET', positiveBody); suModule.__set__('got', successRequestMock); await suModule.run(args, opts) outputs[0].should.contain(helper.hostInfoLine(helper.testHost)); outputs[1].should.eql('sudo done'); }); it('should use host from command line', async () => { var args = ['yjin@axway.com']; var opts = { host: helper.testHost }; var path = '/sudo/yjin@axway.com'; var successRequestMock = helper.buildRequestMockWithReqOptions(helper.testHost, '443', path, 'GET', positiveBody); suModule.__set__('got', successRequestMock); await suModule.run(args, opts) outputs[0].should.contain(helper.hostInfoLine(helper.testHost)); outputs[1].should.eql('sudo done'); }); it('should use default host', async () => { var args = ['yjin@axway.com']; var opts = {}; var path = '/sudo/yjin@axway.com'; var successRequestMock = helper.buildRequestMockWithReqOptions(helper.defaultHost, '443', path, 'GET', positiveBody); suModule.__set__('got', successRequestMock); await suModule.run(args, opts) outputs[0].should.eql('sudo done'); }); });