1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/openstack/requests/identity/role_tests.rb
2012-07-02 12:24:17 +02:00

41 lines
1.4 KiB
Ruby

Shindo.tests('Fog::Identity[:openstack] | role requests', ['openstack']) do
@role_format = {
'id' => String,
'name' => String
}
@user = Fog::Identity[:openstack].list_users.body['users'].first
@tenant = Fog::Identity[:openstack].list_tenants.body['tenants'].first
tests('success') do
tests('#create_role("Role Name")').formats(@role_format, false) do
@role = Fog::Identity[:openstack].create_role("Role Name").body['role']
end
tests('#list_roles').formats({'roles' => [@role_format]}) do
Fog::Identity[:openstack].list_roles.body
end
tests("#get_role('#{@role['id']}')").formats(@role_format) do
Fog::Identity[:openstack].get_role(@role['id']).body['role']
end
tests('#create_user_role(@tenant["id"], @user["id"], @role["id"])').formats(@role_format) do
Fog::Identity[:openstack].create_user_role(@tenant['id'], @user['id'], @role['id']).body['role']
end
tests("#list_roles_for_user_on_tenant('#{@tenant['id']}','#{@user['id']}')").formats([@role_format]) do
Fog::Identity[:openstack].list_roles_for_user_on_tenant(@tenant['id'], @user['id']).body['roles']
end
tests("#delete_user_role with tenant").formats(@role_format) do
Fog::Identity[:openstack].delete_user_role(@tenant['id'], @user['id'], @role['id']).body
end
tests("#delete_role('#{@role['id']}')").succeeds do
Fog::Identity[:openstack].delete_role(@role['id']).body
end
end
end