mirror of
https://github.com/fog/fog-aws.git
synced 2022-11-09 13:50:52 -05:00
da3d63cb21
* manipulate login profiles through the user model 8 mock login profile actions
99 lines
2.4 KiB
Ruby
99 lines
2.4 KiB
Ruby
Shindo.tests("Fog::Compute[:iam] | users", ['aws','iam']) do
|
|
|
|
iam = Fog::AWS[:iam]
|
|
|
|
user_one_name = 'fake_user_one'
|
|
user_two_name = 'fake_user_two'
|
|
user_three_name = 'fake_user_three'
|
|
user_three_path = '/path/to/fake_user_three/'
|
|
user_four_name = 'fake_user_four'
|
|
|
|
def all_users
|
|
Fog::AWS[:iam].users.all.select{|user| user.id =~ /^fake_user/ }
|
|
end
|
|
|
|
tests('#create').succeeds do
|
|
user_one = iam.users.create(:id => user_one_name)
|
|
user_one.id == user_one_name
|
|
end
|
|
|
|
tests('#all','there is only one user').succeeds do
|
|
all_users.size == 1
|
|
end
|
|
|
|
tests('#all','the only user should match').succeeds do
|
|
all_users.first.id == user_one_name
|
|
end
|
|
|
|
tests('#create','a second user').succeeds do
|
|
user_two = iam.users.create(:id => user_two_name)
|
|
user_two.id == user_two_name
|
|
end
|
|
|
|
tests('#all','there are two users').succeeds do
|
|
all_users.size == 2
|
|
end
|
|
|
|
user = iam.users.get(user_one_name)
|
|
|
|
tests('#get','an existing user').succeeds do
|
|
user.id == user_one_name
|
|
end
|
|
|
|
tests('#current').succeeds do
|
|
iam.users.current
|
|
end
|
|
|
|
tests('#get',"returns nil if the user doesn't exists").succeeds do
|
|
iam.users.get('non-exists') == nil
|
|
end
|
|
|
|
tests('#policies','it has no policies').succeeds do
|
|
user.policies.empty?
|
|
end
|
|
|
|
tests('#access_keys','it has no keys').succeeds do
|
|
user.access_keys.empty?
|
|
end
|
|
|
|
tests('#password=nil', 'without a password').succeeds do
|
|
user.password = nil
|
|
user.password_created_at.nil?
|
|
end
|
|
|
|
tests('#password=(password)').succeeds do
|
|
user.password = SecureRandom.base64(10)
|
|
|
|
user.password_created_at.is_a?(Time)
|
|
end
|
|
|
|
tests('#password=(update_password)').succeeds do
|
|
user.password = SecureRandom.base64(10)
|
|
|
|
user.password_created_at.is_a?(Time)
|
|
end
|
|
|
|
tests('#password=nil', 'with a password').succeeds do
|
|
user.password = nil
|
|
user.password_created_at.nil?
|
|
end
|
|
|
|
tests('#create', 'assigns path').succeeds do
|
|
user_three = iam.users.create(:id => user_three_name, :path => user_three_path)
|
|
user_three.path == user_three_path
|
|
end
|
|
|
|
tests('#create', 'defaults path to /').succeeds do
|
|
user_four = iam.users.create(:id => user_four_name)
|
|
user_four.path == '/'
|
|
end
|
|
|
|
tests('#destroy','an existing user').succeeds do
|
|
iam.users.get(user_one_name).destroy
|
|
end
|
|
|
|
tests('#destroy','clean up remaining user').succeeds do
|
|
iam.users.get(user_two_name).destroy
|
|
end
|
|
|
|
end
|