make sysadmin test work

This commit is contained in:
Girish Ramakrishnan
2017-04-24 15:21:42 -07:00
parent d92a2b070c
commit 1b0a81cb3f
+23 -9
View File
@@ -10,10 +10,13 @@ var appdb = require('../../appdb.js'),
config = require('../../config.js'), config = require('../../config.js'),
database = require('../../database.js'), database = require('../../database.js'),
expect = require('expect.js'), expect = require('expect.js'),
hock = require('hock'),
http = require('http'),
nock = require('nock'),
superagent = require('superagent'), superagent = require('superagent'),
server = require('../../server.js'), server = require('../../server.js'),
settings = require('../../settings.js'), settings = require('../../settings.js'),
nock = require('nock'); url = require('url');
var SERVER_URL = 'http://localhost:' + config.get('port'); var SERVER_URL = 'http://localhost:' + config.get('port');
@@ -72,22 +75,33 @@ describe('Internal API', function () {
before(setup); before(setup);
after(cleanup); after(cleanup);
var apiHockInstance = hock.createHock({ throwOnUnmatched: false }), apiHockServer;
before(function (done) {
apiHockInstance
.post('/api/v1/boxes/' + config.fqdn() + '/awscredentials?token=BACKUP_TOKEN')
.reply(201, { credentials: { AccessKeyId: 'accessKeyId', SecretAccessKey: 'secretAccessKey' } });
var port = parseInt(url.parse(config.apiServerOrigin()).port, 10);
apiHockServer = http.createServer(apiHockInstance.handler).listen(port, done);
});
after(function (done) {
apiHockServer.close();
done();
});
describe('backup', function () { describe('backup', function () {
it('succeeds', function (done) { it('succeeds', function (done) {
var scope = nock(config.apiServerOrigin())
.post('/api/v1/boxes/' + config.fqdn() + '/awscredentials?token=BACKUP_TOKEN')
.reply(201, { credentials: { AccessKeyId: 'accessKeyId', SecretAccessKey: 'secretAccessKey' } });
superagent.post(config.sysadminOrigin() + '/api/v1/backup') superagent.post(config.sysadminOrigin() + '/api/v1/backup')
.end(function (error, result) { .end(function (error, result) {
expect(result.statusCode).to.equal(202); expect(result.statusCode).to.equal(202);
function checkAppstoreServerCalled() { function checkAppstoreServerCalled() {
if (scope.isDone()) { apiHockInstance.done(function (error) {
return done(); if (!error) return done();
}
setTimeout(checkAppstoreServerCalled, 100); setTimeout(checkAppstoreServerCalled, 100);
});
} }
checkAppstoreServerCalled(); checkAppstoreServerCalled();