add_user_to_tenant(tenant_id, user_id, role_id)
click to toggle source
def add_user_to_tenant(tenant_id, user_id, role_id)
response = Excon::Response.new
response.status = 200
response.body = {
'role' => {
'id' => '503df61a99d6461fb247cdb6a3f3a4dd',
'name' => 'admin'
}
}
response
end
create_role(name)
click to toggle source
def create_role(name)
response = Excon::Response.new
response.status = 202
data = {
'id' => Fog::Mock.random_numbers(6).to_s,
'name' => name
}
self.data[:roles][data['id']] = data
response.body = { 'role' => data }
response
end
create_tenant(attributes)
click to toggle source
def create_tenant(attributes)
response = Excon::Response.new
response.status = [200, 204][rand(1)]
response.body = {
'tenant' => {
'id' => '1',
'description' => 'Has access to everything',
'enabled' => true,
'name' => 'admin'
}
}
response
end
create_user(name, password, email, tenantId=nil, enabled=true)
click to toggle source
def create_user(name, password, email, tenantId=nil, enabled=true)
response = Excon::Response.new
response.status = 200
data = {
'id' => Fog::Mock.random_numbers(6).to_s,
'name' => name,
'email' => email,
'tenantId' => tenantId,
'enabled' => enabled
}
self.data[:users][data['id']] = data
response.body = { 'user' => data }
response
end
create_user_role(tenant_id, user_id, role_id)
click to toggle source
def create_user_role(tenant_id, user_id, role_id)
response = Excon::Response.new
response.status = 200
response
end
credentials()
click to toggle source
def credentials
{ :provider => 'openstack',
:openstack_auth_url => @openstack_auth_uri.to_s,
:openstack_auth_token => @auth_token,
:openstack_management_url => @openstack_management_url,
:openstack_current_user_id => @openstack_current_user_id}
end
data()
click to toggle source
def data
self.class.data[@openstack_username]
end
delete_role(role_id)
click to toggle source
def delete_role(role_id)
response = Excon::Response.new
if role = list_roles.body['roles'][role_id]
self.data[:roles].delete(role_id)
response.status = 204
response
else
raise Fog::Identity::OpenStack::NotFound
end
end
delete_tenant(attributes)
click to toggle source
def delete_tenant(attributes)
response = Excon::Response.new
response.status = [200, 204][rand(1)]
response.body = {
'tenant' => {
'id' => '1',
'description' => 'Has access to everything',
'enabled' => true,
'name' => 'admin'
}
}
response
end
delete_user(user_id)
click to toggle source
def delete_user(user_id)
self.data[:users].delete(
list_users.body['users'].find {|x| x['id'] == user_id }['id'])
response = Excon::Response.new
response.status = 204
response
rescue
raise Fog::Identity::OpenStack::NotFound
end
delete_user_role(tenant_id, user_id, role_id)
click to toggle source
def delete_user_role(tenant_id, user_id, role_id)
response = Excon::Response.new
response.status = 200
response
end
get_role(id)
click to toggle source
def get_role(id)
response = Excon::Response.new
if data = self.data[:roles][id]
response.status = 200
response.body = { 'role' => data }
response
else
raise Fog::Identity::OpenStack::NotFound
end
end
get_tenant(id)
click to toggle source
def get_tenant(id)
response = Excon::Response.new
response.status = [200, 204][rand(1)]
response.body = {
'tenant' => {
'id' => '1',
'description' => 'Has access to everything',
'enabled' => true,
'name' => 'admin'
}
}
response
end
get_user_by_id(user_id)
click to toggle source
def get_user_by_id(user_id)
response = Excon::Response.new
response.status = 200
existing_user = self.data[:users].find do |u|
u[0] == user_id || u[1]['name'] == 'mock'
end
existing_user = existing_user[1] if existing_user
response.body = {
'user' => existing_user || create_user('mock', 'mock', 'mock@email.com').body['user']
}
response
end
list_roles()
click to toggle source
def list_roles
response = Excon::Response.new
response.status = 200
response.body = { 'roles' => self.data[:roles] }
response
end
list_roles_for_user_on_tenant(tenant_id, user_id)
click to toggle source
def list_roles_for_user_on_tenant(tenant_id, user_id)
response = Excon::Response.new
response.status = 200
response.body = {
'roles' => self.data[:roles]
}
response
end
list_tenants()
click to toggle source
def list_tenants
response = Excon::Response.new
response.status = [200, 204][rand(1)]
response.body = {
'tenants' => [
{'id' => '1',
'description' => 'Has access to everything',
'enabled' => true,
'name' => 'admin'},
{'id' => '2',
'description' => 'Normal tenant',
'enabled' => true,
'name' => 'default'},
{'id' => '3',
'description' => 'Disabled tenant',
'enabled' => false,
'name' => 'disabled'}
]
}
response
end
list_users(tenant_id = nil)
click to toggle source
def list_users(tenant_id = nil)
response = Excon::Response.new
response.status = 200
response.body = { 'users' => self.data[:users].values }
response
end
remove_user_from_tenant(tenant_id, user_id, role_id)
click to toggle source
def remove_user_from_tenant(tenant_id, user_id, role_id)
end
reset_data()
click to toggle source
def reset_data
self.class.data.delete(@openstack_username)
end
update_tenant(id, attributes)
click to toggle source
def update_tenant(id, attributes)
response = Excon::Response.new
response.status = [200, 204][rand(1)]
attributes = {'enabled' => true, 'id' => '1'}.merge(attributes)
response.body = {
'tenant' => attributes
}
response
end
update_user(user_id, options)
click to toggle source
def update_user(user_id, options)
response = Excon::Response.new
if user = list_users.body['users'][user_id]
if options['name']
user['name'] = options['name']
end
self.data[:users][data['id']] = user
response.status = 200
response
else
raise Fog::Identity::OpenStack::NotFound
end
end