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