features/elastictranscoder/step_definitions/elastictranscoder.js (47 lines of code) (raw):

module.exports = function() { this.Before("@elastictranscoder", function (callback) { this.iam = new this.AWS.IAM(); this.s3 = new this.AWS.S3(); this.service = new this.AWS.ElasticTranscoder(); callback(); }); this.Given(/^I create an Elastic Transcoder pipeline with name prefix "([^"]*)"$/, function(prefix, callback) { this.pipelineName = this.uniqueName(prefix); var params = { Name: this.pipelineName, InputBucket: this.bucket, OutputBucket: this.bucket, Role: this.iamRoleArn, Notifications: {"Progressing":"","Completed":"","Warning":"","Error":""} }; var world = this; var next = function() { if (world.data) world.pipelineId = world.data.Pipeline.Id; callback(); } this.request(null, 'createPipeline', params, next, false); }); this.Given(/^I list pipelines$/, function(callback) { this.request(null, 'listPipelines', {}, callback); }); this.Then(/^the list should contain the pipeline$/, function(callback) { var id = this.pipelineId; this.assert.contains(this.data.Pipelines, function (pipeline) { return pipeline.Id === id; }); callback(); }); this.Then(/^I pause the pipeline$/, function(callback) { this.request(null, 'updatePipelineStatus', {Id:this.pipelineId, Status: 'Paused'}, callback); }); this.Then(/^I read the pipeline$/, function(callback) { this.request(null, 'readPipeline', {Id: this.pipelineId}, callback); }); this.Then(/^the pipeline status should be "([^"]*)"$/, function(status, callback) { this.assert.equal(this.data.Pipeline.Status, status); callback(); }); this.Then(/^I delete the pipeline$/, function(callback) { this.request(null, 'deletePipeline', {Id: this.pipelineId}, callback); }); };