test ldap mailing list search

This commit is contained in:
Girish Ramakrishnan
2016-09-27 15:56:02 -07:00
parent 0327333be2
commit bd2848932e
2 changed files with 28 additions and 3 deletions
-1
View File
@@ -106,7 +106,6 @@ function getGroup(name, callback) {
assert.strictEqual(typeof name, 'string');
assert.strictEqual(typeof callback, 'function');
// FIXME: fix the query to return members
database.query('SELECT ' + MAILBOX_FIELDS + ' FROM mailboxes WHERE name = ? AND ownerType = ?', [ name, exports.TYPE_GROUP ], function (error, results) {
if (error) return callback(new DatabaseError(DatabaseError.INTERNAL_ERROR, error));
if (results.length === 0) return callback(new DatabaseError(DatabaseError.NOT_FOUND));
+28 -2
View File
@@ -13,6 +13,7 @@ var appdb = require('../appdb.js'),
config = require('../config.js'),
EventEmitter = require('events').EventEmitter,
expect = require('expect.js'),
groups = require('../groups.js'),
http = require('http'),
ldapServer = require('../ldap.js'),
settings = require('../settings.js'),
@@ -36,6 +37,8 @@ var USER_1 = {
displayName: 'User 1'
};
var GROUP_ID = 'developers';
var AUDIT_SOURCE = {
ip: '1.2.3.4'
};
@@ -92,6 +95,14 @@ function setup(done) {
callback(null);
});
},
function (callback) {
async.series([
user.setAliases.bind(null, USER_0.id, [ 'Asterix', 'obelix' ]),
groups.create.bind(null, GROUP_ID),
groups.addMember.bind(null, GROUP_ID, USER_0.id),
groups.addMember.bind(null, GROUP_ID, USER_1.id)
], callback);
}
], function (error) {
if (error) return done(error);
@@ -531,10 +542,25 @@ describe('Ldap', function () {
});
describe('search aliases', function () {
before(function (done) {
user.setAliases(USER_0.id, [ 'Asterix', 'obelix' ], done);
it('get specific alias', function (done) {
ldapSearch('cn=asterix,ou=mailaliases,dc=cloudron', 'objectclass=nismailalias', function (error, entries) {
if (error) return done(error);
expect(entries.length).to.equal(1);
expect(entries[0].cn).to.equal('asterix');
expect(entries[0].rfc822MailMember).to.equal(USER_0.username.toLowerCase());
done();
});
});
it('non-existent alias', function (done) {
ldapSearch('cn=random,ou=mailaliases,dc=cloudron', 'objectclass=mailbox', function (error) {
expect(error).to.be.a(ldap.NoSuchObjectError);
done();
});
});
});
describe('search groups', function () {
it('get specific alias', function (done) {
ldapSearch('cn=asterix,ou=mailaliases,dc=cloudron', 'objectclass=nismailalias', function (error, entries) {
if (error) return done(error);