128 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			128 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | @server @create | ||
|  | Feature: create server | ||
|  | 
 | ||
|  |   <% providers = @formatter.get_fixture('providers/without_static').map {|provider| "@#{provider}"} %> | ||
|  |   <%= providers.join(" ") %> | ||
|  |   Scenario: Get servers list before create | ||
|  |     When I send GET '/v3/servers' query | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  |     And the JSON response should be an array | ||
|  |     And the servers list should be saved | ||
|  | 
 | ||
|  |   <% @formatter.get_fixture('providers/without_static').each do |provider| %> | ||
|  |   <% server = @formatter.get_fixture(provider + '/server') %> | ||
|  | 
 | ||
|  |   <% generate_406 "Create server", "POST", "/v3/server", server, provider %> | ||
|  | 
 | ||
|  |   <% generate_mandatory_fields_validation "POST", "Create server", "/v3/server", server, @formatter.get_fixture(provider + '/server_mandatory_fields'), provider %> | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Create server | ||
|  |     When I send POST '/v3/server' query with JSON body | ||
|  |     """ | ||
|  | <%= JSON.pretty_generate(server) %> | ||
|  | 
 | ||
|  |     """ | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  |     And the JSON response should be an array | ||
|  |     And waiting background task | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Get servers list after create | ||
|  |     When I send GET '/v3/servers' query | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  |     And the JSON response should be an array | ||
|  |     And the servers list should contains new <%= provider %> server | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Create server (second time) | ||
|  |     When I send POST '/v3/server' query with JSON body | ||
|  |     """ | ||
|  | <%= JSON.pretty_generate(server) %> | ||
|  | 
 | ||
|  |     """ | ||
|  |     Then response should be '422' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Get <%= provider %> server id | ||
|  |     When I send GET '/v3/server/id/<%= server["name"] %>' query | ||
|  |     Then response should be '200' | ||
|  |     And store id in variable '<%= provider %>_server_id' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Pause new <%= provider %> server | ||
|  |     When I pause new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Pause new <%= provider %> server (second time) | ||
|  |     When I pause new '<%= provider %>' server | ||
|  |     Then response should be '409' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Unpause new <%= provider %> server | ||
|  |     When I unpause new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Unpause new <%= provider %> server (second time) | ||
|  |     When I unpause new '<%= provider %>' server | ||
|  |     Then response should be '409' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Reserve new <%= provider %> server | ||
|  |     When I reserve new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Reserve new <%= provider %> server (second time) | ||
|  |     When I reserve new '<%= provider %>' server | ||
|  |     Then response should be '409' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Deploy new <%= provider %> server | ||
|  |     When I deploy new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  |     And the JSON response should be an array | ||
|  |     And waiting background task | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Unreserve new <%= provider %> server | ||
|  |     When I unreserve new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Unreserve new <%= provider %> server (second time) | ||
|  |     When I unreserve new '<%= provider %>' server | ||
|  |     Then response should be '409' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Unbootstrap new <%= provider %> server | ||
|  |     When I unbootstrap new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  |     And the JSON response should be an array | ||
|  | 
 | ||
|  |   <%= "@#{provider}" %> | ||
|  |   Scenario: Bootstrap new <%= provider %> server | ||
|  |     When I bootstrap new '<%= provider %>' server | ||
|  |     Then response should be '200' | ||
|  |     And the Content-Type header should include 'application/json' | ||
|  |     And the JSON response should be an array | ||
|  |     And waiting background task | ||
|  | 
 | ||
|  |   <% end %> |