diff --git a/src/routes/test/mail-test.js b/src/routes/test/mail-test.js index 93da5b647..53998df0c 100644 --- a/src/routes/test/mail-test.js +++ b/src/routes/test/mail-test.js @@ -109,37 +109,37 @@ describe('Mail API', function () { .query({ access_token: owner.token }); expect(response.status).to.equal(200); - expect(response.body.dns.dkim).to.be.an('object'); - expect(response.body.dns.dkim.domain).to.eql(dkimDomain); - expect(response.body.dns.dkim.type).to.eql('TXT'); - expect(response.body.dns.dkim.value).to.eql(null); - expect(response.body.dns.dkim.expected).to.eql(`v=DKIM1; t=s; p=${publicKey}`); - expect(response.body.dns.dkim.status).to.eql('failed'); + expect(response.body.dkim).to.be.an('object'); + expect(response.body.dkim.domain).to.eql(dkimDomain); + expect(response.body.dkim.type).to.eql('TXT'); + expect(response.body.dkim.value).to.eql(null); + expect(response.body.dkim.expected).to.eql(`v=DKIM1; t=s; p=${publicKey}`); + expect(response.body.dkim.status).to.eql('failed'); - expect(response.body.dns.spf).to.be.an('object'); - expect(response.body.dns.spf.domain).to.eql(spfDomain); - expect(response.body.dns.spf.type).to.eql('TXT'); - expect(response.body.dns.spf.value).to.eql(null); - expect(response.body.dns.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); - expect(response.body.dns.spf.status).to.eql('failed'); + expect(response.body.spf).to.be.an('object'); + expect(response.body.spf.domain).to.eql(spfDomain); + expect(response.body.spf.type).to.eql('TXT'); + expect(response.body.spf.value).to.eql(null); + expect(response.body.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); + expect(response.body.spf.status).to.eql('failed'); - expect(response.body.dns.dmarc).to.be.an('object'); - expect(response.body.dns.dmarc.type).to.eql('TXT'); - expect(response.body.dns.dmarc.value).to.eql(null); - expect(response.body.dns.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); - expect(response.body.dns.dmarc.status).to.eql('failed'); + expect(response.body.dmarc).to.be.an('object'); + expect(response.body.dmarc.type).to.eql('TXT'); + expect(response.body.dmarc.value).to.eql(null); + expect(response.body.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); + expect(response.body.dmarc.status).to.eql('failed'); - expect(response.body.dns.mx).to.be.an('object'); - expect(response.body.dns.mx.type).to.eql('MX'); - expect(response.body.dns.mx.value).to.eql(null); - expect(response.body.dns.mx.expected).to.eql(`10 ${mailFqdn}.`); - expect(response.body.dns.mx.status).to.eql('failed'); + expect(response.body.mx).to.be.an('object'); + expect(response.body.mx.type).to.eql('MX'); + expect(response.body.mx.value).to.eql(null); + expect(response.body.mx.expected).to.eql(`10 ${mailFqdn}.`); + expect(response.body.mx.status).to.eql('failed'); - expect(response.body.dns.ptr4).to.be.an('object'); - expect(response.body.dns.ptr4.type).to.eql('PTR'); + expect(response.body.ptr4).to.be.an('object'); + expect(response.body.ptr4.type).to.eql('PTR'); // expect(response.body.ptr.value).to.eql(null); this will be anything random - expect(response.body.dns.ptr4.expected).to.eql(mailFqdn); - expect(response.body.dns.ptr4.status).to.eql('failed'); + expect(response.body.ptr4.expected).to.eql(mailFqdn); + expect(response.body.ptr4.status).to.eql('failed'); }); it('succeeds with "undefined" spf, dkim, dmarc, mx, ptr records', async function () { @@ -155,29 +155,29 @@ describe('Mail API', function () { expect(response.status).to.equal(200); - expect(response.body.dns.spf).to.be.an('object'); - expect(response.body.dns.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); - expect(response.body.dns.spf.status).to.eql('failed'); - expect(response.body.dns.spf.value).to.eql(null); + expect(response.body.spf).to.be.an('object'); + expect(response.body.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); + expect(response.body.spf.status).to.eql('failed'); + expect(response.body.spf.value).to.eql(null); - expect(response.body.dns.dkim).to.be.an('object'); - expect(response.body.dns.dkim.expected).to.eql(`v=DKIM1; t=s; p=${publicKey}`); - expect(response.body.dns.dkim.status).to.eql('failed'); - expect(response.body.dns.dkim.value).to.eql(null); + expect(response.body.dkim).to.be.an('object'); + expect(response.body.dkim.expected).to.eql(`v=DKIM1; t=s; p=${publicKey}`); + expect(response.body.dkim.status).to.eql('failed'); + expect(response.body.dkim.value).to.eql(null); - expect(response.body.dns.dmarc).to.be.an('object'); - expect(response.body.dns.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); - expect(response.body.dns.dmarc.status).to.eql('failed'); - expect(response.body.dns.dmarc.value).to.eql(null); + expect(response.body.dmarc).to.be.an('object'); + expect(response.body.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); + expect(response.body.dmarc.status).to.eql('failed'); + expect(response.body.dmarc.value).to.eql(null); - expect(response.body.dns.mx).to.be.an('object'); - expect(response.body.dns.mx.status).to.eql('failed'); - expect(response.body.dns.mx.expected).to.eql(`10 ${mailFqdn}.`); - expect(response.body.dns.mx.value).to.eql(null); + expect(response.body.mx).to.be.an('object'); + expect(response.body.mx.status).to.eql('failed'); + expect(response.body.mx.expected).to.eql(`10 ${mailFqdn}.`); + expect(response.body.mx.value).to.eql(null); - expect(response.body.dns.ptr4).to.be.an('object'); - expect(response.body.dns.ptr4.expected).to.eql(mailFqdn); - expect(response.body.dns.ptr4.status).to.eql('failed'); + expect(response.body.ptr4).to.be.an('object'); + expect(response.body.ptr4.expected).to.eql(mailFqdn); + expect(response.body.ptr4.status).to.eql('failed'); // expect(response.body.ptr.value).to.eql(null); this will be anything random }); @@ -194,29 +194,29 @@ describe('Mail API', function () { expect(response.status).to.equal(200); - expect(response.body.dns.spf).to.be.an('object'); - expect(response.body.dns.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} a:random.com ~all`); - expect(response.body.dns.spf.status).to.eql('failed'); - expect(response.body.dns.spf.value).to.eql('v=spf1 a:random.com ~all'); + expect(response.body.spf).to.be.an('object'); + expect(response.body.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} a:random.com ~all`); + expect(response.body.spf.status).to.eql('failed'); + expect(response.body.spf.value).to.eql('v=spf1 a:random.com ~all'); - expect(response.body.dns.dkim).to.be.an('object'); - expect(response.body.dns.dkim.expected).to.eql('v=DKIM1; t=s; p=' + publicKey); - expect(response.body.dns.dkim.status).to.eql('passed'); // as long as p= matches we are good - expect(response.body.dns.dkim.value).to.eql('v=DKIM2; t=s; p=' + publicKey); + expect(response.body.dkim).to.be.an('object'); + expect(response.body.dkim.expected).to.eql('v=DKIM1; t=s; p=' + publicKey); + expect(response.body.dkim.status).to.eql('passed'); // as long as p= matches we are good + expect(response.body.dkim.value).to.eql('v=DKIM2; t=s; p=' + publicKey); - expect(response.body.dns.dmarc).to.be.an('object'); - expect(response.body.dns.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); - expect(response.body.dns.dmarc.status).to.eql('failed'); - expect(response.body.dns.dmarc.value).to.eql('v=DMARC2; p=reject; pct=100'); + expect(response.body.dmarc).to.be.an('object'); + expect(response.body.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); + expect(response.body.dmarc.status).to.eql('failed'); + expect(response.body.dmarc.value).to.eql('v=DMARC2; p=reject; pct=100'); - expect(response.body.dns.mx).to.be.an('object'); - expect(response.body.dns.mx.status).to.eql('passed'); - expect(response.body.dns.mx.expected).to.eql(`10 ${mailFqdn}.`); - expect(response.body.dns.mx.value).to.eql(`20 ${mailFqdn}. 10 some.other.server.`); + expect(response.body.mx).to.be.an('object'); + expect(response.body.mx.status).to.eql('passed'); + expect(response.body.mx.expected).to.eql(`10 ${mailFqdn}.`); + expect(response.body.mx.value).to.eql(`20 ${mailFqdn}. 10 some.other.server.`); - expect(response.body.dns.ptr4).to.be.an('object'); - expect(response.body.dns.ptr4.expected).to.eql(mailFqdn); - expect(response.body.dns.ptr4.status).to.eql('failed'); + expect(response.body.ptr4).to.be.an('object'); + expect(response.body.ptr4.expected).to.eql(mailFqdn); + expect(response.body.ptr4.status).to.eql('failed'); // expect(response.body.ptr.value).to.eql(null); this will be anything random expect(response.body.relay).to.be.an('object'); @@ -232,12 +232,12 @@ describe('Mail API', function () { expect(response.status).to.equal(200); - expect(response.body.dns.spf).to.be.an('object'); - expect(response.body.dns.spf.domain).to.eql(spfDomain); - expect(response.body.dns.spf.type).to.eql('TXT'); - expect(response.body.dns.spf.value).to.eql(`v=spf1 a:example.com a:${mailFqdn} ~all`); - expect(response.body.dns.spf.expected).to.eql(`v=spf1 a:example.com a:${mailFqdn} ~all`); - expect(response.body.dns.spf.status).to.eql('passed'); + expect(response.body.spf).to.be.an('object'); + expect(response.body.spf.domain).to.eql(spfDomain); + expect(response.body.spf.type).to.eql('TXT'); + expect(response.body.spf.value).to.eql(`v=spf1 a:example.com a:${mailFqdn} ~all`); + expect(response.body.spf.expected).to.eql(`v=spf1 a:example.com a:${mailFqdn} ~all`); + expect(response.body.spf.status).to.eql('passed'); }); it('succeeds with modified DMARC1 values', async function () { @@ -250,10 +250,10 @@ describe('Mail API', function () { expect(response.status).to.equal(200); - expect(response.body.dns.dmarc).to.be.an('object'); - expect(response.body.dns.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); - expect(response.body.dns.dmarc.status).to.eql('passed'); - expect(response.body.dns.dmarc.value).to.eql('v=DMARC1; p=reject; rua=mailto:rua@example.com; pct=100'); + expect(response.body.dmarc).to.be.an('object'); + expect(response.body.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); + expect(response.body.dmarc.status).to.eql('passed'); + expect(response.body.dmarc.value).to.eql('v=DMARC1; p=reject; rua=mailto:rua@example.com; pct=100'); }); it('succeeds with all correct records', async function () { @@ -269,29 +269,29 @@ describe('Mail API', function () { expect(response.status).to.equal(200); - expect(response.body.dns.dkim).to.be.an('object'); - expect(response.body.dns.dkim.domain).to.eql(dkimDomain); - expect(response.body.dns.dkim.type).to.eql('TXT'); - expect(response.body.dns.dkim.value).to.eql(`v=DKIM1; t=s; p=${publicKey}`); - expect(response.body.dns.dkim.expected).to.eql(`v=DKIM1; t=s; p=${publicKey}`); - expect(response.body.dns.dkim.status).to.eql('passed'); + expect(response.body.dkim).to.be.an('object'); + expect(response.body.dkim.domain).to.eql(dkimDomain); + expect(response.body.dkim.type).to.eql('TXT'); + expect(response.body.dkim.value).to.eql(`v=DKIM1; t=s; p=${publicKey}`); + expect(response.body.dkim.expected).to.eql(`v=DKIM1; t=s; p=${publicKey}`); + expect(response.body.dkim.status).to.eql('passed'); - expect(response.body.dns.spf).to.be.an('object'); - expect(response.body.dns.spf.domain).to.eql(spfDomain); - expect(response.body.dns.spf.type).to.eql('TXT'); - expect(response.body.dns.spf.value).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); - expect(response.body.dns.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); - expect(response.body.dns.spf.status).to.eql('passed'); + expect(response.body.spf).to.be.an('object'); + expect(response.body.spf.domain).to.eql(spfDomain); + expect(response.body.spf.type).to.eql('TXT'); + expect(response.body.spf.value).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); + expect(response.body.spf.expected).to.eql(`v=spf1 a:${dashboardFqdn} ~all`); + expect(response.body.spf.status).to.eql('passed'); - expect(response.body.dns.dmarc).to.be.an('object'); - expect(response.body.dns.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); - expect(response.body.dns.dmarc.status).to.eql('passed'); - expect(response.body.dns.dmarc.value).to.eql('v=DMARC1; p=reject; pct=100'); + expect(response.body.dmarc).to.be.an('object'); + expect(response.body.dmarc.expected).to.eql('v=DMARC1; p=reject; pct=100'); + expect(response.body.dmarc.status).to.eql('passed'); + expect(response.body.dmarc.value).to.eql('v=DMARC1; p=reject; pct=100'); - expect(response.body.dns.mx).to.be.an('object'); - expect(response.body.dns.mx.status).to.eql('passed'); - expect(response.body.dns.mx.expected).to.eql(`10 ${mailFqdn}.`); - expect(response.body.dns.mx.value).to.eql(`10 ${mailFqdn}.`); + expect(response.body.mx).to.be.an('object'); + expect(response.body.mx.status).to.eql('passed'); + expect(response.body.mx.expected).to.eql(`10 ${mailFqdn}.`); + expect(response.body.mx.value).to.eql(`10 ${mailFqdn}.`); }); });