fluke/devops-service/tests/image.rb
GGA Software Services LLC 02bf8b1bba initial commit
2014-05-08 17:06:06 +04:00

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