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

add missing mocks

* mock for delete_group_policy request
* mock for delete_bucket_policy request
* mock for put_bucket_policy request
This commit is contained in:
Josh Lane & Michelle Noorali 2015-01-26 16:15:08 -08:00
parent 54ed9b921a
commit 3c9198a789
3 changed files with 49 additions and 0 deletions

View file

@ -27,6 +27,23 @@ module Fog
)
end
end
class Mock
def delete_group_policy(group_name, policy_name)
if !data[:groups].key? group_name
raise Fog::AWS::IAM::NotFound.new("The group with name #{group_name} cannot be found.")
elsif !data[:groups][group_name][:policies].key? policy_name
raise Fog::AWS::IAM::NotFound.new("The group policy with name #{policy_name} cannot be found.")
else
data[:groups][group_name][:policies].delete(policy_name)
Excon::Response.new.tap do |response|
response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
response.status = 200
end
end
end
end
end
end
end

View file

@ -21,6 +21,21 @@ module Fog
})
end
end
class Mock
def delete_bucket_policy(bucket_name)
if bucket = data[:buckets][bucket_name]
bucket[:policy] = nil
Excon::Response.new.tap do |response|
response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
response.status = 200
end
else
raise Fog::AWS::IAM::NotFound.new("The bucket with name #{bucket_name} cannot be found.")
end
end
end
end
end
end

View file

@ -20,6 +20,23 @@ module Fog
})
end
end
class Mock
#FIXME: You can't actually use the credentials for anything elsewhere in Fog
#FIXME: Doesn't do any validation on the policy
def put_bucket_policy(bucket_name, policy)
if bucket = data[:buckets][bucket_name]
bucket[:policy] = policy
Excon::Response.new.tap do |response|
response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
response.status = 200
end
else
raise Fog::AWS::IAM::NotFound.new("The bucket with name #{bucket_name} cannot be found.")
end
end
end
end
end
end