fluke/devops-service/tests/templates/api_v3/20_update/10_image.feature.erb

103 lines
3.3 KiB
Plaintext
Raw Normal View History

2014-07-15 11:34:42 +04:00
@image @project
Feature: Update images
<% providers = @formatter.get_fixture('providers/without_static') %>
<% providers.each do |provider| %>
<% image = @formatter.get_fixture(provider + '/image') %>
<% other_providers = providers.clone - [provider] %>
<% other_providers.each do |oprovider| %>
@<%= provider %>
Scenario: Update <%= provider %> image with '<%= oprovider %>' provider (invalid image id for provider)
2018-04-04 22:44:39 +03:00
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
<%= @formatter.json(provider + '/image', {value: {"provider" => oprovider}}) %>
2014-07-15 11:34:42 +04:00
"""
2018-04-04 22:44:39 +03:00
Then response should be '422'
2014-07-15 11:34:42 +04:00
<% end #other providers%>
2014-07-15 11:34:42 +04:00
2018-04-04 22:44:39 +03:00
<% (image.keys - ["id", "name"]).each do |key| %>
<% [[], {}].each do |invalid_value| %>
@<%= provider %>
Scenario: Update <%= provider %> image with invalid <%= key %> value: '<%= invalid_value %>'
2018-04-04 22:44:39 +03:00
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
<%= @formatter.json(provider + '/image', {value: {key => invalid_value}}) %>
2014-07-15 11:34:42 +04:00
"""
Then response should be '400'
<% end #invalid values%>
2014-07-15 11:34:42 +04:00
<% end # keys%>
2018-04-04 22:44:39 +03:00
<% (image.keys - ["id"]).each do |key| %>
@<%= provider %>
Scenario: Update <%= provider %> image with invalid <%= key %> value: 'nil'
2018-04-04 22:44:39 +03:00
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
<%= @formatter.json(provider + '/image', {value: {key => nil}}) %>
2014-07-15 11:34:42 +04:00
"""
Then response should be '400'
<% end %>
2014-07-15 11:34:42 +04:00
<% (image.keys - ["name", "remote_user", "id"]).each do |key| %>
@<%= provider %>
Scenario: Update <%= provider %> image with invalid <%= key %> value: 'foo'
2018-04-04 22:44:39 +03:00
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
<%= @formatter.json(provider + '/image', {value: {key => "foo"}}) %>
2014-07-15 11:34:42 +04:00
"""
2018-04-04 22:44:39 +03:00
Then response should be '422'
2014-07-15 11:34:42 +04:00
<% end %>
2014-07-15 11:34:42 +04:00
@<%= provider %>
2018-04-04 22:44:39 +03:00
Scenario: Update <%= provider %> image with invalid image_id value: 'foo'
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
2018-04-04 22:44:39 +03:00
<%= @formatter.json(provider + '/image', {value: {"id" => "foo"}}) %>
2014-07-15 11:34:42 +04:00
"""
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 '<%= image["id"] %>' has been updated"
2014-07-15 11:34:42 +04:00
}
"""
Scenario: Update <%= provider %> image without id
2018-04-04 22:44:39 +03:00
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
<%= @formatter.json(provider + '/image', {without_field: "id"}) %>
2014-07-15 11:34:42 +04:00
"""
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 '<%= image["id"] %>' has been updated"
2014-07-15 11:34:42 +04:00
}
"""
@<%= provider %>
Scenario: Update <%= provider %> image
2018-04-04 22:44:39 +03:00
When I send PUT '/v3/image/<%= image["id"] %>' query with JSON body
2014-07-15 11:34:42 +04:00
"""
<%= @formatter.json(provider + '/image') %>
2014-07-15 11:34:42 +04:00
"""
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 '<%= image["id"] %>' has been updated"
2014-07-15 11:34:42 +04:00
}
"""
<% end #providers %>