mirror of
https://github.com/moparisthebest/mail
synced 2024-08-13 16:43:47 -04:00
79 lines
2.6 KiB
JavaScript
79 lines
2.6 KiB
JavaScript
|
define(function(require) {
|
||
|
'use strict';
|
||
|
|
||
|
var KeychainDAO = require('js/dao/keychain-dao'),
|
||
|
EmailDAO = require('js/dao/email-dao'),
|
||
|
SmtpClient = require('SmtpClient'),
|
||
|
ImapClient = require('ImapClient'),
|
||
|
Account = require('js/model/account-model'),
|
||
|
app = require('js/app-config'),
|
||
|
expect = chai.expect;
|
||
|
|
||
|
var emaildaoTest = {
|
||
|
user: "whiteout.test@t-online.de",
|
||
|
passphrase: 'asdf',
|
||
|
asymKeySize: 512
|
||
|
};
|
||
|
|
||
|
describe('Email DAO unit tests', function() {
|
||
|
|
||
|
var emailDao, account,
|
||
|
keychainStub, imapClientStub, smtpClientStub;
|
||
|
|
||
|
beforeEach(function() {
|
||
|
account = new Account({
|
||
|
emailAddress: emaildaoTest.user,
|
||
|
symKeySize: app.config.symKeySize,
|
||
|
symIvSize: app.config.symIvSize,
|
||
|
asymKeySize: emaildaoTest.asymKeySize
|
||
|
});
|
||
|
|
||
|
keychainStub = sinon.createStubInstance(KeychainDAO);
|
||
|
imapClientStub = sinon.createStubInstance(ImapClient);
|
||
|
smtpClientStub = sinon.createStubInstance(SmtpClient);
|
||
|
|
||
|
emailDao = new EmailDAO(keychainStub, imapClientStub, smtpClientStub);
|
||
|
});
|
||
|
|
||
|
afterEach(function() {});
|
||
|
|
||
|
describe('init', function() {
|
||
|
|
||
|
it('should fail due to error in imap login', function(done) {
|
||
|
imapClientStub.login.yields(42);
|
||
|
|
||
|
emailDao.init(account, emaildaoTest.passphrase, function(err) {
|
||
|
expect(err).to.equal(42);
|
||
|
done();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('should fail due to error in getUserKeyPair', function(done) {
|
||
|
imapClientStub.login.yields();
|
||
|
keychainStub.getUserKeyPair.yields(42);
|
||
|
|
||
|
emailDao.init(account, emaildaoTest.passphrase, function(err) {
|
||
|
expect(imapClientStub.login.calledOnce).to.be.true;
|
||
|
expect(err).to.equal(42);
|
||
|
done();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('should initialize', function(done) {
|
||
|
imapClientStub.login.yields();
|
||
|
keychainStub.getUserKeyPair.yields();
|
||
|
keychainStub.putUserKeyPair.yields();
|
||
|
|
||
|
emailDao.init(account, emaildaoTest.passphrase, function(err) {
|
||
|
expect(imapClientStub.login.calledOnce).to.be.true;
|
||
|
expect(keychainStub.getUserKeyPair.calledOnce).to.be.true;
|
||
|
expect(keychainStub.putUserKeyPair.calledOnce).to.be.true;
|
||
|
expect(err).to.not.exist;
|
||
|
done();
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|