UNPKG

acs

Version:
125 lines (102 loc) 4.42 kB
var chai = require('chai'), should = chai.should(), rewire = require('rewire'), sinon = require('sinon'), util = require('../lib/util'), helper = require('./helper'); var downloadModule = rewire('../lib/command/download'); var consolelog = console.log; describe('download cli - ', function() { this.timeout(20000); var outputs = []; var fakeS3URL = 'url-to-s3'; var positiveBody = { success: true, version: helper.testVersion, url: fakeS3URL }; before(helper.beforeHandler); after(helper.afterHandler); beforeEach(helper.buildBeforeEachHandler(outputs)); afterEach(helper.afterEachHandler); it('should use host and port from command line', function(done) { var args = [helper.testApp]; var opts = { host: helper.testHost, port: 8443 }; // { // "uri": "https://admin.unittest.appcelerator.com:8443/download/testApp/deployed", // "method": "GET", // "proxy": null, // "headers": { // "Cookie": "fake-cookie-for-request", // "Content-Type": "application/x-www-form-urlencoded", // "Authorization": "" // } // } var successRequestMock = helper.buildStreamRequestMock(function(options) { // consolelog(JSON.stringify(options, null, 4)); options['url'].should.eql(helper.testHost + ':8443/download/testApp/deployed'); options['method'].should.eql('GET'); options['headers']['Cookie'].should.eql(helper.fakeCookieForReq); }, null, null, positiveBody); downloadModule.__set__('got.stream.get', successRequestMock); downloadModule.__set__('got.stream.on', successRequestMock); var downloadFromS3 = function(appname, version, dir, url) { // consolelog("args", arguments) // { '0': 'testApp', '1': '0.1.0', '2': './', '3': 'url-to-s3' } appname.should.eql(helper.testApp); version.should.eql(helper.testVersion); dir.should.eql('./'); url.should.eql(fakeS3URL); // consolelog(outputs) // [ '\u001b[90mAdmin Hostname: https://admin.unittest.appcelerator.com\u001b[39m' ] outputs[0].should.contain(helper.hostInfoLine(helper.testHost)); done(); } downloadModule.__set__('downloadFromS3', downloadFromS3); downloadModule.run(args, opts) }); it('should use host from command line', function(done) { var args = [helper.testApp]; var opts = { host: helper.testHost }; var path = '/download/testApp/deployed'; var successRequestMock = helper.buildStreamRequestMockWithReqOptions(helper.testHost, '443', path, 'GET', positiveBody); downloadModule.__set__('got.stream.get', successRequestMock); downloadModule.__set__('got.stream.on', successRequestMock); var downloadFromS3 = function(appname, version, dir, url) { appname.should.eql(helper.testApp); version.should.eql(helper.testVersion); dir.should.eql('./'); url.should.eql(fakeS3URL); outputs[0].should.contain(helper.hostInfoLine(helper.testHost)); done(); } downloadModule.__set__('downloadFromS3', downloadFromS3); downloadModule.run(args, opts) }); it('should use default host', function(done) { var args = [helper.testApp]; var opts = {}; var path = '/download/testApp/deployed'; var successRequestMock = helper.buildStreamRequestMockWithReqOptions(helper.defaultHost, '443', path, 'GET', positiveBody); downloadModule.__set__('got.stream.get', successRequestMock); downloadModule.__set__('got.stream.on', successRequestMock); var downloadFromS3 = function(appname, version, dir, url) { appname.should.eql(helper.testApp); version.should.eql(helper.testVersion); dir.should.eql('./'); url.should.eql(fakeS3URL); should.not.exist(outputs[0]) should.equal(outputs[0], undefined); done(); } downloadModule.__set__('downloadFromS3', downloadFromS3); downloadModule.run(args, opts) }); });