From 062235c27075951db451cfcfd26e33350efdc7ba Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Mon, 5 Nov 2018 13:16:17 -0500 Subject: [PATCH] Accomodate new back-end restriction on retention period. (#6388) Closes #6368. --- storage/google/cloud/storage/bucket.py | 5 +++-- storage/tests/unit/test_bucket.py | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/storage/google/cloud/storage/bucket.py b/storage/google/cloud/storage/bucket.py index 1163de8f8452..9f235d309c85 100644 --- a/storage/google/cloud/storage/bucket.py +++ b/storage/google/cloud/storage/bucket.py @@ -1352,8 +1352,9 @@ def retention_period(self, value): """ policy = self._properties.setdefault('retentionPolicy', {}) if value is not None: - value = str(value) - policy['retentionPeriod'] = value + policy['retentionPeriod'] = str(value) + else: + policy = None self._patch_property('retentionPolicy', policy) @property diff --git a/storage/tests/unit/test_bucket.py b/storage/tests/unit/test_bucket.py index 0b7fa8762a58..d9295991fe0f 100644 --- a/storage/tests/unit/test_bucket.py +++ b/storage/tests/unit/test_bucket.py @@ -1597,13 +1597,14 @@ def test_retention_period_getter(self): def test_retention_period_setter_w_none(self): period = 86400 * 100 # 100 days bucket = self._make_one() - policy = bucket._properties['retentionPolicy'] = {} - policy['retentionPeriod'] = period + bucket._properties['retentionPolicy'] = { + 'retentionPeriod': period, + } bucket.retention_period = None self.assertIsNone( - bucket._properties['retentionPolicy']['retentionPeriod']) + bucket._properties['retentionPolicy']) def test_retention_period_setter_w_int(self): period = 86400 * 100 # 100 days