Skip to content

Commit 0c63f07

Browse files
committed
Removing Bucket.get_default_object_acl.
1 parent 4d69bb3 commit 0c63f07

File tree

2 files changed

+28
-46
lines changed

2 files changed

+28
-46
lines changed

gcloud/storage/bucket.py

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -479,19 +479,6 @@ def update_cors(self, entries):
479479
self._patch_properties({'cors': entries})
480480
self.patch()
481481

482-
def get_default_object_acl(self):
483-
"""Get the current Default Object ACL rules.
484-
485-
If the acl isn't available locally, this method will reload it from
486-
Cloud Storage.
487-
488-
:rtype: :class:`gcloud.storage.acl.DefaultObjectACL`
489-
:returns: A DefaultObjectACL object for this bucket.
490-
"""
491-
if not self.default_object_acl.loaded:
492-
self.default_object_acl.reload()
493-
return self.default_object_acl
494-
495482
@property
496483
def etag(self):
497484
"""Retrieve the ETag for the bucket.
@@ -738,7 +725,9 @@ def make_public(self, recursive=False, future=False):
738725
self.acl.save()
739726

740727
if future:
741-
doa = self.get_default_object_acl()
728+
doa = self.default_object_acl
729+
if not doa.loaded:
730+
doa.reload()
742731
doa.all().grant_read()
743732
doa.save()
744733

gcloud/storage/test_bucket.py

Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -638,30 +638,6 @@ def test_update_cors(self):
638638
entries = bucket.get_cors()
639639
self.assertEqual(entries, [CORS_ENTRY, {}])
640640

641-
def test_get_default_object_acl_lazy(self):
642-
from gcloud.storage.acl import BucketACL
643-
NAME = 'name'
644-
connection = _Connection({'items': []})
645-
bucket = self._makeOne(NAME, connection)
646-
acl = bucket.get_default_object_acl()
647-
self.assertTrue(acl is bucket.default_object_acl)
648-
self.assertTrue(isinstance(acl, BucketACL))
649-
self.assertEqual(list(bucket.default_object_acl), [])
650-
kw = connection._requested
651-
self.assertEqual(len(kw), 1)
652-
self.assertEqual(kw[0]['method'], 'GET')
653-
self.assertEqual(kw[0]['path'], '/b/%s/defaultObjectAcl' % NAME)
654-
655-
def test_get_default_object_acl_eager(self):
656-
connection = _Connection()
657-
bucket = self._makeOne()
658-
preset = bucket.default_object_acl # ensure it is assigned
659-
preset.loaded = True
660-
acl = bucket.get_default_object_acl()
661-
self.assertTrue(acl is preset)
662-
kw = connection._requested
663-
self.assertEqual(len(kw), 0)
664-
665641
def test_etag(self):
666642
ETAG = 'ETAG'
667643
properties = {'etag': ETAG}
@@ -990,29 +966,46 @@ def test_make_public_defaults(self):
990966
self.assertEqual(kw[0]['data'], {'acl': after['acl']})
991967
self.assertEqual(kw[0]['query_params'], {'projection': 'full'})
992968

993-
def test_make_public_w_future(self):
969+
def _make_public_w_future_helper(self, default_object_acl_loaded=True):
994970
from gcloud.storage.acl import _ACLEntity
995971
NAME = 'name'
996972
permissive = [{'entity': 'allUsers', 'role': _ACLEntity.READER_ROLE}]
997973
after1 = {'acl': permissive, 'defaultObjectAcl': []}
998974
after2 = {'acl': permissive, 'defaultObjectAcl': permissive}
999-
connection = _Connection(after1, after2)
975+
if default_object_acl_loaded:
976+
num_requests = 2
977+
connection = _Connection(after1, after2)
978+
else:
979+
num_requests = 3
980+
# We return the same value for default_object_acl.reload()
981+
# to consume.
982+
connection = _Connection(after1, after1, after2)
1000983
bucket = self._makeOne(NAME, connection)
1001984
bucket.acl.loaded = True
1002-
bucket.default_object_acl.loaded = True
985+
bucket.default_object_acl.loaded = default_object_acl_loaded
1003986
bucket.make_public(future=True)
1004987
self.assertEqual(list(bucket.acl), permissive)
1005988
self.assertEqual(list(bucket.default_object_acl), permissive)
1006989
kw = connection._requested
1007-
self.assertEqual(len(kw), 2)
990+
self.assertEqual(len(kw), num_requests)
1008991
self.assertEqual(kw[0]['method'], 'PATCH')
1009992
self.assertEqual(kw[0]['path'], '/b/%s' % NAME)
1010993
self.assertEqual(kw[0]['data'], {'acl': permissive})
1011994
self.assertEqual(kw[0]['query_params'], {'projection': 'full'})
1012-
self.assertEqual(kw[1]['method'], 'PATCH')
1013-
self.assertEqual(kw[1]['path'], '/b/%s' % NAME)
1014-
self.assertEqual(kw[1]['data'], {'defaultObjectAcl': permissive})
1015-
self.assertEqual(kw[1]['query_params'], {'projection': 'full'})
995+
if not default_object_acl_loaded:
996+
self.assertEqual(kw[1]['method'], 'GET')
997+
self.assertEqual(kw[1]['path'], '/b/%s/defaultObjectAcl' % NAME)
998+
# Last could be 1 or 2 depending on `default_object_acl_loaded`.
999+
self.assertEqual(kw[-1]['method'], 'PATCH')
1000+
self.assertEqual(kw[-1]['path'], '/b/%s' % NAME)
1001+
self.assertEqual(kw[-1]['data'], {'defaultObjectAcl': permissive})
1002+
self.assertEqual(kw[-1]['query_params'], {'projection': 'full'})
1003+
1004+
def test_make_public_w_future(self):
1005+
self._make_public_w_future_helper(default_object_acl_loaded=True)
1006+
1007+
def test_make_public_w_future_reload_default(self):
1008+
self._make_public_w_future_helper(default_object_acl_loaded=False)
10161009

10171010
def test_make_public_recursive(self):
10181011
from gcloud.storage.acl import _ACLEntity

0 commit comments

Comments
 (0)