Fix tests

This commit is contained in:
Girish Ramakrishnan
2019-02-15 14:40:15 -08:00
parent 08bb8e3df9
commit e8c11f6e15
6 changed files with 39 additions and 22 deletions

View File

@@ -9,6 +9,7 @@ let async = require('async'),
config = require('../../config.js'),
database = require('../../database.js'),
expect = require('expect.js'),
hat = require('../../hat.js'),
http = require('http'),
nock = require('nock'),
os = require('os'),
@@ -162,11 +163,11 @@ describe('Cloudron', function () {
expect(result).to.be.ok();
expect(result.statusCode).to.eql(201);
token_1 = tokendb.generateToken();
token_1 = hat(8 * 32);
userId_1 = result.body.id;
// HACK to get a token for second user (passwords are generated and the user should have gotten a password setup link...)
tokendb.add(token_1, userId_1, 'test-client-id', Date.now() + 100000, 'cloudron', '', callback);
tokendb.add({ id: 'tid-1', accessToken: token_1, identifier: userId_1, clientId: 'test-client-id', expires: Date.now() + 100000, scope: 'cloudron', name: '' }, callback);
});
}
], done);

View File

@@ -12,6 +12,7 @@ var accesscontrol = require('../../accesscontrol.js'),
database = require('../../database.js'),
eventlogdb = require('../../eventlogdb.js'),
expect = require('expect.js'),
hat = require('../../hat.js'),
superagent = require('superagent'),
server = require('../../server.js'),
tokendb = require('../../tokendb.js');
@@ -72,10 +73,10 @@ function setup(done) {
},
function (callback) {
token_1 = tokendb.generateToken();
token_1 = hat(8 * 32);
// HACK to get a token for second user (passwords are generated and the user should have gotten a password setup link...)
tokendb.add(token_1, USER_1_ID, 'test-client-id', Date.now() + 100000, accesscontrol.SCOPE_PROFILE, '', callback);
tokendb.add({ id: 'tid-0', accessToken: token_1, identifier: USER_1_ID, clientId: 'test-client-id', expires: Date.now() + 100000, scope: accesscontrol.SCOPE_PROFILE, name: '' }, callback);
},
function (callback) {

View File

@@ -11,9 +11,9 @@ var accesscontrol = require('../../accesscontrol.js'),
config = require('../../config.js'),
database = require('../../database.js'),
expect = require('expect.js'),
groups = require('../../groups.js'),
superagent = require('superagent'),
hat = require('../../hat.js'),
server = require('../../server.js'),
superagent = require('superagent'),
tokendb = require('../../tokendb.js');
var SERVER_URL = 'http://localhost:' + config.get('port');
@@ -66,11 +66,11 @@ function setup(done) {
expect(result).to.be.ok();
expect(result.statusCode).to.eql(201);
token_1 = tokendb.generateToken();
token_1 = hat(8 * 32);
userId_1 = result.body.id;
// HACK to get a token for second user (passwords are generated and the user should have gotten a password setup link...)
tokendb.add(token_1, userId_1, 'test-client-id', Date.now() + 100000, accesscontrol.SCOPE_PROFILE, '', callback);
tokendb.add({ id: 'tid-1', accessToken: token_1, identifier: userId_1, clientId: 'test-client-id', expires: Date.now() + 100000, scope: accesscontrol.SCOPE_PROFILE, name: '' }, callback);
});
}
], done);

View File

@@ -6,9 +6,11 @@
'use strict';
var config = require('../../config.js'),
var accesscontrol = require('../../accesscontrol.js'),
config = require('../../config.js'),
database = require('../../database.js'),
expect = require('expect.js'),
hat = require('../../hat.js'),
mailer = require('../../mailer.js'),
superagent = require('superagent'),
server = require('../../server.js'),
@@ -110,10 +112,10 @@ describe('Profile API', function () {
});
it('fails with expired token', function (done) {
var token = tokendb.generateToken();
var token = hat(8 * 32);
var expires = Date.now() - 2000; // 1 sec
tokendb.add(token, user_0.id, null, expires, 'profile', 'tokenname', function (error) {
tokendb.add({ id: 'tid-3', accessToken: token, identifier: user_0.id, clientId: null, expires: expires, scope: accesscontrol.SCOPE_PROFILE, name: 'fromtest' }, function (error) {
expect(error).to.not.be.ok();
superagent.get(SERVER_URL + '/api/v1/profile').query({ access_token: token }).end(function (error, result) {

View File

@@ -12,6 +12,7 @@ var accesscontrol = require('../../accesscontrol.js'),
domains = require('../../domains.js'),
tokendb = require('../../tokendb.js'),
expect = require('expect.js'),
hat = require('../../hat.js'),
groups = require('../../groups.js'),
mail = require('../../mail.js'),
mailer = require('../../mailer.js'),
@@ -84,7 +85,7 @@ function checkMails(number, done) {
describe('Users API', function () {
var user_0, user_1, user_2, user_4;
var token = null, userToken = null;
var token_1 = tokendb.generateToken();
var token_1 = hat(8 * 32);
before(setup);
after(cleanup);
@@ -173,15 +174,24 @@ describe('Users API', function () {
});
it('cannot get userInfo with expired token', function (done) {
var token = tokendb.generateToken();
var expires = Date.now() + 2000; // 1 sec
tokendb.add(token, user_0.id, null, expires, accesscontrol.SCOPE_PROFILE, 'tokenname', function (error) {
let token = {
id: 'tid-0',
accessToken: hat(8 * 32),
identifier: user_0.id,
clientId: null,
expires: expires,
scope: accesscontrol.SCOPE_PROFILE,
name: 'tokenname'
};
tokendb.add(token, function (error) {
expect(error).to.not.be.ok();
setTimeout(function () {
superagent.get(SERVER_URL + '/api/v1/users/' + user_0.username)
.query({ access_token: token })
.query({ access_token: token.accessToken })
.end(function (error, result) {
expect(result.statusCode).to.equal(401);
done();
@@ -287,7 +297,7 @@ describe('Users API', function () {
user_1 = result.body;
// HACK to get a token for second user (passwords are generated and the user should have gotten a password setup link...)
tokendb.add(token_1, user_1.id, 'test-client-id', Date.now() + 10000, accesscontrol.SCOPE_PROFILE, 'fromtest', done);
tokendb.add({ id: 'tid-3', accessToken: token_1, identifier: user_1.id, clientId: 'test-client-id', expires: Date.now() + 10000, scope: accesscontrol.SCOPE_PROFILE, name: 'fromtest' }, done);
});
});
@@ -697,10 +707,10 @@ describe('Users API', function () {
user_4 = result.body;
userToken = tokendb.generateToken();
userToken = hat(8 * 32);
var expires = Date.now() + 2000; // 1 sec
tokendb.add(userToken, user_4.id, null, expires, accesscontrol.SCOPE_PROFILE, '', done);
tokendb.add({ id: 'tid-2', accessToken: userToken, identifier: user_4.id, clientId: null, expires: expires, scope: accesscontrol.SCOPE_PROFILE, name: '' }, done);
});
});