maildb tests

This commit is contained in:
Girish Ramakrishnan
2018-01-20 23:40:59 -08:00
parent 16ac205c7f
commit 04868f0983
3 changed files with 55 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ var appdb = require('../appdb.js'),
groupdb = require('../groupdb.js'),
hat = require('hat'),
mailboxdb = require('../mailboxdb.js'),
maildb = require('../maildb.js'),
settingsdb = require('../settingsdb.js'),
tokendb = require('../tokendb.js'),
userdb = require('../userdb.js'),
@@ -1735,4 +1736,55 @@ describe('database', function () {
});
});
});
describe('mail', function () {
const DOMAIN_0 = {
domain: 'foobar.com',
zoneName: 'foobar.com',
provider: 'digitalocean',
config: { token: 'abcd' }
};
const MAIL_DOMAIN_0 = {
domain: DOMAIN_0.domain,
enabled: false,
relay: { provider: 'cloudron-smtp' },
catchAll: [ ],
mailFromValidation: true
};
before(function (done) {
domaindb.add(DOMAIN_0.domain, { zoneName: DOMAIN_0.zoneName, provider: DOMAIN_0.provider, config: DOMAIN_0.config }, done);
});
it('can add mail domain', function (done) {
maildb.add(MAIL_DOMAIN_0.domain, done);
});
it('cannot add same domain twice', function (done) {
maildb.add(MAIL_DOMAIN_0.domain, function (error) {
expect(error).to.be.ok();
expect(error.reason).to.be(DatabaseError.ALREADY_EXISTS);
done();
});
});
it('cannot add non-existing domain', function (done) {
maildb.add(MAIL_DOMAIN_0.domain + 'nope', function (error) {
expect(error).to.be.ok();
expect(error.reason).to.be(DatabaseError.NOT_FOUND);
done();
});
});
it('can get domain', function (done) {
maildb.get(MAIL_DOMAIN_0.domain, function (error, result) {
expect(error).to.equal(null);
expect(result).to.be.an('object');
expect(result).to.eql(MAIL_DOMAIN_0);
done();
});
});
});
});