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
|