From d91d4e1cc693b05c1a1da860cb946eb842a1227e Mon Sep 17 00:00:00 2001 From: Garret Alfert Date: Sun, 8 Jan 2012 03:08:56 +0100 Subject: [PATCH] [aws|storage] Add mock for Fog::Storage::AWS#put_bucket_website --- .../aws/requests/storage/put_bucket_website.rb | 17 +++++++++++++++++ tests/aws/requests/storage/bucket_tests.rb | 5 ++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/fog/aws/requests/storage/put_bucket_website.rb b/lib/fog/aws/requests/storage/put_bucket_website.rb index c85a69615c..8d8946f5b1 100644 --- a/lib/fog/aws/requests/storage/put_bucket_website.rb +++ b/lib/fog/aws/requests/storage/put_bucket_website.rb @@ -44,6 +44,23 @@ def put_bucket_website(bucket_name, suffix, options = {}) end end + + class Mock # :nodoc:all + + def put_bucket_website(bucket_name, suffix, options = {}) + response = Excon::Response.new + if self.data[:buckets][bucket_name] + response.status = 200 + else + response.status = 403 + raise(Excon::Errors.status_error({:expects => 200}, response)) + end + + response + end + + end + end end end diff --git a/tests/aws/requests/storage/bucket_tests.rb b/tests/aws/requests/storage/bucket_tests.rb index 67bd87fb9b..edb7ebbfee 100644 --- a/tests/aws/requests/storage/bucket_tests.rb +++ b/tests/aws/requests/storage/bucket_tests.rb @@ -117,7 +117,6 @@ end tests("#put_bucket_website('#{@aws_bucket_name}', 'index.html')").succeeds do - pending if Fog.mocking? Fog::Storage[:aws].put_bucket_website(@aws_bucket_name, 'index.html') end @@ -222,6 +221,10 @@ Fog::Storage[:aws].put_bucket_acl('fognonbucket', 'invalid') end + tests("#put_bucket_website('fognonbucket', 'index.html')").raises(Excon::Errors::Forbidden) do + Fog::Storage[:aws].put_bucket_website('fognonbucket', 'index.html') + end + end # don't keep the bucket around