features/elasticbeanstalk/step_definitions/elasticbeanstalk.js (32 lines of code) (raw):
module.exports = function() {
this.Before("@elasticbeanstalk", function (callback) {
this.service = new this.AWS.ElasticBeanstalk();
callback();
});
this.Given(/^I create an Elastic Beanstalk application with name prefix "([^"]*)"$/, function(prefix, callback) {
this.appName = this.uniqueName(prefix);
var params = { ApplicationName: this.appName };
this.request(null, 'createApplication', params, callback, false);
});
this.Given(/^I create an Elastic Beanstalk application version with label "([^"]*)"$/, function(label, callback) {
this.appVersion = label;
var params = { ApplicationName: this.appName, VersionLabel: this.appVersion };
this.request(null, 'createApplicationVersion', params, callback);
});
this.Given(/^I describe the Elastic Beanstalk application$/, function(callback) {
var params = { ApplicationNames: [this.appName] };
this.request(null, 'describeApplications', params, callback);
});
this.Then(/^the result should contain the Elastic Beanstalk application version$/, function(callback) {
this.assert.deepEqual(this.data.Applications[0].Versions, [this.appVersion]);
callback();
});
this.Then(/^the result should contain the Elastic Beanstalk application name$/, function(callback) {
this.assert.equal(this.data.Applications[0].ApplicationName, this.appName);
callback();
});
this.Then(/^I delete the Elastic Beanstalk application$/, function(callback) {
var params = { ApplicationName: this.appName };
this.request(null, 'deleteApplication', params, callback);
});
};