UNPKG

briareus

Version:

Briareus assists with Feature Branch deploys to ECS

78 lines (69 loc) 2.09 kB
'use strict' const expect = require('expect.js'); const AWS = require('aws-sdk-mock'); const helpers = require('../../helpers'); const DestroyDNSRecords = require('../../../lib/service/actions/destroy-dns-records'); describe('Action:DestroyDNSRecords', function () { afterEach(helpers.afterEach); it('should destroy all dns records', function (done) { let payload = { hostedZoneId: '444', uuid: 'uuid', assets: { dnsRecords: [ { Name: 'verification-record.briareus.', ResourceRecords: [ { Value: 'x.aws.' } ], TTL: 60, Type: 'CNAME' }, { AliasTarget: { DNSName: "x.elb.amazonaws.com", EvaluateTargetHealth: false, HostedZoneId: "xyz" }, Name: "x.briareus.", Type: "A" } ], }, }; AWS.mock('Route53', 'changeResourceRecordSets', function (params, cb) { expect(params.HostedZoneId).to.equal(payload.hostedZoneId); expect(params.ChangeBatch.Changes.length).to.equal(2); const changeSet = params.ChangeBatch.Changes[0]; expect(changeSet.Action).to.equal('DELETE'); expect(changeSet.ResourceRecordSet.Type).to.equal('CNAME'); cb(null, {}); }); DestroyDNSRecords({}, payload, (err, patches) => { expect(err).to.equal(null); expect(patches).to.eql([ { op: 'add', path: '/assets/dnsRecords', value: [] } ]); done(); }) }); it('should not try to delete dns records when there are none to delete', function (done) { let payload = { hostedZoneId: '444', uuid: 'uuid', assets: { dnsRecords: [], }, }; AWS.mock('Route53', 'changeResourceRecordSets', function (params, cb) { expect(true).to.equal(false); }); DestroyDNSRecords({}, payload, (err, patches) => { expect(err).to.equal(null); expect(patches.length).to.equal(0); done(); }) }); });