Commit 3a6ca7d9 by Alexander Presber

fixed wrong permissions ('private' and 'public-read') into the right

ones (:private and :public_read) in the s3_test
completed test for lambda permission value
parent 15712902
......@@ -81,9 +81,9 @@ module Paperclip
@s3_permissions = set_permissions(@options.s3_permissions)
@s3_protocol = @options.s3_protocol ||
Proc.new do |style, attachment|
permission = (@s3_permissions[style.to_sym] || @s3_permissions[:default])
permission = permission.call(attachment, style) if permission.is_a?(Proc)
permission == :public_read ? 'http' : 'https'
permission = (@s3_permissions[style.to_sym] || @s3_permissions[:default])
permission = permission.call(attachment, style) if permission.is_a?(Proc)
(permission == :public_read) ? 'http' : 'https'
end
@s3_headers = @options.s3_headers || {}
......
......@@ -509,7 +509,7 @@ class S3Test < Test::Unit::TestCase
end
context "S3 Permissions" do
context "defaults to public-read" do
context "defaults to :public_read" do
setup do
rebuild_model :storage => :s3,
:bucket => "testing",
......@@ -556,7 +556,7 @@ class S3Test < Test::Unit::TestCase
'access_key_id' => "12345",
'secret_access_key' => "54321"
},
:s3_permissions => 'private'
:s3_permissions => :private
end
context "when assigned" do
......@@ -575,7 +575,7 @@ class S3Test < Test::Unit::TestCase
anything,
'testing',
:content_type => 'image/png',
:access => 'private')
:access => :private)
@dummy.save
end
......@@ -599,8 +599,8 @@ class S3Test < Test::Unit::TestCase
'secret_access_key' => "54321"
},
:s3_permissions => {
:original => 'private',
:thumb => 'public-read'
:original => :private,
:thumb => :public_read
}
end
......@@ -621,7 +621,7 @@ class S3Test < Test::Unit::TestCase
anything,
'testing',
:content_type => 'image/png',
:access => style == :thumb ? 'public-read' : 'private')
:access => style == :thumb ? :public_read : :private)
end
@dummy.save
end
......@@ -635,17 +635,21 @@ class S3Test < Test::Unit::TestCase
context "proc permission set" do
setup do
rebuild_model :storage => :s3,
:bucket => "testing",
:path => ":attachment/:style/:basename.:extension",
:styles => {
:thumb => "80x80>"
},
:s3_credentials => {
'access_key_id' => "12345",
'secret_access_key' => "54321"
},
:s3_permissions => lambda{|attachment, style| attachment.instance.private_attachment? && style.to_sym != :thumb ? 'private' : 'public-read' }
rebuild_model(
:storage => :s3,
:bucket => "testing",
:path => ":attachment/:style/:basename.:extension",
:styles => {
:thumb => "80x80>"
},
:s3_credentials => {
'access_key_id' => "12345",
'secret_access_key' => "54321"
},
:s3_permissions => lambda {|attachment, style|
attachment.instance.private_attachment? && style.to_sym != :thumb ? :private : :public_read
}
)
end
context "when assigned" do
......@@ -662,18 +666,20 @@ class S3Test < Test::Unit::TestCase
setup do
AWS::S3::Base.stubs(:establish_connection!)
[:thumb, :original].each do |style|
AWS::S3::S3Object.expects(:store).with("avatars/#{style}/5k.png",
anything,
'testing',
:content_type => 'image/png',
:access => style == :thumb ? 'public-read' : 'private')
AWS::S3::S3Object.expects(:store).with(
"avatars/#{style}/5k.png",
anything,
'testing',
:content_type => 'image/png',
:access => style == :thumb ? :public_read : :private
)
end
@dummy.save
end
should "succeed" do
assert_equal 0, @dummy.avatar.url() =~ /^https:/
assert_equal 0, @dummy.avatar.url(:thumb) =~ /^http:/
assert @dummy.avatar.url().include? "https://"
assert @dummy.avatar.url(:thumb).include? "http://"
end
end
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment