lib/fog/aws/requests/iam/create_access_key.rb in fog-1.1.2 vs lib/fog/aws/requests/iam/create_access_key.rb in fog-1.2.0

- old
+ new

@@ -30,8 +30,32 @@ :parser => Fog::Parsers::AWS::IAM::CreateAccessKey.new }.merge!(options)) end end + class Mock + def create_access_key(options) + #FIXME: Not 100% correct as AWS will use the signing credentials when there is no 'UserName' in the options hash + # Also doesn't raise an error when there are too many keys + user_name = options['UserName'] + if data[:users].has_key? user_name + key = { 'SecretAccessKey' => Fog::Mock.random_base64(40), + 'Status' => 'Active', + 'AccessKeyId' => Fog::AWS::Mock.key_id(20), + 'UserName' => user_name + } + + data[:users][user_name][:access_keys] << key + + Excon::Response.new.tap do |response| + response.status = 200 + response.body = { 'AccessKey' => key, + 'RequestId' => Fog::AWS::Mock.request_id } + end + else + raise Fog::AWS::IAM::NotFound.new('The user with name booboboboob cannot be found.') + end + end + end end end end