Cleanup sysadmin backup trigger test to only test for backup start event

This commit is contained in:
Johannes Zellner
2018-06-30 14:33:51 +02:00
parent 7b540a1d2d
commit 8a1de81284

View File

@@ -5,25 +5,16 @@
'use strict';
var appdb = require('../../appdb.js'),
async = require('async'),
var async = require('async'),
config = require('../../config.js'),
database = require('../../database.js'),
domains = require('../../domains.js'),
eventlog = require('../../eventlog.js'),
expect = require('expect.js'),
hock = require('hock'),
http = require('http'),
MockS3 = require('mock-aws-s3'),
os = require('os'),
path = require('path'),
rimraf = require('rimraf'),
s3 = require('../../storage/s3.js'),
safe = require('safetydance'),
server = require('../../server.js'),
settings = require('../../settings.js'),
settingsdb = require('../../settingsdb.js'),
superagent = require('superagent'),
url = require('url');
superagent = require('superagent');
const SERVER_URL = 'http://localhost:' + config.get('port');
@@ -38,8 +29,6 @@ const DOMAIN_0 = {
tlsConfig: { provider: 'fallback' }
};
var ownerId = null;
function setup(done) {
config._reset();
config.setFqdn(DOMAIN_0.domain);
@@ -57,75 +46,47 @@ function setup(done) {
.end(function (error, result) {
expect(result).to.be.ok();
expect(result.statusCode).to.eql(201);
ownerId = result.body.userId;
callback();
});
},
function addApp(callback) {
var manifest = { version: '0.0.1', manifestVersion: 1, dockerImage: 'foo', healthCheckPath: '/', httpPort: 3, title: 'ok', addons: { } };
appdb.add('appid', 'appStoreId', manifest, 'location', DOMAIN_0.domain, ownerId, [ ] /* portBindings */, { }, callback);
},
function createSettings(callback) {
MockS3.config.basePath = path.join(os.tmpdir(), 's3-sysadmin-test-buckets/');
s3._mockInject(MockS3);
safe.fs.mkdirSync('/tmp/box-sysadmin-test');
settingsdb.set(settings.BACKUP_CONFIG_KEY, JSON.stringify({ provider: 'caas', token: 'BACKUP_TOKEN', fqdn: DOMAIN_0.domain, key: 'key', prefix: 'boxid', format: 'tgz'}), callback);
}
], done);
}
function cleanup(done) {
s3._mockRestore();
rimraf.sync(MockS3.config.basePath);
database._clear(function (error) {
expect(!error).to.be.ok();
server.stop(done);
});
}
describe('Internal API', function () {
this.timeout(5000);
before(setup);
after(cleanup);
var apiHockInstance = hock.createHock({ throwOnUnmatched: false }), apiHockServer;
before(function (done) {
apiHockInstance
.post('/api/v1/boxes/' + config.adminDomain() + '/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 () {
it('succeeds', function (done) {
superagent.post(config.sysadminOrigin() + '/api/v1/backup')
.end(function (error, result) {
expect(result.statusCode).to.equal(202);
.end(function (error, result) {
expect(result.statusCode).to.equal(202);
function checkAppstoreServerCalled() {
apiHockInstance.done(function (error) {
if (!error) return done();
function checkBackupStartEvent() {
eventlog.getAllPaged([ eventlog.ACTION_BACKUP_START ], '', 1, 100, function (error, result) {
expect(error).to.equal(null);
setTimeout(checkAppstoreServerCalled, 100);
});
}
if (result.length === 0) return setTimeout(checkBackupStartEvent, 1000);
checkAppstoreServerCalled();
});
done();
});
}
checkBackupStartEvent();
});
});
});
});
});