UNPKG

briareus

Version:

Briareus assists with Feature Branch deploys to ECS

47 lines (38 loc) 1.6 kB
'use strict' const expect = require('expect.js'); const AWS = require('aws-sdk-mock'); const helpers = require('../../helpers'); const CreatePlaceholderEcsTaskDefinition = require('../../../lib/service/actions/create-placeholder-ecs-task-definition'); describe('Action:CreatePlaceholderEcsTaskDefinition', function () { afterEach(helpers.afterEach); it('should create a placeholder ecs task definition', function (done) { let taskDefinitionArn = 'arn:task-definition:44' let payload = { name: 'briareus-variant', slug: 'my-branch', webContainerName: 'app', webContainerPort: 3000, }; AWS.mock('ECS', 'registerTaskDefinition', function (params, cb) { expect(params.family).to.equal(payload.name); let container = params.containerDefinitions[0]; expect(container.name).to.equal(payload.webContainerName); expect(container.portMappings[0].containerPort).to.equal(payload.webContainerPort); expect(container.environment[0]).to.eql({ name: 'PLACEHOLDER_PORT', value: `${payload.webContainerPort}` }); cb(null, { taskDefinition: { taskDefinitionArn: taskDefinitionArn } }); }); CreatePlaceholderEcsTaskDefinition({}, payload, (err, patches) => { expect(err).to.equal(null); expect(patches[0]).to.eql({ op: 'add', path: '/assets/placeholderTaskDefinition', value: { arn: taskDefinitionArn } }); expect(patches[1]).to.eql({ op: 'add', path: '/assets/taskDefinitions/-', value: { arn: taskDefinitionArn } }); done(); }) }); });