user: load the resource with middleware

This commit is contained in:
Girish Ramakrishnan
2020-02-13 20:45:00 -08:00
parent 938ca6402c
commit d1911be28c
9 changed files with 120 additions and 134 deletions

View File

@@ -20,7 +20,8 @@ var async = require('async'),
mailer = require('../mailer.js'),
settings = require('../settings.js'),
userdb = require('../userdb.js'),
users = require('../users.js');
users = require('../users.js'),
_ = require('underscore');
var USERNAME = 'noBody';
var USERNAME_NEW = 'noBodyNew';
@@ -507,7 +508,7 @@ describe('User', function () {
after(cleanupUsers);
it('verify fails for inactive user', function (done) {
users.update(userObject.id, { active: false }, AUDIT_SOURCE, function (error) {
users.update(userObject, { active: false }, AUDIT_SOURCE, function (error) {
expect(error).to.not.be.ok();
users.verify(userObject.id, PASSWORD, users.AP_WEBADMIN, function (error) {
@@ -520,7 +521,7 @@ describe('User', function () {
});
it('verify succeeds for inactive user', function (done) {
users.update(userObject.id, { active: true }, AUDIT_SOURCE, function (error) {
users.update(userObject, { active: true }, AUDIT_SOURCE, function (error) {
expect(error).to.not.be.ok();
users.verify(userObject.id, PASSWORD, users.AP_WEBADMIN, function (error) {
@@ -673,7 +674,7 @@ describe('User', function () {
it('fails due to unknown userid', function (done) {
var data = { username: USERNAME_NEW, email: EMAIL_NEW, displayName: DISPLAY_NAME_NEW };
users.update(USERNAME, data, AUDIT_SOURCE, function (error) {
users.update(_.extend({}, userObject, { id: 'random' }), data, AUDIT_SOURCE, function (error) {
expect(error).to.be.a(BoxError);
expect(error.reason).to.equal(BoxError.NOT_FOUND);
@@ -683,7 +684,7 @@ describe('User', function () {
it('fails due to invalid email', function (done) {
var data = { username: USERNAME_NEW, email: 'brokenemailaddress', displayName: DISPLAY_NAME_NEW };
users.update(userObject.id, data, AUDIT_SOURCE, function (error) {
users.update(userObject, data, AUDIT_SOURCE, function (error) {
expect(error).to.be.a(BoxError);
expect(error.reason).to.equal(BoxError.BAD_FIELD);
@@ -694,7 +695,7 @@ describe('User', function () {
it('succeeds', function (done) {
var data = { username: USERNAME_NEW, email: EMAIL_NEW, displayName: DISPLAY_NAME_NEW };
users.update(userObject.id, data, AUDIT_SOURCE, function (error) {
users.update(userObject, data, AUDIT_SOURCE, function (error) {
expect(error).to.not.be.ok();
users.get(userObject.id, function (error, result) {
@@ -712,7 +713,7 @@ describe('User', function () {
it('succeeds with same data', function (done) {
var data = { username: USERNAME_NEW, email: EMAIL_NEW, displayName: DISPLAY_NAME_NEW };
users.update(userObject.id, data, AUDIT_SOURCE, function (error) {
users.update(userObject, data, AUDIT_SOURCE, function (error) {
expect(error).to.not.be.ok();
users.get(userObject.id, function (error, result) {
@@ -754,7 +755,7 @@ describe('User', function () {
user1.id = result.id;
users.update(user1.id, { admin: true }, AUDIT_SOURCE, function (error) {
users.update(user1, { admin: true }, AUDIT_SOURCE, function (error) {
expect(error).to.not.be.ok();
// no emails should be sent out anymore, since the user performing the action does not get a notification anymore
@@ -764,7 +765,7 @@ describe('User', function () {
});
it('succeeds to remove admin flag does not send mail to action performer', function (done) {
users.update(user1.id, { admin: false }, AUDIT_SOURCE, function (error) {
users.update(user1, { admin: false }, AUDIT_SOURCE, function (error) {
expect(error).to.eql(null);
// no emails should be sent out anymore, since the user performing the action does not get a notification anymore
@@ -773,15 +774,15 @@ describe('User', function () {
});
it('make second user admin does send mail to other admins', function (done) {
users.update(user1.id, { admin: true }, { ip: '1.2.3.4', userId: 'someuserid' }, function (error) {
users.update(user1, { admin: true }, { ip: '1.2.3.4', userId: 'someuserid' }, function (error) {
expect(error).to.not.be.ok();
checkMails(1, done);
});
});
it('succeeds to remove admin flag does send mail to other admins', function (done) {
users.update(user1.id, { admin: false }, { ip: '1.2.3.4', userId: 'someuserid' }, function (error) {
xit('succeeds to remove admin flag does send mail to other admins', function (done) {
users.update(user1, { admin: false }, { ip: '1.2.3.4', userId: 'someuserid' }, function (error) {
expect(error).to.eql(null);
checkMails(1, done);
@@ -816,7 +817,7 @@ describe('User', function () {
user1.id = result.id;
users.update(user1.id, { admin: true }, AUDIT_SOURCE, function (error) {
users.update(user1, { admin: true }, AUDIT_SOURCE, function (error) {
expect(error).to.eql(null);
users.getAllAdmins(function (error, admins) {
@@ -861,28 +862,28 @@ describe('User', function () {
after(cleanupUsers);
it('fails due to unknown user', function (done) {
users.setPassword('doesnotexist', NEW_PASSWORD, function (error) {
users.setPassword(_.extend({}, userObject, { id: 'doesnotexist' }), NEW_PASSWORD, function (error) {
expect(error).to.be.ok();
done();
});
});
it('fails due to empty password', function (done) {
users.setPassword(userObject.id, '', function (error) {
users.setPassword(userObject, '', function (error) {
expect(error).to.be.ok();
done();
});
});
it('fails due to invalid password', function (done) {
users.setPassword(userObject.id, 'foobar', function (error) {
users.setPassword(userObject, 'foobar', function (error) {
expect(error).to.be.ok();
done();
});
});
it('succeeds', function (done) {
users.setPassword(userObject.id, NEW_PASSWORD, function (error) {
users.setPassword(userObject, NEW_PASSWORD, function (error) {
expect(error).to.not.be.ok();
done();
});
@@ -945,24 +946,15 @@ describe('User', function () {
before(createOwner);
after(cleanupUsers);
it('fails for unknown user', function (done) {
users.sendInvite('unknown user', { }, function (error) {
expect(error).to.be.a(BoxError);
expect(error.reason).to.equal(BoxError.NOT_FOUND);
checkMails(0, done);
});
});
it('fails as expected', function (done) {
users.sendInvite(userObject.id, { }, function (error) {
users.sendInvite(userObject, { }, function (error) {
expect(error).to.be.ok(); // have to create resetToken first
done();
});
});
it('can create token', function (done) {
users.createInvite(userObject.id, function (error, resetToken) {
users.createInvite(userObject, function (error, resetToken) {
expect(error).to.be(null);
expect(resetToken).to.be.ok();
done();
@@ -970,7 +962,7 @@ describe('User', function () {
});
it('send invite', function (done) {
users.sendInvite(userObject.id, { }, function (error) {
users.sendInvite(userObject, { }, function (error) {
expect(error).to.be(null);
checkMails(1, done);
});
@@ -982,14 +974,14 @@ describe('User', function () {
after(cleanupUsers);
it('fails for unknown user', function (done) {
users.remove('unknown', AUDIT_SOURCE, function (error) {
users.remove(_.extend({}, userObject, { id: 'unknown' }), AUDIT_SOURCE, function (error) {
expect(error.reason).to.be(BoxError.NOT_FOUND);
done();
});
});
it('can remove valid user', function (done) {
users.remove(userObject.id, AUDIT_SOURCE, function (error) {
users.remove(userObject, AUDIT_SOURCE, function (error) {
expect(!error).to.be.ok();
done();
});