def create_token(username, api_key)
unless username == 'baduser' || api_key == 'bad_key'
compute_tenant = Fog::Mock.random_numbers(6)
object_tenant = generate_object_tenant
response = Excon::Response.new
response.status = 200
response.body = {
"access" => {
"token"=> {
"id" => Fog::Mock.random_hex(32),
"expires" => (Time.now.utc + 86400).strftime("%Y-%m-%dT%H:%M:%S.%LZ"),
"tenant" => { "id" => compute_tenant, "name" => compute_tenant }
},
"user" => {
"id" => Fog::Mock.random_numbers(6),
"name" => username,
"roles" => [
{
"id" => Fog::Mock.random_numbers(1),
"description" => "Fake Role for an object store",
"name" => "object-store:default"
},
{
"id" => Fog::Mock.random_numbers(1),
"description" => "Fake Role for a compute cluster",
"name" => "compute:default"
}
]
},
"serviceCatalog" => build_service_catalog(compute_tenant, object_tenant),
}
}
response
else
response = Excon::Response.new
response.status = 401
response.body = {
"unauthorized" => {
"code" => 401,
"message" => "Username or API key is invalid."
}
}
raise Excon::Errors::Unauthorized.new('Unauthorized', nil, response)
end
end