Sha256: e66856d14afdc5f6a3a39c2304f38bcac0c77dc761b172bdd48f5081f6dbd35c
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
require 'spec_helper' describe Heirloom do before do @config_mock = double 'config' @logger_mock = double 'logger' @config_mock.should_receive(:logger).and_return(@logger_mock) @config_mock.should_receive(:authorized_aws_accounts). and_return ['acct1@test.com', 'acct2@test.com'] @s3 = Heirloom::ACL::S3.new :config => @config_mock, :region => 'us-west-1' end it "should allow read access for the specified accounts" do acls = { 'Owner' => { 'Name' => 'Brett', 'ID' => '123' } } s3_mock = mock 's3' @s3.should_receive(:s3).exactly(2).times. and_return(s3_mock) s3_mock.should_receive(:get_bucket_acl).with('bucket'). and_return acls @logger_mock.should_receive(:info). with 'Authorizing acct1@test.com to s3://bucket/key-folder/key.tar.gz.' @logger_mock.should_receive(:info). with 'Authorizing acct2@test.com to s3://bucket/key-folder/key.tar.gz.' s3_mock.should_receive(:put_object_acl). with("bucket", "key-folder/key.tar.gz", {"Owner"=>{"DisplayName"=>"Brett", "ID"=>"123"}, "AccessControlList"=>[{"Grantee"=>{"EmailAddress"=>"acct1@test.com"}, "Permission"=>"READ"}, {"Grantee"=>{"EmailAddress"=>"acct2@test.com"}, "Permission"=>"READ"}, {"Grantee"=>{"DisplayName"=>"Brett", "ID"=>"123"}, "Permission"=>"FULL_CONTROL"}]}) @s3.allow_read_access_from_accounts :bucket => 'bucket', :key_name => 'key', :key_folder => 'key-folder' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
heirloom-0.2.0 | spec/acl/s3_spec.rb |