@@ -667,6 +667,60 @@ def test_time_created(self):
667667 bucket = self ._makeOne (properties = properties )
668668 self .assertEqual (bucket .time_created , TIME_CREATED )
669669
670+ def test_get_versioning_eager (self ):
671+ NAME = 'name'
672+ before = {'bar' : 'Bar' , 'versioning' : {'enabled' : True }}
673+ connection = _Connection ()
674+ bucket = self ._makeOne (connection , NAME , before )
675+ self .assertEqual (bucket .get_versioning (), True )
676+ kw = connection ._requested
677+ self .assertEqual (len (kw ), 0 )
678+
679+ def test_get_versioning_lazy (self ):
680+ NAME = 'name'
681+ before = {'bar' : 'Bar' }
682+ after = {'bar' : 'Bar' , 'versioning' : {'enabled' : True }}
683+ connection = _Connection (after )
684+ bucket = self ._makeOne (connection , NAME , before )
685+ self .assertEqual (bucket .get_versioning (), True )
686+ kw = connection ._requested
687+ self .assertEqual (len (kw ), 1 )
688+ self .assertEqual (kw [0 ]['method' ], 'GET' )
689+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
690+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'noAcl' })
691+
692+ def test_enable_versioning (self ):
693+ NAME = 'name'
694+ before = {'versioning' : {'enabled' : False }}
695+ after = {'versioning' : {'enabled' : True }}
696+ connection = _Connection (after )
697+ bucket = self ._makeOne (connection , NAME , before )
698+ self .assertFalse (bucket .get_versioning ())
699+ bucket .enable_versioning ()
700+ self .assertTrue (bucket .get_versioning ())
701+ kw = connection ._requested
702+ self .assertEqual (len (kw ), 1 )
703+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
704+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
705+ self .assertEqual (kw [0 ]['data' ], {'versioning' : {'enabled' : True }})
706+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
707+
708+ def test_disable_versioning (self ):
709+ NAME = 'name'
710+ before = {'versioning' : {'enabled' : True }}
711+ after = {'versioning' : {'enabled' : False }}
712+ connection = _Connection (after )
713+ bucket = self ._makeOne (connection , NAME , before )
714+ self .assertTrue (bucket .get_versioning ())
715+ bucket .disable_versioning ()
716+ self .assertFalse (bucket .get_versioning ())
717+ kw = connection ._requested
718+ self .assertEqual (len (kw ), 1 )
719+ self .assertEqual (kw [0 ]['method' ], 'PATCH' )
720+ self .assertEqual (kw [0 ]['path' ], '/b/%s' % NAME )
721+ self .assertEqual (kw [0 ]['data' ], {'versioning' : {'enabled' : False }})
722+ self .assertEqual (kw [0 ]['query_params' ], {'projection' : 'full' })
723+
670724
671725class TestBucketIterator (unittest2 .TestCase ):
672726
0 commit comments