65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | require "devops_test" | ||
|  | require "list_command" | ||
|  | require "cud_command" | ||
|  | class Image < DevopsTest | ||
|  | 
 | ||
|  |   include ListCommand | ||
|  |   include CudCommand | ||
|  | 
 | ||
|  |   def title | ||
|  |     "Image test" | ||
|  |   end | ||
|  | 
 | ||
|  |   def run | ||
|  |     list("images") | ||
|  |     PROVIDERS.each do |p| | ||
|  |       list_send("images", 200, :provider => p) | ||
|  |     end | ||
|  |     ["foo", nil, ["ec2"], {"provider" => "ec2"}].each do |p| | ||
|  |       list_send("images", 404, :provider => p) | ||
|  |     end | ||
|  | 
 | ||
|  |     cmd = "images/provider/:provider" | ||
|  |     [USERNAME, USERNAME + "_r", ROOTUSER].each do |u| | ||
|  |       self.username = u | ||
|  |       PROVIDERS.each do |p| | ||
|  |         list_send(cmd.gsub(":provider", p), 200) | ||
|  |       end | ||
|  |       list_send(cmd.gsub(":provider", "foo"), 404) | ||
|  |       self.get("images/provider") | ||
|  |       self.check_status 404
 | ||
|  |     end | ||
|  |     list_deny do | ||
|  |       PROVIDERS.each do |p| | ||
|  |         list_send(cmd.gsub(":provider", p), 401) | ||
|  |       end | ||
|  |       list_send(cmd.gsub(":provider", "foo"), 401) | ||
|  |       self.get("images/provider") | ||
|  |       self.check_status 404
 | ||
|  |     end | ||
|  | 
 | ||
|  |     image = { | ||
|  |       :id => "foo_image", | ||
|  |       :provider => "foo_provider", | ||
|  |       :name => "foo_name", | ||
|  |       :remote_user => "foo_user", | ||
|  |     } | ||
|  |     all_privileges | ||
|  |     test_headers "image" | ||
|  |     test_request "image", image | ||
|  |     self.send_post "image", image, HEADERS, 400
 | ||
|  |     i = image.clone | ||
|  |     i[:provider] = "openstack" | ||
|  |     self.send_post "image", i, HEADERS, 400
 | ||
|  | 
 | ||
|  |     test_auth "image", image | ||
|  | 
 | ||
|  |     test_auth "image/foo", {}, 404, "delete" | ||
|  |     self.send_delete "image/foo", nil, {}, 406
 | ||
|  |     h = HEADERS.clone | ||
|  |     h.delete("Content-Type") | ||
|  |     self.send_delete "image/foo", nil, h, 404
 | ||
|  |   end | ||
|  | 
 | ||
|  | end |