mirror of
https://github.com/moparisthebest/mail
synced 2024-11-22 17:02:17 -05:00
fix email dao tests
This commit is contained in:
parent
2eaf7ca172
commit
9bb70fac5d
@ -875,7 +875,7 @@ define(function(require) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// validate the email input
|
// validate the email input
|
||||||
if (!email.to || !email.from || !email.to[0].address || !email.from[0].address) {
|
if (!email.to || !email.from || !email.to[0].address || !email.from[0].address || !Array.isArray(email.receiverKeys)) {
|
||||||
callback({
|
callback({
|
||||||
errMsg: 'Invalid email object!'
|
errMsg: 'Invalid email object!'
|
||||||
});
|
});
|
||||||
|
@ -75,7 +75,8 @@ define(function(require) {
|
|||||||
subject: 'qweasd',
|
subject: 'qweasd',
|
||||||
body: 'asd',
|
body: 'asd',
|
||||||
unread: false,
|
unread: false,
|
||||||
answered: false
|
answered: false,
|
||||||
|
receiverKeys: ['-----BEGIN PGP PUBLIC KEY-----\nasd\n-----END PGP PUBLIC KEY-----']
|
||||||
};
|
};
|
||||||
nonWhitelistedMail = {
|
nonWhitelistedMail = {
|
||||||
uid: 1234,
|
uid: 1234,
|
||||||
@ -2409,11 +2410,7 @@ define(function(require) {
|
|||||||
describe('sendEncrypted', function() {
|
describe('sendEncrypted', function() {
|
||||||
it('should work', function(done) {
|
it('should work', function(done) {
|
||||||
var encryptStub = sinon.stub(dao, '_encrypt').yields(null, {});
|
var encryptStub = sinon.stub(dao, '_encrypt').yields(null, {});
|
||||||
keychainStub.getReceiverPublicKey.withArgs(dummyDecryptedMail.to[0].address).yields(null, {
|
|
||||||
_id: "fcf8b4aa-5d09-4089-8b4f-e3bc5091daf3",
|
|
||||||
userId: dummyDecryptedMail.to[0].address,
|
|
||||||
publicKey: publicKey
|
|
||||||
});
|
|
||||||
smtpClientStub.send.yields();
|
smtpClientStub.send.yields();
|
||||||
|
|
||||||
dao.sendEncrypted({
|
dao.sendEncrypted({
|
||||||
@ -2421,7 +2418,6 @@ define(function(require) {
|
|||||||
}, function(err) {
|
}, function(err) {
|
||||||
expect(err).to.not.exist;
|
expect(err).to.not.exist;
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.calledOnce).to.be.true;
|
|
||||||
expect(encryptStub.calledOnce).to.be.true;
|
expect(encryptStub.calledOnce).to.be.true;
|
||||||
expect(smtpClientStub.send.calledOnce).to.be.true;
|
expect(smtpClientStub.send.calledOnce).to.be.true;
|
||||||
|
|
||||||
@ -2430,72 +2426,18 @@ define(function(require) {
|
|||||||
});
|
});
|
||||||
it('should not work when encryption fails', function(done) {
|
it('should not work when encryption fails', function(done) {
|
||||||
var encryptStub = sinon.stub(dao, '_encrypt').yields({});
|
var encryptStub = sinon.stub(dao, '_encrypt').yields({});
|
||||||
keychainStub.getReceiverPublicKey.withArgs(dummyDecryptedMail.to[0].address).yields(null, {
|
|
||||||
_id: "fcf8b4aa-5d09-4089-8b4f-e3bc5091daf3",
|
|
||||||
userId: dummyDecryptedMail.to[0].address,
|
|
||||||
publicKey: publicKey
|
|
||||||
});
|
|
||||||
|
|
||||||
dao.sendEncrypted({
|
dao.sendEncrypted({
|
||||||
email: dummyDecryptedMail
|
email: dummyDecryptedMail
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
expect(err).to.exist;
|
expect(err).to.exist;
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.calledOnce).to.be.true;
|
|
||||||
expect(encryptStub.calledOnce).to.be.true;
|
expect(encryptStub.calledOnce).to.be.true;
|
||||||
expect(smtpClientStub.send.called).to.be.false;
|
expect(smtpClientStub.send.called).to.be.false;
|
||||||
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
it('should not work when key retrieval fails', function(done) {
|
|
||||||
var encryptStub = sinon.stub(dao, '_encrypt');
|
|
||||||
keychainStub.getReceiverPublicKey.withArgs(dummyDecryptedMail.to[0].address).yields({});
|
|
||||||
|
|
||||||
dao.sendEncrypted({
|
|
||||||
email: dummyDecryptedMail
|
|
||||||
}, function(err) {
|
|
||||||
expect(err).to.exist;
|
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.calledOnce).to.be.true;
|
|
||||||
expect(encryptStub.called).to.be.false;
|
|
||||||
expect(smtpClientStub.send.called).to.be.false;
|
|
||||||
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it('should not work invalid recipients', function(done) {
|
|
||||||
var encryptStub = sinon.stub(dao, '_encrypt');
|
|
||||||
dummyDecryptedMail.to[0].address = 'asd@asd';
|
|
||||||
|
|
||||||
dao.sendEncrypted({
|
|
||||||
email: dummyDecryptedMail
|
|
||||||
}, function(err) {
|
|
||||||
expect(err).to.exist;
|
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.called).to.be.false;
|
|
||||||
expect(encryptStub.called).to.be.false;
|
|
||||||
expect(smtpClientStub.send.called).to.be.false;
|
|
||||||
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it('should not work with without sender', function(done) {
|
|
||||||
var encryptStub = sinon.stub(dao, '_encrypt');
|
|
||||||
dummyDecryptedMail.from[0].address = 'asd@asd';
|
|
||||||
|
|
||||||
dao.sendEncrypted({
|
|
||||||
email: dummyDecryptedMail
|
|
||||||
}, function(err) {
|
|
||||||
expect(err).to.exist;
|
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.called).to.be.false;
|
|
||||||
expect(encryptStub.called).to.be.false;
|
|
||||||
expect(smtpClientStub.send.called).to.be.false;
|
|
||||||
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it('should not work without recipients', function(done) {
|
it('should not work without recipients', function(done) {
|
||||||
var encryptStub = sinon.stub(dao, '_encrypt');
|
var encryptStub = sinon.stub(dao, '_encrypt');
|
||||||
delete dummyDecryptedMail.to;
|
delete dummyDecryptedMail.to;
|
||||||
@ -2505,7 +2447,6 @@ define(function(require) {
|
|||||||
}, function(err) {
|
}, function(err) {
|
||||||
expect(err).to.exist;
|
expect(err).to.exist;
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.called).to.be.false;
|
|
||||||
expect(encryptStub.called).to.be.false;
|
expect(encryptStub.called).to.be.false;
|
||||||
expect(smtpClientStub.send.called).to.be.false;
|
expect(smtpClientStub.send.called).to.be.false;
|
||||||
|
|
||||||
@ -2521,7 +2462,6 @@ define(function(require) {
|
|||||||
}, function(err) {
|
}, function(err) {
|
||||||
expect(err).to.exist;
|
expect(err).to.exist;
|
||||||
|
|
||||||
expect(keychainStub.getReceiverPublicKey.called).to.be.false;
|
|
||||||
expect(encryptStub.called).to.be.false;
|
expect(encryptStub.called).to.be.false;
|
||||||
expect(smtpClientStub.send.called).to.be.false;
|
expect(smtpClientStub.send.called).to.be.false;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user