@@ -335,6 +335,18 @@ def test_list_blobs_explicit(self):
335335 self .assertEqual (kw ['path' ], '/b/%s/o' % NAME )
336336 self .assertEqual (kw ['query_params' ], EXPECTED )
337337
338+ def test_list_blobs_w_explicit_connection (self ):
339+ NAME = 'name'
340+ connection = _Connection ({'items' : []})
341+ bucket = self ._makeOne (NAME , None )
342+ iterator = bucket .list_blobs (connection = connection )
343+ blobs = list (iterator )
344+ self .assertEqual (blobs , [])
345+ kw , = connection ._requested
346+ self .assertEqual (kw ['method' ], 'GET' )
347+ self .assertEqual (kw ['path' ], '/b/%s/o' % NAME )
348+ self .assertEqual (kw ['query_params' ], {'projection' : 'noAcl' })
349+
338350 def test_delete_default_miss (self ):
339351 from gcloud .exceptions import NotFound
340352 NAME = 'name'
@@ -887,10 +899,10 @@ def test_make_public_defaults(self):
887899 permissive = [{'entity' : 'allUsers' , 'role' : _ACLEntity .READER_ROLE }]
888900 after = {'acl' : permissive , 'defaultObjectAcl' : []}
889901 connection = _Connection (after )
890- bucket = self ._makeOne (NAME , connection )
902+ bucket = self ._makeOne (NAME , None )
891903 bucket .acl .loaded = True
892904 bucket .default_object_acl .loaded = True
893- bucket .make_public ()
905+ bucket .make_public (connection = connection )
894906 self .assertEqual (list (bucket .acl ), permissive )
895907 self .assertEqual (list (bucket .default_object_acl ), [])
896908 kw = connection ._requested
@@ -914,10 +926,10 @@ def _make_public_w_future_helper(self, default_object_acl_loaded=True):
914926 # We return the same value for default_object_acl.reload()
915927 # to consume.
916928 connection = _Connection (after1 , after1 , after2 )
917- bucket = self ._makeOne (NAME , connection )
929+ bucket = self ._makeOne (NAME , None )
918930 bucket .acl .loaded = True
919931 bucket .default_object_acl .loaded = default_object_acl_loaded
920- bucket .make_public (future = True )
932+ bucket .make_public (future = True , connection = connection )
921933 self .assertEqual (list (bucket .acl ), permissive )
922934 self .assertEqual (list (bucket .default_object_acl ), permissive )
923935 kw = connection ._requested
@@ -957,14 +969,16 @@ def __init__(self, bucket, name):
957969 def acl (self ):
958970 return self
959971
972+ # Faux ACL methods
960973 def all (self ):
961974 return self
962975
963976 def grant_read (self ):
964977 self ._granted = True
965978
966- def save_acl (self ):
967- _saved .append ((self ._bucket , self ._name , self ._granted ))
979+ def save (self , connection = None ):
980+ _saved .append (
981+ (self ._bucket , self ._name , self ._granted , connection ))
968982
969983 class _Iterator (_BlobIterator ):
970984 def get_items_from_response (self , response ):
@@ -976,14 +990,14 @@ def get_items_from_response(self, response):
976990 permissive = [{'entity' : 'allUsers' , 'role' : _ACLEntity .READER_ROLE }]
977991 after = {'acl' : permissive , 'defaultObjectAcl' : []}
978992 connection = _Connection (after , {'items' : [{'name' : BLOB_NAME }]})
979- bucket = self ._makeOne (NAME , connection )
993+ bucket = self ._makeOne (NAME , None )
980994 bucket .acl .loaded = True
981995 bucket .default_object_acl .loaded = True
982996 bucket ._iterator_class = _Iterator
983- bucket .make_public (recursive = True )
997+ bucket .make_public (recursive = True , connection = connection )
984998 self .assertEqual (list (bucket .acl ), permissive )
985999 self .assertEqual (list (bucket .default_object_acl ), [])
986- self .assertEqual (_saved , [(bucket , BLOB_NAME , True )])
1000+ self .assertEqual (_saved , [(bucket , BLOB_NAME , True , connection )])
9871001 kw = connection ._requested
9881002 self .assertEqual (len (kw ), 2 )
9891003 self .assertEqual (kw [0 ]['method' ], 'PATCH' )
@@ -992,7 +1006,7 @@ def get_items_from_response(self, response):
9921006 self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
9931007 self .assertEqual (kw [1 ]['method' ], 'GET' )
9941008 self .assertEqual (kw [1 ]['path' ], '/b/%s/o' % NAME )
995- self .assertEqual (kw [1 ]['query_params' ], {'projection' : 'noAcl ' })
1009+ self .assertEqual (kw [1 ]['query_params' ], {'projection' : 'full ' })
9961010
9971011
9981012class _Connection (object ):
0 commit comments