lib/brightbox-cli/vendor/fog/tests/aws/requests/storage/object_tests.rb in brightbox-cli-0.16.0 vs lib/brightbox-cli/vendor/fog/tests/aws/requests/storage/object_tests.rb in brightbox-cli-0.17.0
- old
+ new
@@ -1,9 +1,9 @@
Shindo.tests('AWS::Storage | object requests', ['aws']) do
+ @directory = Fog::Storage[:aws].directories.create(:key => 'fogobjecttests-' + Time.now.to_i.to_s(32))
+ @aws_owner = Fog::Storage[:aws].get_bucket_acl(@directory.key).body['Owner']
- @directory = Fog::Storage[:aws].directories.create(:key => 'fogobjecttests')
-
tests('success') do
tests("#put_object('#{@directory.identity}', 'fog_object', lorem_file)").succeeds do
Fog::Storage[:aws].put_object(@directory.identity, 'fog_object', lorem_file)
end
@@ -32,35 +32,53 @@
tests("#put_object_acl('#{@directory.identity}', 'fog_object', 'private')").succeeds do
Fog::Storage[:aws].put_object_acl(@directory.identity, 'fog_object', 'private')
end
- tests("#put_object_acl('#{@directory.identity}', 'fog_object', hash)").returns(true) do
+ acl = {
+ 'Owner' => @aws_owner,
+ 'AccessControlList' => [
+ {
+ 'Grantee' => @aws_owner,
+ 'Permission' => "FULL_CONTROL"
+ }
+ ]}
+ tests("#put_object_acl('#{@directory.identity}', 'fog_object', hash with id)").returns(acl) do
+ Fog::Storage[:aws].put_object_acl(@directory.identity, 'fog_object', acl)
+ Fog::Storage[:aws].get_object_acl(@directory.identity, 'fog_object').body
+ end
+
+ tests("#put_object_acl('#{@directory.identity}', 'fog_object', hash with email)").returns({
+ 'Owner' => @aws_owner,
+ 'AccessControlList' => [
+ {
+ 'Grantee' => { 'ID' => 'f62f0218873cfa5d56ae9429ae75a592fec4fd22a5f24a20b1038a7db9a8f150', 'DisplayName' => 'mtd' },
+ 'Permission' => "FULL_CONTROL"
+ }
+ ]}) do
+ pending if Fog.mocking?
Fog::Storage[:aws].put_object_acl(@directory.identity, 'fog_object', {
- 'Owner' => { 'ID' => "8a6925ce4adf5f21c32aa379004fef", 'DisplayName' => "mtd@amazon.com" },
+ 'Owner' => @aws_owner,
'AccessControlList' => [
- {
- 'Grantee' => { 'ID' => "8a6925ce4adf588a4532142d3f74dd8c71fa124b1ddee97f21c32aa379004fef", 'DisplayName' => "mtd@amazon.com" },
- 'Permission' => "FULL_CONTROL"
+ {
+ 'Grantee' => { 'EmailAddress' => 'mtd@amazon.com' },
+ 'Permission' => "FULL_CONTROL"
}
]})
- Fog::Storage[:aws].get_object_acl(@directory.identity, 'fog_object').body == <<-BODY
-<AccessControlPolicy>
- <Owner>
- <ID>8a6925ce4adf5f21c32aa379004fef</ID>
- <DisplayName>mtd@amazon.com</DisplayName>
- </Owner>
- <AccessControlList>
- <Grant>
- <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
- <ID>8a6925ce4adf588a4532142d3f74dd8c71fa124b1ddee97f21c32aa379004fef</ID>
- <DisplayName>mtd@amazon.com</DisplayName>
- </Grantee>
- <Permission>FULL_CONTROL</Permission>
- </Grant>
- </AccessControlList>
-</AccessControlPolicy>
-BODY
+ Fog::Storage[:aws].get_object_acl(@directory.identity, 'fog_object').body
+ end
+
+ acl = {
+ 'Owner' => @aws_owner,
+ 'AccessControlList' => [
+ {
+ 'Grantee' => { 'URI' => 'http://acs.amazonaws.com/groups/global/AllUsers' },
+ 'Permission' => "FULL_CONTROL"
+ }
+ ]}
+ tests("#put_object_acl('#{@directory.identity}', 'fog_object', hash with uri)").returns(acl) do
+ Fog::Storage[:aws].put_object_acl(@directory.identity, 'fog_object', acl)
+ Fog::Storage[:aws].get_object_acl(@directory.identity, 'fog_object').body
end
tests("#delete_object('#{@directory.identity}', 'fog_object')").succeeds do
Fog::Storage[:aws].delete_object(@directory.identity, 'fog_object')
end