Fix various route handling tests
This commit is contained in:
@@ -9,28 +9,35 @@ var appdb = require('../../appdb.js'),
|
||||
async = require('async'),
|
||||
config = require('../../config.js'),
|
||||
database = require('../../database.js'),
|
||||
domains = require('../../domains.js'),
|
||||
expect = require('expect.js'),
|
||||
nock = require('nock'),
|
||||
superagent = require('superagent'),
|
||||
server = require('../../server.js'),
|
||||
settings = require('../../settings.js');
|
||||
|
||||
var SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
const SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
|
||||
const USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
|
||||
|
||||
const DOMAIN_0 = {
|
||||
domain: 'example-backups-test.com',
|
||||
zoneName: 'example-backups-test.com',
|
||||
config: {},
|
||||
provider: 'noop',
|
||||
fallbackCertificate: null
|
||||
};
|
||||
|
||||
var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
|
||||
var DOMAIN = 'example-backups-test.com';
|
||||
var token = null;
|
||||
|
||||
function setup(done) {
|
||||
nock.cleanAll();
|
||||
config._reset();
|
||||
config.setVersion('1.2.3');
|
||||
config.setFqdn(DOMAIN);
|
||||
|
||||
async.series([
|
||||
server.start.bind(server),
|
||||
|
||||
server.start,
|
||||
database._clear,
|
||||
domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate),
|
||||
|
||||
function createAdmin(callback) {
|
||||
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
|
||||
@@ -49,7 +56,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', DOMAIN, [ ] /* portBindings */, { }, callback);
|
||||
appdb.add('appid', 'appStoreId', manifest, 'location', DOMAIN_0.domain, [ ] /* portBindings */, { }, callback);
|
||||
},
|
||||
|
||||
function createSettings(callback) {
|
||||
|
||||
@@ -10,6 +10,7 @@ var appdb = require('../../appdb.js'),
|
||||
async = require('async'),
|
||||
config = require('../../config.js'),
|
||||
database = require('../../database.js'),
|
||||
domains = require('../../domains.js'),
|
||||
expect = require('expect.js'),
|
||||
locker = require('../../locker.js'),
|
||||
nock = require('nock'),
|
||||
@@ -20,12 +21,20 @@ var appdb = require('../../appdb.js'),
|
||||
settingsdb = require('../../settingsdb.js'),
|
||||
shell = require('../../shell.js');
|
||||
|
||||
var SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
const SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
const USERNAME = 'superadmin';
|
||||
const PASSWORD = 'Foobar?1337';
|
||||
const EMAIL ='silly@me.com';
|
||||
|
||||
const DOMAIN_0 = {
|
||||
domain: 'example-backups-test.com',
|
||||
zoneName: 'example-backups-test.com',
|
||||
config: {},
|
||||
provider: 'noop',
|
||||
fallbackCertificate: null
|
||||
};
|
||||
|
||||
var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
|
||||
var token = null;
|
||||
var DOMAIN = 'example-backups-test.com';
|
||||
|
||||
var gSudoOriginal = null;
|
||||
function injectShellMock() {
|
||||
gSudoOriginal = shell.sudo;
|
||||
@@ -41,7 +50,6 @@ function setup(done) {
|
||||
config._reset();
|
||||
config.set('provider', 'caas');
|
||||
config.setVersion('1.2.3');
|
||||
config.setFqdn(DOMAIN);
|
||||
|
||||
async.series([
|
||||
server.start.bind(server),
|
||||
@@ -49,6 +57,7 @@ function setup(done) {
|
||||
database._clear,
|
||||
|
||||
settingsdb.set.bind(null, settings.CAAS_CONFIG_KEY, JSON.stringify({ boxId: 'BOX_ID', token: 'ACCESS_TOKEN2' })),
|
||||
domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate),
|
||||
|
||||
function createAdmin(callback) {
|
||||
var scope1 = nock(config.apiServerOrigin()).get('/api/v1/boxes/BOX_ID/setup/verify?setupToken=somesetuptoken').reply(200, {});
|
||||
@@ -72,7 +81,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', DOMAIN, [ ] /* portBindings */, { }, callback);
|
||||
appdb.add('appid', 'appStoreId', manifest, 'location', DOMAIN_0.domain, [ ] /* portBindings */, { }, callback);
|
||||
},
|
||||
|
||||
function createSettings(callback) {
|
||||
|
||||
@@ -141,11 +141,10 @@ describe('Domains API', function () {
|
||||
.end(function (error, result) {
|
||||
expect(result.statusCode).to.equal(200);
|
||||
expect(result.body.domains).to.be.an(Array);
|
||||
expect(result.body.domains.length).to.equal(3);
|
||||
expect(result.body.domains.length).to.equal(2);
|
||||
|
||||
expect(result.body.domains[0].domain).to.equal(DOMAIN_0.domain);
|
||||
expect(result.body.domains[1].domain).to.equal(DOMAIN);
|
||||
expect(result.body.domains[2].domain).to.equal(DOMAIN_1.domain);
|
||||
expect(result.body.domains[1].domain).to.equal(DOMAIN_1.domain);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
@@ -9,6 +9,7 @@ var appdb = require('../../appdb.js'),
|
||||
async = require('async'),
|
||||
config = require('../../config.js'),
|
||||
database = require('../../database.js'),
|
||||
domains = require('../../domains.js'),
|
||||
expect = require('expect.js'),
|
||||
hock = require('hock'),
|
||||
http = require('http'),
|
||||
@@ -24,20 +25,27 @@ var appdb = require('../../appdb.js'),
|
||||
superagent = require('superagent'),
|
||||
url = require('url');
|
||||
|
||||
var SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
const SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
|
||||
var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
|
||||
var DOMAIN = 'example-sysadmin-test.com';
|
||||
const USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com';
|
||||
|
||||
const DOMAIN_0 = {
|
||||
domain: 'example-sysadmin-test.com',
|
||||
zoneName: 'example-sysadmin-test.com',
|
||||
config: {},
|
||||
provider: 'noop',
|
||||
fallbackCertificate: null
|
||||
};
|
||||
|
||||
function setup(done) {
|
||||
config._reset();
|
||||
config.setFqdn(DOMAIN);
|
||||
config.setFqdn(DOMAIN_0.domain);
|
||||
config.setVersion('1.2.3');
|
||||
|
||||
async.series([
|
||||
server.start.bind(server),
|
||||
|
||||
server.start,
|
||||
database._clear,
|
||||
domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate),
|
||||
|
||||
function createAdmin(callback) {
|
||||
superagent.post(SERVER_URL + '/api/v1/cloudron/activate')
|
||||
@@ -53,7 +61,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', DOMAIN, [ ] /* portBindings */, { }, callback);
|
||||
appdb.add('appid', 'appStoreId', manifest, 'location', DOMAIN_0.domain, [ ] /* portBindings */, { }, callback);
|
||||
},
|
||||
|
||||
function createSettings(callback) {
|
||||
@@ -62,7 +70,7 @@ function setup(done) {
|
||||
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, key: 'key', prefix: 'boxid', format: 'tgz'}), callback);
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -5,41 +5,54 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
var config = require('../../config.js'),
|
||||
var async = require('async'),
|
||||
config = require('../../config.js'),
|
||||
constants = require('../../constants.js'),
|
||||
database = require('../../database.js'),
|
||||
domains = require('../../domains.js'),
|
||||
tokendb = require('../../tokendb.js'),
|
||||
expect = require('expect.js'),
|
||||
groups = require('../../groups.js'),
|
||||
mail = require('../../mail.js'),
|
||||
mailer = require('../../mailer.js'),
|
||||
superagent = require('superagent'),
|
||||
server = require('../../server.js');
|
||||
|
||||
var SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
const SERVER_URL = 'http://localhost:' + config.get('port');
|
||||
|
||||
var USERNAME_0 = 'superaDmIn', PASSWORD = 'Foobar?1337', EMAIL_0 = 'silLY@me.com', EMAIL_0_NEW = 'stupID@me.com', DISPLAY_NAME_0_NEW = 'New Name';
|
||||
var USERNAME_1 = 'userTheFirst', EMAIL_1 = 'taO@zen.mac';
|
||||
var USERNAME_2 = 'userTheSecond', EMAIL_2 = 'USER@foo.bar', EMAIL_2_NEW = 'happy@ME.com';
|
||||
var USERNAME_3 = 'ut', EMAIL_3 = 'user3@FOO.bar';
|
||||
const DOMAIN_0 = {
|
||||
domain: 'example-user-test.com',
|
||||
zoneName: 'example-user-test.com',
|
||||
config: {},
|
||||
provider: 'noop',
|
||||
fallbackCertificate: null
|
||||
};
|
||||
|
||||
const USERNAME_0 = 'superaDmIn', PASSWORD = 'Foobar?1337', EMAIL_0 = 'silLY@me.com', EMAIL_0_NEW = 'stupID@me.com', DISPLAY_NAME_0_NEW = 'New Name';
|
||||
const USERNAME_1 = 'userTheFirst', EMAIL_1 = 'taO@zen.mac';
|
||||
const USERNAME_2 = 'userTheSecond', EMAIL_2 = 'USER@foo.bar', EMAIL_2_NEW = 'happy@ME.com';
|
||||
const 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();
|
||||
async.series([
|
||||
server.start,
|
||||
database._clear,
|
||||
mailer._clearMailQueue,
|
||||
domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate),
|
||||
mail.add.bind(null, DOMAIN_0.domain)
|
||||
], function (error) {
|
||||
expect(error).to.not.be.ok();
|
||||
|
||||
mailer._clearMailQueue();
|
||||
groups.create('somegroupname', function (error, result) {
|
||||
expect(error).to.not.be.ok();
|
||||
|
||||
database._clear(function (error) {
|
||||
expect(error).to.eql(null);
|
||||
groupObject = result;
|
||||
|
||||
groups.create('somegroupname', function (e, r) {
|
||||
groupObject = r;
|
||||
done();
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -642,47 +655,4 @@ describe('User API', function () {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('can set aliases', function (done) {
|
||||
superagent.put(SERVER_URL + '/api/v1/users/' + user_0.id + '/aliases')
|
||||
.query({ access_token: token })
|
||||
.send({ aliases: [ 'give', 'me', 'more' ] })
|
||||
.end(function (error, result) {
|
||||
expect(result.statusCode).to.equal(200);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('cannot set alias as another user', function (done) {
|
||||
superagent.put(SERVER_URL + '/api/v1/users/' + user_0.id + '/aliases')
|
||||
.query({ access_token: token })
|
||||
.send({ aliases: [ 'give', 'me', 'more', USERNAME_2 ] })
|
||||
.end(function (error, result) {
|
||||
expect(result.statusCode).to.equal(409);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('cannot set invalid alias', function (done) {
|
||||
superagent.put(SERVER_URL + '/api/v1/users/' + user_0.id + '/aliases')
|
||||
.query({ access_token: token })
|
||||
.send({ aliases: [ 'apple-talk' ] })
|
||||
.end(function (error, result) {
|
||||
expect(result.statusCode).to.equal(400);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('can get aliases', function (done) {
|
||||
superagent.get(SERVER_URL + '/api/v1/users/' + user_0.id + '/aliases')
|
||||
.query({ access_token: token })
|
||||
.end(function (error, result) {
|
||||
expect(result.statusCode).to.equal(200);
|
||||
expect(result.body.aliases.length).to.be(3);
|
||||
expect(result.body.aliases[0]).to.be('give');
|
||||
expect(result.body.aliases[1]).to.be('me');
|
||||
expect(result.body.aliases[2]).to.be('more');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user