UNPKG

briareus

Version:

Briareus assists with Feature Branch deploys to ECS

73 lines (62 loc) 1.89 kB
'use strict' const expect = require('expect.js'); const AWS = require('aws-sdk-mock'); const helpers = require('../../helpers'); const DestroySsmParameters = require('../../../lib/service/actions/destroy-ssm-parameters'); describe('Action:DestroySsmParameters', function () { afterEach(helpers.afterEach); it('should destroy all ssm parameters', function (done) { let payload = { assets: { ssmParameters: { a: { arn: 'arn:parameter/briareus/x/web/API_KEY', container: 'web', id: 'web/API_KEY', name: 'API_KEY', path: '/briareus/x/web/API_KEY', hashedId: 'a' }, b: { arn: 'arn:parameter/briareus/x/web/PASSWORD', container: 'web', id: 'web/PASSWORD', name: 'PASSWORD', path: '/briareus/x/web/PASSWORD', hashedId: 'b' } }, }, }; AWS.mock('SSM', 'deleteParameters', function (params, cb) { expect(params.Names).to.eql([ '/briareus/x/web/API_KEY', '/briareus/x/web/PASSWORD' ]); cb(null, {}); }); DestroySsmParameters({}, payload, (err, patches) => { expect(err).to.equal(null); expect(patches).to.eql([ { op: 'remove', path: '/assets/ssmParameters/a' }, { op: 'remove', path: '/assets/ssmParameters/b' } ]); done(); }) }); it('should not try to delete parameters when there are none to delete', (done) => { const payload = { assets: { ssmParameters: {} }, }; AWS.mock('SSM', 'deleteParameters', function (params, cb) { expect(true).to.equal(false); }); DestroySsmParameters({}, payload, (err, patches) => { expect(err).to.equal(null); expect(patches.length).to.equal(0); done(); }); }); });