fixed role name new field validators without validate fields types fixed error with user parser todo: project tests returned some tests, users fixed some more tests: filters images tests network tests keys tests test generator fixed run_list validator
		
			
				
	
	
		
			138 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @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)
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {"provider" => oprovider}}) %>
 | |
|     """
 | |
|     Then response should be '400'
 | |
| 
 | |
|     <% end #other providers%>
 | |
| 
 | |
|     <% (image.keys - ["id"]).each do |key| %>
 | |
|     <% [[], {}].each do |invalid_value| %>
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image with invalid <%= key %> value: '<%= invalid_value %>'
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {key => invalid_value}}) %>
 | |
|     """
 | |
|     Then response should be '400'
 | |
| 
 | |
|     <% end #invalid values%>
 | |
| 
 | |
|     <% end # keys%>
 | |
|     <% (image.keys - ["bootstrap_template", "id"]).each do |key| %>
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image with invalid <%= key %> value: 'nil'
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {key => nil}}) %>
 | |
|     """
 | |
|     Then response should be '400'
 | |
| 
 | |
|     <% end %>
 | |
| 
 | |
|     <% (image.keys - ["name", "remote_user", "id"]).each do |key| %>
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image with invalid <%= key %> value: 'foo'
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {key => "foo"}}) %>
 | |
|     """
 | |
|     Then response should be '400'
 | |
| 
 | |
|     <% end %>
 | |
| 
 | |
|   <% [[], {}, "foo", nil].each do |value| %>
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image with invalid id value: '<%= value %>'
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {"id" => value}}) %>
 | |
|     """
 | |
|     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"
 | |
|     }
 | |
|     """
 | |
| 
 | |
|   <% end %>
 | |
| 
 | |
|   Scenario: Update <%= provider %> image without id
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {without_field: "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 '<%= image["id"] %>' has been updated"
 | |
|     }
 | |
|     """
 | |
| 
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/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 '<%= image["id"] %>' has been updated"
 | |
|     }
 | |
|     """
 | |
| 
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image with bootstrap_template null
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {"bootstrap_template" => nil}}) %>
 | |
|     """
 | |
|     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"
 | |
|     }
 | |
|     """
 | |
| 
 | |
|   @<%= provider %>
 | |
|   Scenario: Update <%= provider %> image with old bootstrap_template: '<%= image["bootstrap_template"] %>'
 | |
|     When I send PUT '/v2.0/image/<%= image["id"] %>' query with JSON body
 | |
|     """
 | |
|     <%= @formatter.json(provider + '/image', {value: {"bootstrap_template" => image["bootstrap_template"]}}) %>
 | |
|     """
 | |
|     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"
 | |
|     }
 | |
|     """
 | |
| 
 | |
|   <% end #providers %>
 | |
| 
 |