Skip to content

Commit

Permalink
Merge pull request #192 from tseaver/138-save_acl-clear_existing_loca…
Browse files Browse the repository at this point in the history
…l_acl

Fix #138: clear existing (local) ACL when saving ACL to server.
  • Loading branch information
silvolu committed Sep 30, 2014
2 parents 60887ab + fb756b2 commit 23fc80f
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
4 changes: 3 additions & 1 deletion gcloud/storage/bucket.py
Original file line number Diff line number Diff line change
Expand Up @@ -492,7 +492,9 @@ def save_acl(self, acl=None):
if acl is None:
return self

return self.patch_metadata({'acl': list(acl)})
self.patch_metadata({'acl': list(acl)})
self.reload_acl()
return self

def clear_acl(self):
"""Remove all ACL rules from the bucket.
Expand Down
4 changes: 3 additions & 1 deletion gcloud/storage/key.py
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,9 @@ def save_acl(self, acl=None):
if acl is None:
return self

return self.patch_metadata({'acl': list(acl)})
self.patch_metadata({'acl': list(acl)})
self.reload_acl()
return self

def clear_acl(self):
"""Remove all ACL rules from the key.
Expand Down
6 changes: 2 additions & 4 deletions gcloud/storage/test_bucket.py
Original file line number Diff line number Diff line change
Expand Up @@ -583,8 +583,7 @@ def test_save_acl_existing_set_new_passed(self):
bucket = self._makeOne(connection, NAME, metadata)
bucket.reload_acl()
self.assertTrue(bucket.save_acl(new_acl) is bucket)
# See: https://github.com/GoogleCloudPlatform/gcloud-python/issues/138
#self.assertEqual(list(bucket.acl), new_acl)
self.assertEqual(list(bucket.acl), new_acl)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'PATCH')
Expand All @@ -601,8 +600,7 @@ def test_clear_acl(self):
bucket = self._makeOne(connection, NAME, metadata)
bucket.reload_acl()
self.assertTrue(bucket.clear_acl() is bucket)
# See: https://github.com/GoogleCloudPlatform/gcloud-python/issues/138
#self.assertEqual(list(bucket.acl), [])
self.assertEqual(list(bucket.acl), [])
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'PATCH')
Expand Down
6 changes: 2 additions & 4 deletions gcloud/storage/test_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -509,8 +509,7 @@ def test_save_acl_existing_set_new_passed(self):
key = self._makeOne(bucket, KEY, metadata)
key.reload_acl()
self.assertTrue(key.save_acl(new_acl) is key)
# See: https://github.com/GoogleCloudPlatform/gcloud-python/issues/138
#self.assertEqual(list(bucket.acl), new_acl)
self.assertEqual(list(key.acl), new_acl)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'PATCH')
Expand All @@ -528,8 +527,7 @@ def test_clear_acl(self):
key = self._makeOne(bucket, KEY, metadata)
key.reload_acl()
self.assertTrue(key.clear_acl() is key)
# See: https://github.com/GoogleCloudPlatform/gcloud-python/issues/138
#self.assertEqual(list(key.acl), [])
self.assertEqual(list(key.acl), [])
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'PATCH')
Expand Down

0 comments on commit 23fc80f

Please sign in to comment.