@@ -489,6 +489,23 @@ def test_get_metadata_none_set_defaultObjectAcl_miss_clear_default(self):
489489 kw = connection ._requested
490490 self .assertEqual (len (kw ), 0 )
491491
492+ def test_get_metadata_logging_no_default (self ):
493+ NAME = 'name'
494+ connection = _Connection ()
495+ bucket = self ._makeOne (connection , NAME )
496+ self .assertRaises (KeyError , bucket .get_metadata , 'logging' )
497+ kw = connection ._requested
498+ self .assertEqual (len (kw ), 0 )
499+
500+ def test_get_metadata_logging_w_default (self ):
501+ NAME = 'name'
502+ connection = _Connection ()
503+ bucket = self ._makeOne (connection , NAME )
504+ default = object ()
505+ self .assertRaises (KeyError , bucket .get_metadata , 'logging' , default )
506+ kw = connection ._requested
507+ self .assertEqual (len (kw ), 0 )
508+
492509 def test_get_metadata_miss (self ):
493510 NAME = 'name'
494511 before = {'bar' : 'Bar' }
@@ -713,6 +730,91 @@ def get_items_from_response(self, response):
713730 self .assertEqual (kw [1 ]['path' ], '/b/%s/o' % NAME )
714731 self .assertEqual (kw [1 ]['query_params' ], None )
715732
733+ def test_get_logging_eager_w_prefix (self ):
734+ NAME = 'name'
735+ LOG_BUCKET = 'logs'
736+ LOG_PREFIX = 'pfx'
737+ before = {
738+ 'logging' : {'logBucket' : LOG_BUCKET ,
739+ 'logObjectPrefix' : LOG_PREFIX }}
740+ connection = _Connection ()
741+ bucket = self ._makeOne (connection , NAME , before )
742+ info = bucket .get_logging ()
743+ self .assertEqual (info ['bucket_name' ], LOG_BUCKET )
744+ self .assertEqual (info ['object_prefix' ], LOG_PREFIX )
745+ kw = connection ._requested
746+ self .assertEqual (len (kw ), 0 )
747+
748+ def test_get_logging_lazy_wo_prefix (self ):
749+ NAME = 'name'
750+ LOG_BUCKET = 'logs'
751+ after = {'logging' : {'logBucket' : LOG_BUCKET }}
752+ connection = _Connection (after )
753+ bucket = self ._makeOne (connection , NAME )
754+ info = bucket .get_logging ()
755+ self .assertEqual (info ['bucket_name' ], LOG_BUCKET )
756+ self .assertEqual (info ['object_prefix' ], '' )
757+ kw = connection ._requested
758+ self .assertEqual (len (kw ), 1 )
759+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
760+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'noAcl' })
761+
762+ def test_enable_logging_defaults (self ):
763+ NAME = 'name'
764+ LOG_BUCKET = 'logs'
765+ before = {'logging' : None }
766+ after = {'logging' : {'logBucket' : LOG_BUCKET , 'logObjectPrefix' : '' }}
767+ connection = _Connection (after )
768+ bucket = self ._makeOne (connection , NAME , before )
769+ self .assertTrue (bucket .get_logging () is None )
770+ bucket .enable_logging (LOG_BUCKET )
771+ info = bucket .get_logging ()
772+ self .assertEqual (info ['bucket_name' ], LOG_BUCKET )
773+ self .assertEqual (info ['object_prefix' ], '' )
774+ kw = connection ._requested
775+ self .assertEqual (len (kw ), 1 )
776+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
777+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
778+ self .assertEqual (kw [0 ]['data' ], after )
779+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
780+
781+ def test_enable_logging_explicit (self ):
782+ NAME = 'name'
783+ LOG_BUCKET = 'logs'
784+ LOG_PFX = 'pfx'
785+ before = {'logging' : None }
786+ after = {
787+ 'logging' : {'logBucket' : LOG_BUCKET , 'logObjectPrefix' : LOG_PFX }}
788+ connection = _Connection (after )
789+ bucket = self ._makeOne (connection , NAME , before )
790+ self .assertTrue (bucket .get_logging () is None )
791+ bucket .enable_logging (LOG_BUCKET , LOG_PFX )
792+ info = bucket .get_logging ()
793+ self .assertEqual (info ['bucket_name' ], LOG_BUCKET )
794+ self .assertEqual (info ['object_prefix' ], LOG_PFX )
795+ kw = connection ._requested
796+ self .assertEqual (len (kw ), 1 )
797+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
798+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
799+ self .assertEqual (kw [0 ]['data' ], after )
800+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
801+
802+ def test_disable_logging (self ):
803+ NAME = 'name'
804+ before = {'logging' : {'logBucket' : 'logs' , 'logObjectPrefix' : 'pfx' }}
805+ after = {'logging' : None }
806+ connection = _Connection (after )
807+ bucket = self ._makeOne (connection , NAME , before )
808+ self .assertTrue (bucket .get_logging () is not None )
809+ bucket .disable_logging ()
810+ self .assertTrue (bucket .get_logging () is None )
811+ kw = connection ._requested
812+ self .assertEqual (len (kw ), 1 )
813+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
814+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
815+ self .assertEqual (kw [0 ]['data' ], {'logging' : None })
816+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
817+
716818
717819class TestBucketIterator (unittest2 .TestCase ):
718820
0 commit comments