briareus
Version:
Briareus assists with Feature Branch deploys to ECS
63 lines (53 loc) • 2.09 kB
JavaScript
const expect = require('expect.js');
const AWS = require('aws-sdk-mock');
const helpers = require('../../helpers');
const CreateDnsRecordsCertificateVerification = require('../../../lib/service/actions/create-dns-records-certificate-verification');
describe('Action:CreateDnsRecordsCertificateVerification', function () {
afterEach(helpers.afterEach);
it('should create DNS records to verify ownership of ACM certificate', function (done) {
let host = 'briarieus-xyz.bugcrowd.engineering';
let verificationRecord = {
Name: `_x.${host}`,
Type: 'CNAME',
Value: 'x.acm-validations.aws.',
};
let payload = {
name: 'briareus-variant',
slug: 'my-branch',
hostedZoneId: 'zone-1',
assets: {
acmCertificate: {
arn: 'arn:acm:1',
validationOptions: [
{
DomainName: host,
ResourceRecord: verificationRecord
},
{
DomainName: `*.${host}`,
ResourceRecord: verificationRecord
}
]
}
}
};
AWS.mock('Route53', 'changeResourceRecordSets', function (params, cb) {
expect(params.HostedZoneId).to.equal(payload.hostedZoneId);
expect(params.ChangeBatch.Changes.length).to.equal(1);
let changeSet = params.ChangeBatch.Changes[0];
expect(changeSet.Action).to.equal("UPSERT");
expect(changeSet.ResourceRecordSet.Name).to.equal(verificationRecord.Name);
expect(changeSet.ResourceRecordSet.Type).to.equal(verificationRecord.Type);
expect(changeSet.ResourceRecordSet.ResourceRecords[0].Value).to.equal(verificationRecord.Value);
cb(null, {});
});
CreateDnsRecordsCertificateVerification({}, payload, (err, patches) => {
expect(err).to.equal(null);
expect(patches[0].value.Name).to.equal(verificationRecord.Name);
expect(patches[0].value.Type).to.equal(verificationRecord.Type);
expect(patches[0].value.ResourceRecords[0].Value).to.equal(verificationRecord.Value);
done();
})
});
});