UNPKG

briareus

Version:

Briareus assists with Feature Branch deploys to ECS

53 lines (44 loc) 1.75 kB
'use strict' const expect = require('expect.js'); const AWS = require('aws-sdk-mock'); const helpers = require('../../helpers'); const CreateEcsService = require('../../../lib/service/actions/create-ecs-service'); describe('Action:CreateEcsService', function () { afterEach(helpers.afterEach); it('should create ecs service', function (done) { let serviceArn = 'arn:ecs:service:1'; let payload = { name: 'briareus-variant', slug: 'my-branch', ecsClusterArn: 'arn:ecs:cluster:1', webContainerName: 'app', webContainerPort: '3000', assets: { targetGroup: { arn: 'arn:target-group:1' }, placeholderTaskDefinition: { arn: 'arn:ecs:task-definition:1' } }, healthcheck: { gracePeriod: 60 } }; AWS.mock('ECS', 'createService', function (params, cb) { expect(params.cluster).to.equal(payload.ecsClusterArn); expect(params.serviceName).to.equal(payload.name); expect(params.taskDefinition).to.equal(payload.assets.placeholderTaskDefinition.arn); expect(params.healthCheckGracePeriodSeconds).to.equal(payload.healthcheck.gracePeriod); expect(params.loadBalancers[0].containerName).to.equal(payload.webContainerName); expect(params.loadBalancers[0].containerPort).to.equal(payload.webContainerPort); expect(params.loadBalancers[0].targetGroupArn).to.equal(payload.assets.targetGroup.arn); cb(null, { service: { serviceArn: serviceArn } }); }); CreateEcsService({}, payload, (err, patches) => { expect(err).to.equal(null); expect(patches[0]).to.eql({ op: 'add', path: '/assets/ecsService', value: { arn: serviceArn } }); done(); }) }); });