| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  | <% providers = @formatter.get_fixture('providers/all').map{|p| "@#{p}"} %> | 
					
						
							|  |  |  | @key <%= providers.join(" ") %> | 
					
						
							|  |  |  | Feature: Add new key | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |   <% new_key = @formatter.get_fixture('key/new') %> | 
					
						
							|  |  |  |   <% new_key.keys.each do |key| %> | 
					
						
							|  |  |  |     <% [[], {}, nil].each do |value| %> | 
					
						
							|  |  |  |   Scenario: Add new key with <%= key %> value <%= value %> | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     When I send POST '/v2.0/key' query with JSON body | 
					
						
							|  |  |  |     """ | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     <%= @formatter.json('key/new', {spaces: 4, value: {key => value}}) %> | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     """ | 
					
						
							|  |  |  |     Then response should be '400' | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     And response error should be "Parameter '<%= key %>' should be a not empty string" | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |   Scenario: Add new key without <%= key %> | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     When I send POST '/v2.0/key' query with JSON body | 
					
						
							|  |  |  |     """ | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     <%= @formatter.json('key/new', {spaces: 4, without_field: key}) %> | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     """ | 
					
						
							|  |  |  |     Then response should be '400' | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     And response error should be "Parameter '<%= key %>' should be a not empty string" | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     <% end #value %> | 
					
						
							|  |  |  |   <% end %> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Scenario: Add new key with header 'Accept' value is not 'application/json' | 
					
						
							|  |  |  |     When I send POST '/v2.0/key' query with JSON body with header 'Accept' value 'application/xml' | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     """ | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     <%= @formatter.json('key/new') %> | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     """ | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     Then response should be '406' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Scenario: Add new key without privileges | 
					
						
							|  |  |  |     When I send POST '/v2.0/key' query with user without privileges | 
					
						
							|  |  |  |     Then response should be '401' | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |   Scenario: Add new key | 
					
						
							|  |  |  |     When I send POST '/v2.0/key' query with JSON body | 
					
						
							|  |  |  |     """ | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |     <%= @formatter.json('key/new') %> | 
					
						
							| 
									
										
										
										
											2015-07-08 16:48:19 +03:00
										 |  |  |     """ | 
					
						
							|  |  |  |     Then response should be '201' | 
					
						
							|  |  |  | 
 |