@@ -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