UNPKG

briareus

Version:

Briareus assists with Feature Branch deploys to ECS

81 lines (68 loc) 1.9 kB
'use strict' const expect = require('expect.js'); const AWS = require('aws-sdk-mock'); const helpers = require('../../helpers'); const AlbListener = require('../../../lib/service/recon/alb-listener'); describe('Recon:AlbListener', function () { afterEach(helpers.afterEach); it('should discover HTTPS listener on loadbalancer', function (done) { let albArn = 'arn:alb:1'; let listenerArn = 'arn:listener:2'; let payload = { slug: 'my-branch', alb: { arn: albArn }, }; AWS.mock('ELBv2', 'describeListeners', function (params, cb) { expect(params.LoadBalancerArn).to.equal(payload.alb.arn); cb(null, { Listeners: [ { ListenerArn: 'arn:listener:1', LoadBalancerArn: albArn, Port: 80, Protocol: 'HTTP' }, { ListenerArn: listenerArn, LoadBalancerArn: albArn, Port: 443, Protocol: 'HTTPS' } ] }); }); AlbListener(payload, (err, patches) => { expect(err).to.equal(null); expect(patches[0]).to.eql({ op: 'add', path: '/alb/listenerArn', value: listenerArn }); done(); }); }); it('should return error if no HTTPS listener can be found', function (done) { let albArn = 'arn:alb:1'; let payload = { slug: 'my-branch', alb: { arn: albArn }, }; AWS.mock('ELBv2', 'describeListeners', function (params, cb) { expect(params.LoadBalancerArn).to.equal(payload.alb.arn); cb(null, { Listeners: [ { ListenerArn: 'arn:listener:1', LoadBalancerArn: albArn, Port: 80, Protocol: 'HTTP' } ] }); }); AlbListener(payload, (err, patches) => { expect(err).to.not.equal(null); done(); }); }); });