diff --git a/src/routes/test/backups-test.js b/src/routes/test/backups-test.js index a84e0ed23..39f427747 100644 --- a/src/routes/test/backups-test.js +++ b/src/routes/test/backups-test.js @@ -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) { diff --git a/src/routes/test/caas-test.js b/src/routes/test/caas-test.js index 9ed225cc1..5a5bb2ea2 100644 --- a/src/routes/test/caas-test.js +++ b/src/routes/test/caas-test.js @@ -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) { diff --git a/src/routes/test/domains-test.js b/src/routes/test/domains-test.js index 4551b7cf4..c0137aa6c 100644 --- a/src/routes/test/domains-test.js +++ b/src/routes/test/domains-test.js @@ -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(); }); diff --git a/src/routes/test/sysadmin-test.js b/src/routes/test/sysadmin-test.js index 814933a6f..820523cc4 100644 --- a/src/routes/test/sysadmin-test.js +++ b/src/routes/test/sysadmin-test.js @@ -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); } diff --git a/src/routes/test/user-test.js b/src/routes/test/user-test.js index 1f797cdf0..8e113c6cf 100644 --- a/src/routes/test/user-test.js +++ b/src/routes/test/user-test.js @@ -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(); - }); - }); });