1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

get_user Mock implemented. Basic shindo user_tests added

This commit is contained in:
Rodrigo Estebanez 2012-06-04 20:34:58 +02:00
parent c14fea60fe
commit ac14390848
2 changed files with 69 additions and 0 deletions

View file

@ -31,6 +31,24 @@ module Fog
end
end
class Mock
def get_user(options = {})
user = options['UserName']
raise Fog::AWS::IAM::NotFound.new("The user with name #{user} cannot be found.") unless self.data[:users].key?(user)
Excon::Response.new.tap do |response|
response.body = {'User' => {
'UserId' => data[:users][user][:user_id],
'Path' => data[:users][user][:path],
'UserName' => user,
'Arn' => (data[:users][user][:arn]).strip
},
'IsTruncated' => false,
'RequestId' => Fog::AWS::Mock.request_id }
response.status = 200
end
end
end
end
end
end

View file

@ -0,0 +1,51 @@
Shindo.tests("Fog::Compute[:iam] | user", ['aws','iam']) do
Fog.mock!
@iam = Fog::AWS[:iam]
@user_one_name = 'fake_user_one'
@user_two_name = 'fake_user_two'
tests('#create').succeeds do
@user_one = @iam.users.create(:id => @user_one_name)
@user_one.id == @user_one_name
end
#@user_two = @iam.users.create(:id => 'fake_user_two')
tests('#users','there is only one user').succeeds do
@iam.users.size == 1
end
tests('#users','the only user should match').succeeds do
@iam.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('#users','there are two users').succeeds do
@iam.users.size == 2
end
tests('#get','an existing user').succeeds do
@iam.users.get(@user_one_name).id == @user_one_name
end
tests('#get','nil if the user doesnt exists').succeeds do
@iam.users.get('non-exists') == nil
end
tests('#policies').succeeds do
end
tests('#access_keys').succeeds do
end
tests('#destroy','an existing user').succeeds do
@iam.users.get(@user_one_name).destroy
end
end