merge appdb.js into apps.js
This commit is contained in:
@@ -61,6 +61,7 @@ async function ldapSearch(dn, opts) {
|
||||
describe('Ldap', function () {
|
||||
const { setup, cleanup, admin, user, app, domain, auditSource } = common;
|
||||
let group;
|
||||
const mockApp = Object.assign({}, app);
|
||||
|
||||
const mailboxName = 'support';
|
||||
const mailbox = `support@${domain.domain}`;
|
||||
@@ -79,7 +80,7 @@ describe('Ldap', function () {
|
||||
}
|
||||
], done);
|
||||
|
||||
ldapServer._MOCK_APP = app;
|
||||
ldapServer._MOCK_APP = mockApp;
|
||||
});
|
||||
|
||||
after(function (done) {
|
||||
@@ -124,18 +125,18 @@ describe('Ldap', function () {
|
||||
|
||||
describe('non-admin bind', function () {
|
||||
it('succeeds with null accessRestriction', async function () {
|
||||
app.accessRestriction = null;
|
||||
mockApp.accessRestriction = null;
|
||||
await ldapBind(`cn=${user.id},ou=users,dc=cloudron`, user.password);
|
||||
});
|
||||
|
||||
it('fails without accessRestriction', async function () {
|
||||
app.accessRestriction = { users: [], groups: [] };
|
||||
mockApp.accessRestriction = { users: [], groups: [] };
|
||||
const [error] = await safe(ldapBind(`cn=${user.id},ou=users,dc=cloudron`, user.password));
|
||||
expect(error).to.be.a(ldap.NoSuchObjectError);
|
||||
});
|
||||
|
||||
it('succeeds with accessRestriction', async function () {
|
||||
app.accessRestriction = { users: [ user.id ], groups: [] };
|
||||
mockApp.accessRestriction = { users: [ user.id ], groups: [] };
|
||||
await ldapBind(`cn=${user.id},ou=users,dc=cloudron`, user.password);
|
||||
});
|
||||
});
|
||||
@@ -182,7 +183,7 @@ describe('Ldap', function () {
|
||||
});
|
||||
|
||||
it('can always lists admins', async function () {
|
||||
app.accessRestriction = { users: [], groups: [] };
|
||||
mockApp.accessRestriction = { users: [], groups: [] };
|
||||
const entries = await ldapSearch('ou=users,dc=cloudron', { filter: 'objectcategory=person' });
|
||||
expect(entries.length).to.equal(1);
|
||||
expect(entries[0].username).to.equal(admin.username.toLowerCase());
|
||||
@@ -190,7 +191,7 @@ describe('Ldap', function () {
|
||||
});
|
||||
|
||||
it ('does only list users who have access', async function () {
|
||||
app.accessRestriction = { users: [], groups: [ group.id ] };
|
||||
mockApp.accessRestriction = { users: [], groups: [ group.id ] };
|
||||
const entries = await ldapSearch('ou=users,dc=cloudron', { filter: 'objectcategory=person' });
|
||||
expect(entries.length).to.equal(2);
|
||||
entries.sort(function (a, b) { return a.username > b.username; });
|
||||
@@ -237,7 +238,7 @@ describe('Ldap', function () {
|
||||
});
|
||||
|
||||
it ('does only list users who have access', async function () {
|
||||
app.accessRestriction = { users: [], groups: [ group.id ] };
|
||||
mockApp.accessRestriction = { users: [], groups: [ group.id ] };
|
||||
const entries = await ldapSearch('ou=groups,dc=cloudron', { filter: '&(objectclass=group)(cn=*)' });
|
||||
expect(entries.length).to.equal(2);
|
||||
expect(entries[0].cn).to.equal('users');
|
||||
@@ -250,7 +251,7 @@ describe('Ldap', function () {
|
||||
});
|
||||
|
||||
it ('succeeds with pagination', async function () {
|
||||
app.accessRestriction = null;
|
||||
mockApp.accessRestriction = null;
|
||||
const entries = await ldapSearch('ou=groups,dc=cloudron', { filter: 'objectclass=group', paged: true });
|
||||
expect(entries.length).to.equal(2);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user