Fix route/ tests

This commit is contained in:
Girish Ramakrishnan
2017-11-27 15:30:55 -08:00
parent 437312811d
commit 68c26c1d12
20 changed files with 91 additions and 130 deletions

View File

@@ -149,7 +149,7 @@ function startBox(done) {
safe.fs.unlinkSync(paths.INFRA_VERSION_FILE);
child_process.execSync('docker ps -qa | xargs --no-run-if-empty docker rm -f');
config.setFqdn('foobar.com');
config.setFqdn('example-apps-test.com');
config.setZoneName('foobar.com');
awsHostedZones = {

View File

@@ -24,7 +24,7 @@ function setup(done) {
nock.cleanAll();
config._reset();
config.setVersion('1.2.3');
config.setFqdn('localhost');
config.setFqdn('example-backups-test.com');
async.series([
server.start.bind(server),
@@ -53,7 +53,7 @@ function setup(done) {
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', [ ] /* portBindings */, { }, callback);
appdb.add('appid', 'appStoreId', manifest, 'location', config.fqdn(), [ ] /* portBindings */, { }, callback);
},
function createSettings(callback) {

View File

@@ -23,6 +23,37 @@ var SERVER_URL = 'http://localhost:' + config.get('port');
var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
var token = null;
function setup(done) {
config._reset();
config.setFqdn('example-clients-test.com');
config.set('provider', 'caas');
async.series([
server.start,
database._clear,
function (callback) {
var scope1 = nock(config.apiServerOrigin()).get('/api/v1/boxes/' + config.fqdn() + '/setup/verify?setupToken=somesetuptoken').reply(200, {});
var scope2 = nock(config.apiServerOrigin()).post('/api/v1/boxes/' + config.fqdn() + '/setup/done?setupToken=somesetuptoken').reply(201, {});
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
.query({ setupToken: 'somesetuptoken' })
.send({ username: USERNAME, password: PASSWORD, email: EMAIL })
.end(function (error, result) {
expect(result).to.be.ok();
expect(result.statusCode).to.equal(201);
expect(scope1.isDone()).to.be.ok();
expect(scope2.isDone()).to.be.ok();
// stash token for further use
token = result.body.token;
callback();
});
}
], done);
}
function cleanup(done) {
database._clear(function (error) {
expect(error).to.not.be.ok();
@@ -33,36 +64,7 @@ function cleanup(done) {
describe('OAuth Clients API', function () {
describe('add', function () {
before(function (done) {
// we test caas here
config.set('provider', 'caas');
async.series([
server.start.bind(null),
database._clear.bind(null),
function (callback) {
var scope1 = nock(config.apiServerOrigin()).get('/api/v1/boxes/' + config.fqdn() + '/setup/verify?setupToken=somesetuptoken').reply(200, {});
var scope2 = nock(config.apiServerOrigin()).post('/api/v1/boxes/' + config.fqdn() + '/setup/done?setupToken=somesetuptoken').reply(201, {});
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
.query({ setupToken: 'somesetuptoken' })
.send({ username: USERNAME, password: PASSWORD, email: EMAIL })
.end(function (error, result) {
expect(result).to.be.ok();
expect(result.statusCode).to.equal(201);
expect(scope1.isDone()).to.be.ok();
expect(scope2.isDone()).to.be.ok();
// stash token for further use
token = result.body.token;
callback();
});
},
], done);
});
before(setup),
after(cleanup);
it('fails without token', function (done) {
@@ -192,27 +194,7 @@ describe('OAuth Clients API', function () {
before(function (done) {
async.series([
server.start.bind(null),
database._clear.bind(null),
function (callback) {
var scope1 = nock(config.apiServerOrigin()).get('/api/v1/boxes/' + config.fqdn() + '/setup/verify?setupToken=somesetuptoken').reply(200, {});
var scope2 = nock(config.apiServerOrigin()).post('/api/v1/boxes/' + config.fqdn() + '/setup/done?setupToken=somesetuptoken').reply(201, {});
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
.query({ setupToken: 'somesetuptoken' })
.send({ username: USERNAME, password: PASSWORD, email: EMAIL })
.end(function (error, result) {
expect(result).to.be.ok();
expect(scope1.isDone()).to.be.ok();
expect(scope2.isDone()).to.be.ok();
// stash token for further use
token = result.body.token;
callback();
});
},
setup,
function (callback) {
superagent.post(SERVER_URL + '/api/v1/oauth/clients')
@@ -278,27 +260,7 @@ describe('OAuth Clients API', function () {
before(function (done) {
async.series([
server.start.bind(null),
database._clear.bind(null),
function (callback) {
var scope1 = nock(config.apiServerOrigin()).get('/api/v1/boxes/' + config.fqdn() + '/setup/verify?setupToken=somesetuptoken').reply(200, {});
var scope2 = nock(config.apiServerOrigin()).post('/api/v1/boxes/' + config.fqdn() + '/setup/done?setupToken=somesetuptoken').reply(201, {});
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
.query({ setupToken: 'somesetuptoken' })
.send({ username: USERNAME, password: PASSWORD, email: EMAIL })
.end(function (error, result) {
expect(result).to.be.ok();
expect(scope1.isDone()).to.be.ok();
expect(scope2.isDone()).to.be.ok();
// stash token for further use
token = result.body.token;
callback();
});
},
setup,
function (callback) {
superagent.post(SERVER_URL + '/api/v1/oauth/clients')
@@ -410,51 +372,27 @@ describe('Clients', function () {
next();
};
function setup(done) {
function setup2(done) {
async.series([
server.start.bind(server),
database._clear.bind(null),
setup,
function (callback) {
var scope1 = nock(config.apiServerOrigin()).get('/api/v1/boxes/' + config.fqdn() + '/setup/verify?setupToken=somesetuptoken').reply(200, {});
var scope2 = nock(config.apiServerOrigin()).post('/api/v1/boxes/' + config.fqdn() + '/setup/done?setupToken=somesetuptoken').reply(201, {});
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
.query({ setupToken: 'somesetuptoken' })
.send({ username: USER_0.username, password: USER_0.password, email: USER_0.email })
.end(function (error, result) {
superagent.get(SERVER_URL + '/api/v1/profile')
.query({ access_token: token })
.end(function (error, result) {
expect(result).to.be.ok();
expect(result.statusCode).to.eql(201);
expect(scope1.isDone()).to.be.ok();
expect(scope2.isDone()).to.be.ok();
expect(result.statusCode).to.eql(200);
// stash for further use
token = result.body.token;
USER_0.id = result.body.id;
superagent.get(SERVER_URL + '/api/v1/profile')
.query({ access_token: token })
.end(function (error, result) {
expect(result).to.be.ok();
expect(result.statusCode).to.eql(200);
USER_0.id = result.body.id;
callback();
});
callback();
});
}
], done);
}
function cleanup(done) {
database._clear(function (error) {
expect(error).to.not.be.ok();
server.stop(done);
});
}
describe('get', function () {
before(setup);
before(setup2);
after(cleanup);
it('fails due to missing token', function (done) {
@@ -497,7 +435,7 @@ describe('Clients', function () {
});
describe('get tokens by client', function () {
before(setup);
before(setup2);
after(cleanup);
it('fails due to missing token', function (done) {
@@ -550,7 +488,7 @@ describe('Clients', function () {
});
describe('delete tokens by client', function () {
before(setup);
before(setup2);
after(cleanup);
it('fails due to missing token', function (done) {

View File

@@ -28,13 +28,13 @@ var USERNAME_1 = 'userTheFirst', EMAIL_1 = 'taO@zen.mac', userId_1, token_1;
function setup(done) {
nock.cleanAll();
config._reset();
config.set('version', '0.5.0');
config.setFqdn('localhost');
config.setFqdn('example-cloudron-test.com');
server.start(function (error) {
if (error) return done(error);
settings.setBackupConfig({ provider: 'filesystem', backupFolder: '/tmp', format: 'tgz' }, done);
});
async.series([
server.start.bind(server),
database._clear,
settings.setBackupConfig.bind(null, { provider: 'filesystem', backupFolder: '/tmp', format: 'tgz' })
], done);
}
function cleanup(done) {
@@ -255,7 +255,7 @@ describe('Cloudron', function () {
it('succeeds (admin)', function (done) {
var scope = nock(config.apiServerOrigin())
.get('/api/v1/boxes/localhost?token=' + config.token())
.get(`/api/v1/boxes/${config.fqdn()}?token=${config.token()}`)
.reply(200, { box: { region: 'sfo', size: '1gb' }, user: { }});
superagent.get(SERVER_URL + '/api/v1/cloudron/config')

View File

@@ -22,7 +22,13 @@ var token = null; // authentication token
var server;
function setup(done) {
server.start(done);
config._reset();
config.setFqdn('example-developer-test.com');
async.series([
server.start.bind(server),
database._clear
], done);
}
function cleanup(done) {

View File

@@ -33,9 +33,9 @@ describe('Domains API', function () {
this.timeout(10000);
before(function (done) {
// we test digitalocean here
config._reset();
config.set('provider', 'digitalocean');
config.set('fqdn', 'example.com');
config.setFqdn('example-domains-test.com');
async.series([
server.start.bind(null),

View File

@@ -22,6 +22,10 @@ var token = null;
var USER_1_ID = null, token_1;
function setup(done) {
config._reset();
config.set('provider', 'notcaas');
config.setFqdn('example-eventlog-test.com');
async.series([
server.start.bind(server),

View File

@@ -28,7 +28,9 @@ var groupObject;
var server;
function setup(done) {
config._reset();
config.set('provider', 'caas');
config.setFqdn('example-groups-test.com');
async.series([
server.start.bind(server),

View File

@@ -294,6 +294,9 @@ describe('OAuth2', function () {
};
function setup(done) {
config._reset();
config.setFqdn(APP_0.domain);
async.series([
server.start,
database._clear,

View File

@@ -26,6 +26,9 @@ describe('Profile API', function () {
var token_0;
function setup(done) {
config._reset();
config.setFqdn('example-profile-test.com');
server.start(function (error) {
expect(!error).to.be.ok();

View File

@@ -22,6 +22,8 @@ var token = null;
var server;
function setup(done) {
config._reset();
config.setFqdn('example-server-test.com');
config.set('provider', 'caas');
config.setVersion('1.2.3');

View File

@@ -27,7 +27,8 @@ var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
var token = null;
function setup(done) {
// we test caas here
config._reset();
config.setFqdn('example-settings-test.com');
config.set('provider', 'caas');
async.series([

View File

@@ -28,7 +28,8 @@ var token = null;
var server;
function setup(done) {
config.setFqdn('foobar.com');
config._reset();
config.setFqdn('example-ssh-test.com');
async.series([
server.start.bind(server),

View File

@@ -30,7 +30,8 @@ var SERVER_URL = 'http://localhost:' + config.get('port');
var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
function setup(done) {
// we test caas here
config._reset();
config.setFqdn('example-sysadmin-test.com');
config.set('provider', 'caas');
config.setVersion('1.2.3');
@@ -58,7 +59,7 @@ function setup(done) {
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', 'example.com', [ ] /* portBindings */, { }, callback);
appdb.add('appid', 'appStoreId', manifest, 'location', config.fqdn(), [ ] /* portBindings */, { }, callback);
},
function createSettings(callback) {

View File

@@ -26,6 +26,9 @@ var USERNAME_3 = 'ut', EMAIL_3 = 'user3@FOO.bar';
var groupObject;
function setup(done) {
config._reset();
config.setFqdn('example-user-test.com');
server.start(function (error) {
expect(!error).to.be.ok();