mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
[openstack|identity] Update users collections and model
This commit is contained in:
parent
a1ecf11e25
commit
040cd20021
3 changed files with 45 additions and 1 deletions
|
@ -9,7 +9,7 @@ module Fog
|
||||||
attribute :email
|
attribute :email
|
||||||
attribute :enabled
|
attribute :enabled
|
||||||
attribute :name
|
attribute :name
|
||||||
attribute :tenantId, :aliases => 'tenant_id'
|
attribute :tenant_id, :aliases => 'tenantId'
|
||||||
attribute :password
|
attribute :password
|
||||||
|
|
||||||
attr_accessor :email, :name, :tenant_id, :enabled, :password
|
attr_accessor :email, :name, :tenant_id, :enabled, :password
|
||||||
|
|
|
@ -10,6 +10,17 @@ module Fog
|
||||||
def all
|
def all
|
||||||
load(connection.list_users.body['users'])
|
load(connection.list_users.body['users'])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def find_by_id(id)
|
||||||
|
self.find {|user| user.id == id} ||
|
||||||
|
Fog::Identity::OpenStack::User.new(
|
||||||
|
connection.get_user_by_id(id).body['user'])
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy(id)
|
||||||
|
user = self.find_by_id(id)
|
||||||
|
user.destroy
|
||||||
|
end
|
||||||
end # class Users
|
end # class Users
|
||||||
end # class OpenStack
|
end # class OpenStack
|
||||||
end # module Identity
|
end # module Identity
|
||||||
|
|
33
tests/openstack/models/identity/users_tests.rb
Normal file
33
tests/openstack/models/identity/users_tests.rb
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
Shindo.tests("Fog::Identity[:openstack] | users", ['openstack']) do
|
||||||
|
tenant_id = Fog::Identity[:openstack].list_tenants.body['tenants'].first['id']
|
||||||
|
@instance = Fog::Identity[:openstack].users.create({
|
||||||
|
:name => 'foobar',
|
||||||
|
:email => 'foo@bar.com',
|
||||||
|
:tenant_id => tenant_id,
|
||||||
|
:password => 'spoof',
|
||||||
|
:enabled => true
|
||||||
|
})
|
||||||
|
|
||||||
|
tests('success') do
|
||||||
|
tests('#find_by_id').succeeds do
|
||||||
|
user = Fog::Identity[:openstack].users.find_by_id(@instance.id)
|
||||||
|
user.id == @instance.id
|
||||||
|
end
|
||||||
|
|
||||||
|
tests('#destroy').succeeds do
|
||||||
|
Fog::Identity[:openstack].users.destroy(@instance.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
tests('fails') do
|
||||||
|
pending if Fog.mocking?
|
||||||
|
|
||||||
|
tests('#find_by_id').raises(Fog::Identity::OpenStack::NotFound) do
|
||||||
|
Fog::Identity[:openstack].users.find_by_id('fake')
|
||||||
|
end
|
||||||
|
|
||||||
|
tests('#destroy').raises(Fog::Identity::OpenStack::NotFound) do
|
||||||
|
Fog::Identity[:openstack].users.destroy('fake')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue