briareus
Version:
Briareus assists with Feature Branch deploys to ECS
53 lines (43 loc) • 2.09 kB
JavaScript
const expect = require('expect.js');
const AWS = require('aws-sdk-mock');
const helpers = require('../../helpers');
const CreateDnsRecordsEndpoint = require('../../../lib/service/actions/create-dns-records-endpoint');
describe('Action:CreateDnsRecordsEndpoint', function () {
afterEach(helpers.afterEach);
it('should create DNS records to verify ownership of ACM certificate', function (done) {
let payload = {
hostedZoneId: 'zone-1',
endpoint: {
host: 'feature.branch.bugcrowd.engineering'
},
alb: {
dnsName: 'alb.aws.amazon.com',
canonicalHostedZoneId: 'alb-zone-id'
}
};
AWS.mock('Route53', 'changeResourceRecordSets', function (params, cb) {
expect(params.HostedZoneId).to.equal(payload.hostedZoneId);
expect(params.ChangeBatch.Changes.length).to.equal(2);
const changeSet1 = params.ChangeBatch.Changes[0];
expect(changeSet1.Action).to.equal("UPSERT");
expect(changeSet1.ResourceRecordSet.Name).to.equal(payload.endpoint.host);
expect(changeSet1.ResourceRecordSet.Type).to.equal('A');
expect(changeSet1.ResourceRecordSet.AliasTarget.DNSName).to.equal(payload.alb.dnsName);
expect(changeSet1.ResourceRecordSet.AliasTarget.HostedZoneId).to.equal(payload.alb.canonicalHostedZoneId);
const changeSet2 = params.ChangeBatch.Changes[1];
expect(changeSet2.Action).to.equal("UPSERT");
expect(changeSet2.ResourceRecordSet.Name).to.equal('*.' + payload.endpoint.host);
expect(changeSet2.ResourceRecordSet.Type).to.equal('A');
expect(changeSet2.ResourceRecordSet.AliasTarget.DNSName).to.equal(payload.alb.dnsName);
expect(changeSet2.ResourceRecordSet.AliasTarget.HostedZoneId).to.equal(payload.alb.canonicalHostedZoneId);
cb(null, {});
});
CreateDnsRecordsEndpoint({}, payload, (err, patches) => {
expect(err).to.equal(null);
expect(patches[0].value.Name).to.equal(payload.endpoint.host);
expect(patches[1].value.Name).to.equal('*.' + payload.endpoint.host);
done();
})
});
});