@@ -2638,6 +2638,35 @@ def test_etag(self):
26382638 blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
26392639 self .assertEqual (blob .etag , ETAG )
26402640
2641+ def test_event_based_hold_getter_missing (self ):
2642+ BLOB_NAME = 'blob-name'
2643+ bucket = _Bucket ()
2644+ properties = {}
2645+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2646+ self .assertIsNone (blob .event_based_hold )
2647+
2648+ def test_event_based_hold_getter_false (self ):
2649+ BLOB_NAME = 'blob-name'
2650+ bucket = _Bucket ()
2651+ properties = {'eventBasedHold' : False }
2652+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2653+ self .assertFalse (blob .event_based_hold )
2654+
2655+ def test_event_based_hold_getter_true (self ):
2656+ BLOB_NAME = 'blob-name'
2657+ bucket = _Bucket ()
2658+ properties = {'eventBasedHold' : True }
2659+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2660+ self .assertTrue (blob .event_based_hold )
2661+
2662+ def test_event_based_hold_setter (self ):
2663+ BLOB_NAME = 'blob-name'
2664+ bucket = _Bucket ()
2665+ blob = self ._make_one (BLOB_NAME , bucket = bucket )
2666+ self .assertIsNone (blob .event_based_hold )
2667+ blob .event_based_hold = True
2668+ self .assertEqual (blob .event_based_hold , True )
2669+
26412670 def test_generation (self ):
26422671 BUCKET = object ()
26432672 GENERATION = 42
@@ -2737,6 +2766,23 @@ def test_owner(self):
27372766 self .assertEqual (owner ['entity' ], 'project-owner-12345' )
27382767 self .assertEqual (owner ['entityId' ], '23456' )
27392768
2769+ def test_retention_expiration_time (self ):
2770+ from google .cloud ._helpers import _RFC3339_MICROS
2771+ from google .cloud ._helpers import UTC
2772+
2773+ BLOB_NAME = 'blob-name'
2774+ bucket = _Bucket ()
2775+ TIMESTAMP = datetime .datetime (2014 , 11 , 5 , 20 , 34 , 37 , tzinfo = UTC )
2776+ TIME_CREATED = TIMESTAMP .strftime (_RFC3339_MICROS )
2777+ properties = {'retentionExpirationTime' : TIME_CREATED }
2778+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2779+ self .assertEqual (blob .retention_expiration_time , TIMESTAMP )
2780+
2781+ def test_retention_expiration_time_unset (self ):
2782+ BUCKET = object ()
2783+ blob = self ._make_one ('blob-name' , bucket = BUCKET )
2784+ self .assertIsNone (blob .retention_expiration_time )
2785+
27402786 def test_self_link (self ):
27412787 BLOB_NAME = 'blob-name'
27422788 bucket = _Bucket ()
@@ -2782,6 +2828,35 @@ def test_storage_class_setter(self):
27822828 self .assertEqual (blob .storage_class , storage_class )
27832829 self .assertEqual (blob ._properties , {'storageClass' : storage_class })
27842830
2831+ def test_temporary_hold_getter_missing (self ):
2832+ BLOB_NAME = 'blob-name'
2833+ bucket = _Bucket ()
2834+ properties = {}
2835+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2836+ self .assertIsNone (blob .temporary_hold )
2837+
2838+ def test_temporary_hold_getter_false (self ):
2839+ BLOB_NAME = 'blob-name'
2840+ bucket = _Bucket ()
2841+ properties = {'temporaryHold' : False }
2842+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2843+ self .assertFalse (blob .temporary_hold )
2844+
2845+ def test_temporary_hold_getter_true (self ):
2846+ BLOB_NAME = 'blob-name'
2847+ bucket = _Bucket ()
2848+ properties = {'temporaryHold' : True }
2849+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2850+ self .assertTrue (blob .temporary_hold )
2851+
2852+ def test_temporary_hold_setter (self ):
2853+ BLOB_NAME = 'blob-name'
2854+ bucket = _Bucket ()
2855+ blob = self ._make_one (BLOB_NAME , bucket = bucket )
2856+ self .assertIsNone (blob .temporary_hold )
2857+ blob .temporary_hold = True
2858+ self .assertEqual (blob .temporary_hold , True )
2859+
27852860 def test_time_deleted (self ):
27862861 from google .cloud ._helpers import _RFC3339_MICROS
27872862 from google .cloud ._helpers import UTC
0 commit comments