diff --git a/storage/google/cloud/storage/bucket.py b/storage/google/cloud/storage/bucket.py index 9829f3b6d7c9..419063f7910a 100644 --- a/storage/google/cloud/storage/bucket.py +++ b/storage/google/cloud/storage/bucket.py @@ -1347,8 +1347,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 8ee3fafd8239..abb7488c6f7a 100644 --- a/storage/tests/unit/test_bucket.py +++ b/storage/tests/unit/test_bucket.py @@ -1573,13 +1573,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