@@ -2669,6 +2669,35 @@ def test_etag(self):
26692669 blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
26702670 self .assertEqual (blob .etag , ETAG )
26712671
2672+ def test_event_based_hold_getter_missing (self ):
2673+ BLOB_NAME = 'blob-name'
2674+ bucket = _Bucket ()
2675+ properties = {}
2676+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2677+ self .assertIsNone (blob .event_based_hold )
2678+
2679+ def test_event_based_hold_getter_false (self ):
2680+ BLOB_NAME = 'blob-name'
2681+ bucket = _Bucket ()
2682+ properties = {'eventBasedHold' : False }
2683+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2684+ self .assertFalse (blob .event_based_hold )
2685+
2686+ def test_event_based_hold_getter_true (self ):
2687+ BLOB_NAME = 'blob-name'
2688+ bucket = _Bucket ()
2689+ properties = {'eventBasedHold' : True }
2690+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2691+ self .assertTrue (blob .event_based_hold )
2692+
2693+ def test_event_based_hold_setter (self ):
2694+ BLOB_NAME = 'blob-name'
2695+ bucket = _Bucket ()
2696+ blob = self ._make_one (BLOB_NAME , bucket = bucket )
2697+ self .assertIsNone (blob .event_based_hold )
2698+ blob .event_based_hold = True
2699+ self .assertEqual (blob .event_based_hold , True )
2700+
26722701 def test_generation (self ):
26732702 BUCKET = object ()
26742703 GENERATION = 42
@@ -2768,6 +2797,23 @@ def test_owner(self):
27682797 self .assertEqual (owner ['entity' ], 'project-owner-12345' )
27692798 self .assertEqual (owner ['entityId' ], '23456' )
27702799
2800+ def test_retention_expiration_time (self ):
2801+ from google .cloud ._helpers import _RFC3339_MICROS
2802+ from google .cloud ._helpers import UTC
2803+
2804+ BLOB_NAME = 'blob-name'
2805+ bucket = _Bucket ()
2806+ TIMESTAMP = datetime .datetime (2014 , 11 , 5 , 20 , 34 , 37 , tzinfo = UTC )
2807+ TIME_CREATED = TIMESTAMP .strftime (_RFC3339_MICROS )
2808+ properties = {'retentionExpirationTime' : TIME_CREATED }
2809+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2810+ self .assertEqual (blob .retention_expiration_time , TIMESTAMP )
2811+
2812+ def test_retention_expiration_time_unset (self ):
2813+ BUCKET = object ()
2814+ blob = self ._make_one ('blob-name' , bucket = BUCKET )
2815+ self .assertIsNone (blob .retention_expiration_time )
2816+
27712817 def test_self_link (self ):
27722818 BLOB_NAME = 'blob-name'
27732819 bucket = _Bucket ()
@@ -2813,6 +2859,35 @@ def test_storage_class_setter(self):
28132859 self .assertEqual (blob .storage_class , storage_class )
28142860 self .assertEqual (blob ._properties , {'storageClass' : storage_class })
28152861
2862+ def test_temporary_hold_getter_missing (self ):
2863+ BLOB_NAME = 'blob-name'
2864+ bucket = _Bucket ()
2865+ properties = {}
2866+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2867+ self .assertIsNone (blob .temporary_hold )
2868+
2869+ def test_temporary_hold_getter_false (self ):
2870+ BLOB_NAME = 'blob-name'
2871+ bucket = _Bucket ()
2872+ properties = {'temporaryHold' : False }
2873+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2874+ self .assertFalse (blob .temporary_hold )
2875+
2876+ def test_temporary_hold_getter_true (self ):
2877+ BLOB_NAME = 'blob-name'
2878+ bucket = _Bucket ()
2879+ properties = {'temporaryHold' : True }
2880+ blob = self ._make_one (BLOB_NAME , bucket = bucket , properties = properties )
2881+ self .assertTrue (blob .temporary_hold )
2882+
2883+ def test_temporary_hold_setter (self ):
2884+ BLOB_NAME = 'blob-name'
2885+ bucket = _Bucket ()
2886+ blob = self ._make_one (BLOB_NAME , bucket = bucket )
2887+ self .assertIsNone (blob .temporary_hold )
2888+ blob .temporary_hold = True
2889+ self .assertEqual (blob .temporary_hold , True )
2890+
28162891 def test_time_deleted (self ):
28172892 from google .cloud ._helpers import _RFC3339_MICROS
28182893 from google .cloud ._helpers import UTC
0 commit comments