Skip to content

Commit beb14fe

Browse files
committed
Removing properties= from Bucket() constructor.
This is an implementation detail not needed for an end-user.
1 parent 3906245 commit beb14fe

File tree

4 files changed

+32
-46
lines changed

4 files changed

+32
-46
lines changed

gcloud/storage/api.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ def get_bucket(bucket_name, connection=None):
125125
if connection is None:
126126
connection = get_default_connection()
127127

128-
bucket_path = Bucket.path_helper(bucket_name)
129-
response = connection.api_request(method='GET', path=bucket_path)
130-
return Bucket(properties=response, connection=connection)
128+
bucket = Bucket(bucket_name, connection=connection)
129+
bucket._reload_properties()
130+
return bucket
131131

132132

133133
def create_bucket(bucket_name, project=None, connection=None):
@@ -169,7 +169,10 @@ def create_bucket(bucket_name, project=None, connection=None):
169169
response = connection.api_request(method='POST', path='/b',
170170
query_params=query_params,
171171
data={'name': bucket_name})
172-
return Bucket(properties=response, connection=connection)
172+
name = response.get('name')
173+
bucket = Bucket(name, connection=connection)
174+
bucket._properties = response
175+
return bucket
173176

174177

175178
class _BucketIterator(Iterator):
@@ -194,4 +197,7 @@ def get_items_from_response(self, response):
194197
:param response: The JSON API response for a page of buckets.
195198
"""
196199
for item in response.get('items', []):
197-
yield Bucket(properties=item, connection=self.connection)
200+
name = item.get('name')
201+
bucket = Bucket(name, connection=self.connection)
202+
bucket._properties = item
203+
yield bucket

gcloud/storage/bucket.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,8 @@ class Bucket(_PropertyMixin):
9292
# ACL rules are lazily retrieved.
9393
_acl = _default_object_acl = None
9494

95-
def __init__(self, name=None, connection=None, properties=None):
96-
if name is None and properties is not None:
97-
name = properties.get('name')
98-
super(Bucket, self).__init__(name=name, properties=properties)
95+
def __init__(self, name=None, connection=None):
96+
super(Bucket, self).__init__(name=name)
9997
self._connection = connection
10098

10199
def __repr__(self):

gcloud/storage/test_api.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def test_miss(self):
3030
'storage',
3131
conn.API_VERSION,
3232
'b',
33-
'nonesuch',
33+
'nonesuch?projection=noAcl',
3434
])
3535
http = conn._http = Http(
3636
{'status': '404', 'content-type': 'application/json'},
@@ -52,7 +52,7 @@ def _lookup_bucket_hit_helper(self, use_default=False):
5252
'storage',
5353
conn.API_VERSION,
5454
'b',
55-
'%s' % (BLOB_NAME,),
55+
'%s?projection=noAcl' % (BLOB_NAME,),
5656
])
5757
http = conn._http = Http(
5858
{'status': '200', 'content-type': 'application/json'},
@@ -156,7 +156,7 @@ def test_miss(self):
156156
'storage',
157157
conn.API_VERSION,
158158
'b',
159-
'nonesuch',
159+
'nonesuch?projection=noAcl',
160160
])
161161
http = conn._http = Http(
162162
{'status': '404', 'content-type': 'application/json'},
@@ -177,7 +177,7 @@ def _get_bucket_hit_helper(self, use_default=False):
177177
'storage',
178178
conn.API_VERSION,
179179
'b',
180-
'%s' % (BLOB_NAME,),
180+
'%s?projection=noAcl' % (BLOB_NAME,),
181181
])
182182
http = conn._http = Http(
183183
{'status': '200', 'content-type': 'application/json'},

gcloud/storage/test_bucket.py

Lines changed: 15 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ class Test_Bucket(unittest2.TestCase):
6464

6565
def _makeOne(self, *args, **kw):
6666
from gcloud.storage.bucket import Bucket
67-
return Bucket(*args, **kw)
67+
properties = kw.pop('properties', {})
68+
bucket = Bucket(*args, **kw)
69+
bucket._properties = properties
70+
return bucket
6871

6972
def test_ctor_defaults(self):
7073
bucket = self._makeOne()
@@ -78,34 +81,13 @@ def test_ctor_explicit(self):
7881
NAME = 'name'
7982
connection = _Connection()
8083
properties = {'key': 'value'}
81-
bucket = self._makeOne(NAME, connection, properties)
84+
bucket = self._makeOne(NAME, connection, properties=properties)
8285
self.assertTrue(bucket.connection is connection)
8386
self.assertEqual(bucket.name, NAME)
8487
self.assertEqual(bucket._properties, properties)
8588
self.assertTrue(bucket._acl is None)
8689
self.assertTrue(bucket._default_object_acl is None)
8790

88-
def test_ctor_no_name_defaults(self):
89-
NAME = 'name'
90-
properties = {'key': 'value', 'name': NAME}
91-
bucket = self._makeOne(properties=properties)
92-
self.assertEqual(bucket.connection, None)
93-
self.assertEqual(bucket.name, NAME)
94-
self.assertEqual(bucket.properties, properties)
95-
self.assertTrue(bucket._acl is None)
96-
self.assertTrue(bucket._default_object_acl is None)
97-
98-
def test_ctor_no_name_explicit(self):
99-
NAME = 'name'
100-
connection = _Connection()
101-
properties = {'key': 'value', 'name': NAME}
102-
bucket = self._makeOne(connection=connection, properties=properties)
103-
self.assertTrue(bucket.connection is connection)
104-
self.assertEqual(bucket.name, NAME)
105-
self.assertEqual(bucket.properties, properties)
106-
self.assertTrue(bucket._acl is None)
107-
self.assertTrue(bucket._default_object_acl is None)
108-
10991
def test___iter___empty(self):
11092
NAME = 'name'
11193
connection = _Connection({'items': []})
@@ -164,7 +146,7 @@ def api_request(cls, *args, **kwargs):
164146
raise NotFound(args)
165147

166148
BUCKET_NAME = 'bucket-name'
167-
bucket = self._makeOne(connection=_FakeConnection, name=BUCKET_NAME)
149+
bucket = self._makeOne(BUCKET_NAME, connection=_FakeConnection)
168150
self.assertFalse(bucket.exists())
169151
expected_called_kwargs = {
170152
'method': 'GET',
@@ -188,7 +170,7 @@ def api_request(cls, *args, **kwargs):
188170
return object()
189171

190172
BUCKET_NAME = 'bucket-name'
191-
bucket = self._makeOne(connection=_FakeConnection, name=BUCKET_NAME)
173+
bucket = self._makeOne(BUCKET_NAME, connection=_FakeConnection)
192174
self.assertTrue(bucket.exists())
193175
expected_called_kwargs = {
194176
'method': 'GET',
@@ -592,7 +574,7 @@ def test_get_cors_eager(self):
592574
}
593575
before = {'cors': [CORS_ENTRY, {}]}
594576
connection = _Connection()
595-
bucket = self._makeOne(NAME, connection, before)
577+
bucket = self._makeOne(NAME, connection, properties=before)
596578
entries = bucket.get_cors()
597579
self.assertEqual(len(entries), 2)
598580
self.assertEqual(entries[0]['maxAgeSeconds'],
@@ -697,7 +679,7 @@ def test_get_lifecycle_eager(self):
697679
LC_RULE = {'action': {'type': 'Delete'}, 'condition': {'age': 42}}
698680
before = {'lifecycle': {'rule': [LC_RULE]}}
699681
connection = _Connection()
700-
bucket = self._makeOne(NAME, connection, before)
682+
bucket = self._makeOne(NAME, connection, properties=before)
701683
entries = bucket.get_lifecycle()
702684
self.assertEqual(len(entries), 1)
703685
self.assertEqual(entries[0]['action']['type'], 'Delete')
@@ -744,7 +726,7 @@ def test_location_getter(self):
744726
NAME = 'name'
745727
connection = _Connection()
746728
before = {'location': 'AS'}
747-
bucket = self._makeOne(NAME, connection, before)
729+
bucket = self._makeOne(NAME, connection, properties=before)
748730
self.assertEqual(bucket.location, 'AS')
749731
kw = connection._requested
750732
self.assertEqual(len(kw), 0)
@@ -795,7 +777,7 @@ def test_enable_logging_defaults(self):
795777
}
796778
connection = _Connection(resp_to_reload, resp_to_enable_logging,
797779
resp_to_enable_logging)
798-
bucket = self._makeOne(NAME, connection, before)
780+
bucket = self._makeOne(NAME, connection, properties=before)
799781
self.assertTrue(bucket.get_logging() is None)
800782
bucket.enable_logging(LOG_BUCKET)
801783
info = bucket.get_logging()
@@ -826,7 +808,7 @@ def test_enable_logging_explicit(self):
826808
connection = _Connection(resp_to_reload,
827809
resp_to_enable_logging,
828810
resp_to_enable_logging)
829-
bucket = self._makeOne(NAME, connection, before)
811+
bucket = self._makeOne(NAME, connection, properties=before)
830812
self.assertTrue(bucket.get_logging() is None)
831813
bucket.enable_logging(LOG_BUCKET, LOG_PFX)
832814
info = bucket.get_logging()
@@ -852,7 +834,7 @@ def test_disable_logging(self):
852834
resp_to_disable_logging = {'logging': None}
853835
connection = _Connection(resp_to_reload, resp_to_disable_logging,
854836
resp_to_disable_logging)
855-
bucket = self._makeOne(NAME, connection, before)
837+
bucket = self._makeOne(NAME, connection, properties=before)
856838
self.assertTrue(bucket.get_logging() is not None)
857839
bucket.disable_logging()
858840
self.assertTrue(bucket.get_logging() is None)
@@ -923,7 +905,7 @@ def test_versioning_enabled_getter(self):
923905
NAME = 'name'
924906
before = {'versioning': {'enabled': True}}
925907
connection = _Connection()
926-
bucket = self._makeOne(NAME, connection, before)
908+
bucket = self._makeOne(NAME, connection, properties=before)
927909
self.assertEqual(bucket.versioning_enabled, True)
928910
kw = connection._requested
929911
self.assertEqual(len(kw), 0)
@@ -933,7 +915,7 @@ def test_versioning_enabled_setter(self):
933915
before = {'versioning': {'enabled': False}}
934916
after = {'versioning': {'enabled': True}}
935917
connection = _Connection(after)
936-
bucket = self._makeOne(NAME, connection, before)
918+
bucket = self._makeOne(NAME, connection, properties=before)
937919
self.assertFalse(bucket.versioning_enabled)
938920
bucket.versioning_enabled = True
939921
bucket.patch()

0 commit comments

Comments
 (0)