diff --git a/src/routes/test/sysadmin-test.js b/src/routes/test/sysadmin-test.js index d976c6e15..e79ad19b8 100644 --- a/src/routes/test/sysadmin-test.js +++ b/src/routes/test/sysadmin-test.js @@ -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(); + }); }); }); -}); +}); \ No newline at end of file