@@ -781,6 +781,60 @@ def test_update_lifecycle(self):
781781 self .assertEqual (entries [0 ]['action' ]['type' ], 'Delete' )
782782 self .assertEqual (entries [0 ]['condition' ]['age' ], 42 )
783783
784+ def test_get_versioning_eager (self ):
785+ NAME = 'name'
786+ before = {'bar' : 'Bar' , 'versioning' : {'enabled' : True }}
787+ connection = _Connection ()
788+ bucket = self ._makeOne (connection , NAME , before )
789+ self .assertEqual (bucket .get_versioning (), True )
790+ kw = connection ._requested
791+ self .assertEqual (len (kw ), 0 )
792+
793+ def test_get_versioning_lazy (self ):
794+ NAME = 'name'
795+ before = {'bar' : 'Bar' }
796+ after = {'bar' : 'Bar' , 'versioning' : {'enabled' : True }}
797+ connection = _Connection (after )
798+ bucket = self ._makeOne (connection , NAME , before )
799+ self .assertEqual (bucket .get_versioning (), True )
800+ kw = connection ._requested
801+ self .assertEqual (len (kw ), 1 )
802+ self .assertEqual (kw [0 ]['method' ], 'GET' )
803+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
804+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'noAcl' })
805+
806+ def test_enable_versioning (self ):
807+ NAME = 'name'
808+ before = {'versioning' : {'enabled' : False }}
809+ after = {'versioning' : {'enabled' : True }}
810+ connection = _Connection (after )
811+ bucket = self ._makeOne (connection , NAME , before )
812+ self .assertFalse (bucket .get_versioning ())
813+ bucket .enable_versioning ()
814+ self .assertTrue (bucket .get_versioning ())
815+ kw = connection ._requested
816+ self .assertEqual (len (kw ), 1 )
817+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
818+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
819+ self .assertEqual (kw [0 ]['data' ], {'versioning' : {'enabled' : True }})
820+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
821+
822+ def test_disable_versioning (self ):
823+ NAME = 'name'
824+ before = {'versioning' : {'enabled' : True }}
825+ after = {'versioning' : {'enabled' : False }}
826+ connection = _Connection (after )
827+ bucket = self ._makeOne (connection , NAME , before )
828+ self .assertTrue (bucket .get_versioning ())
829+ bucket .disable_versioning ()
830+ self .assertFalse (bucket .get_versioning ())
831+ kw = connection ._requested
832+ self .assertEqual (len (kw ), 1 )
833+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
834+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
835+ self .assertEqual (kw [0 ]['data' ], {'versioning' : {'enabled' : False }})
836+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
837+
784838
785839class TestBucketIterator (unittest2 .TestCase ):
786840
0 commit comments