keyserver/test/integration/email-test.js

70 lines
1.9 KiB
JavaScript
Raw Normal View History

'use strict';
const config = require('config');
2016-05-31 14:50:28 +00:00
const Email = require('../../src/email/email');
const tpl = require('../../src/email/templates.json');
describe('Email Integration Tests', function() {
this.timeout(20000);
2016-06-09 09:38:00 +00:00
let email, keyId, userId, origin, publicKeyArmored;
2016-06-06 17:54:44 +00:00
const recipient = { name:'Test User', email:'safewithme.testuser@gmail.com' };
before(function() {
publicKeyArmored = require('fs').readFileSync(__dirname + '/../key1.asc', 'utf8');
2016-05-31 14:50:28 +00:00
origin = {
protocol: 'http',
host: 'localhost:' + config.server.port
};
2016-06-08 12:01:30 +00:00
email = new Email();
email.init(config.email);
});
beforeEach(() => {
2016-06-09 09:38:00 +00:00
keyId = '0123456789ABCDF0';
userId = {
2016-06-06 17:54:44 +00:00
name: recipient.name,
email: recipient.email,
nonce: 'qwertzuioasdfghjkqwertzuio',
publicKeyArmored
};
});
2016-05-31 14:50:28 +00:00
describe("_sendHelper", () => {
it('should work', function *() {
let mailOptions = {
2016-06-06 17:54:44 +00:00
from: email._sender,
to: recipient,
subject: 'Hello ✔', // Subject line
text: 'Hello world 🐴', // plaintext body
html: '<b>Hello world 🐴</b>' // html body
};
2016-05-31 14:50:28 +00:00
let info = yield email._sendHelper(mailOptions);
expect(info).to.exist;
});
});
2016-05-31 14:50:28 +00:00
describe("send verifyKey template", () => {
it('should send plaintext email', function *() {
delete userId.publicKeyArmored;
2016-06-09 09:38:00 +00:00
yield email.send({ template:tpl.verifyKey, userId, keyId, origin });
});
it('should send pgp encrypted email', function *() {
2016-06-09 09:38:00 +00:00
yield email.send({ template:tpl.verifyKey, userId, keyId, origin });
2016-05-31 14:50:28 +00:00
});
});
describe("send verifyRemove template", () => {
it('should send plaintext email', function *() {
delete userId.publicKeyArmored;
2016-06-09 09:38:00 +00:00
yield email.send({ template:tpl.verifyRemove, userId, keyId, origin });
});
it('should send pgp encrypted email', function *() {
2016-06-09 09:38:00 +00:00
yield email.send({ template:tpl.verifyRemove, userId, keyId, origin });
});
});
});