@@ -510,6 +510,23 @@ def test_get_metadata_lifecycle_w_default(self):
510510 kw = connection ._requested
511511 self .assertEqual (len (kw ), 0 )
512512
513+ def test_get_metadata_location_no_default (self ):
514+ NAME = 'name'
515+ connection = _Connection ()
516+ bucket = self ._makeOne (connection , NAME )
517+ self .assertRaises (KeyError , bucket .get_metadata , 'location' )
518+ kw = connection ._requested
519+ self .assertEqual (len (kw ), 0 )
520+
521+ def test_get_metadata_location_w_default (self ):
522+ NAME = 'name'
523+ connection = _Connection ()
524+ bucket = self ._makeOne (connection , NAME )
525+ default = object ()
526+ self .assertRaises (KeyError , bucket .get_metadata , 'location' , default )
527+ kw = connection ._requested
528+ self .assertEqual (len (kw ), 0 )
529+
513530 def test_get_metadata_miss (self ):
514531 NAME = 'name'
515532 before = {'bar' : 'Bar' }
@@ -781,6 +798,38 @@ def test_update_lifecycle(self):
781798 self .assertEqual (entries [0 ]['action' ]['type' ], 'Delete' )
782799 self .assertEqual (entries [0 ]['condition' ]['age' ], 42 )
783800
801+ def test_get_location_eager (self ):
802+ NAME = 'name'
803+ connection = _Connection ()
804+ before = {'location' : 'AS' }
805+ bucket = self ._makeOne (connection , NAME , before )
806+ self .assertEqual (bucket .get_location (), 'AS' )
807+ kw = connection ._requested
808+ self .assertEqual (len (kw ), 0 )
809+
810+ def test_get_location_lazy (self ):
811+ NAME = 'name'
812+ connection = _Connection ({'location' : 'AS' })
813+ bucket = self ._makeOne (connection , NAME )
814+ self .assertEqual (bucket .get_location (), 'AS' )
815+ kw = connection ._requested
816+ self .assertEqual (len (kw ), 1 )
817+ self .assertEqual (kw [0 ]['method' ], 'GET' )
818+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
819+
820+ def test_update_location (self ):
821+ NAME = 'name'
822+ connection = _Connection ({'location' : 'AS' })
823+ bucket = self ._makeOne (connection , NAME )
824+ bucket .set_location ('AS' )
825+ self .assertEqual (bucket .get_location (), 'AS' )
826+ kw = connection ._requested
827+ self .assertEqual (len (kw ), 1 )
828+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
829+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
830+ self .assertEqual (kw [0 ]['data' ], {'location' : 'AS' })
831+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
832+
784833
785834class TestBucketIterator (unittest2 .TestCase ):
786835
0 commit comments