@image @project Feature: Update images @openstack Scenario: Update openstack image with ec2 provider When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid provider When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "foo", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid provider - array When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": ["foo"], "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid provider - hash When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": {}, "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid name - hash When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": {}, "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid name - array When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": [], "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid remote_user - hash When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": {}, "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid remote_user - array When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": [], "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid bootstrap_template - array When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": [], "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid bootstrap_template - hash When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": {}, "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid bootstrap_template - unknown When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "unknown", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '400' @openstack Scenario: Update openstack image with invalid id - array When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": [] } """ Then response should be '200' And the Content-Type header should include 'application/json' And the JSON response should be an object And response should be JSON object like: """ { "message" : "Image '<%= @config["openstack"]["image"] %>' has been updated" } """ @openstack Scenario: Update openstack image with invalid id - hash When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": {} } """ Then response should be '200' And the Content-Type header should include 'application/json' And the JSON response should be an object And response should be JSON object like: """ { "message" : "Image '<%= @config["openstack"]["image"] %>' has been updated" } """ @openstack Scenario: Update openstack image When I send PUT '/v2.0/image/<%= @config["openstack"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "freebsd-10.0", "remote_user": "root", "bootstrap_template": "chef_freebsd", "id": "<%= @config["openstack"]["image"] %>" } """ Then response should be '200' And the Content-Type header should include 'application/json' And the JSON response should be an object And response should be JSON object like: """ { "message" : "Image '<%= @config["openstack"]["image"] %>' has been updated" } """ @ec2 Scenario: Update ec2 image with openstack provider When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "openstack", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid provider When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "foo", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid provider - array When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": ["foo"], "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid provider - hash When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": {}, "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid name - hash When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": {}, "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid name - array When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": [], "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid remote_user - hash When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": {}, "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid remote_user - array When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": [], "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid bootstrap_template - array When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": [], "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid bootstrap_template - hash When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": {}, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid bootstrap_template - unknown When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": "unknown", "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '400' @ec2 Scenario: Update ec2 image with invalid id - array When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": [] } """ Then response should be '200' And the Content-Type header should include 'application/json' And the JSON response should be an object And response should be JSON object like: """ { "message" : "Image '<%= @config["openstack"]["image"] %>' has been updated" } """ @ec2 Scenario: Update ec2 image with invalid id - hash When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": {} } """ Then response should be '200' And the Content-Type header should include 'application/json' And the JSON response should be an object And response should be JSON object like: """ { "message" : "Image '<%= @config["openstack"]["image"] %>' has been updated" } """ @ec2 Scenario: Update ec2 image When I send PUT '/v2.0/image/<%= @config["ec2"]["image"] %>' query with JSON body """ { "provider": "ec2", "name": "test-ec2", "remote_user": "ec2-user", "bootstrap_template": null, "id": "<%= @config["ec2"]["image"] %>" } """ Then response should be '200' And the Content-Type header should include 'application/json' And the JSON response should be an object And response should be JSON object like: """ { "message" : "Image '<%= @config["openstack"]["image"] %>' has been updated" } """