Sha256: 5a50d366726c07345f1916b7d1dac27db95a388163fe510cfc1eddc2c547d1a8

Contents?: true

Size: 1.43 KB

Versions: 5

Compression:

Stored size: 1.43 KB

Contents

require 'spec_helper'

describe Heirloom do
  before do
    @config_mock = double 'config'
    @logger_stub = stub 'logger', :info => true, :debug => true
    @config_mock.stub :logger => @logger_stub

    @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

    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.tar.gz',
                                        :key_folder => 'key-folder',
                                        :accounts   => ['acct1@test.com', 'acct2@test.com']
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
heirloom-0.11.0 spec/acl/s3_spec.rb
heirloom-0.11.0.beta.2 spec/acl/s3_spec.rb
heirloom-0.11.0.beta.1 spec/acl/s3_spec.rb
heirloom-0.10.1 spec/acl/s3_spec.rb
heirloom-0.10.0 spec/acl/s3_spec.rb