Skip to content

Commit a834d1b

Browse files
author
Gurov Ilya
authored
fix(storage): fix blob metadata to None regression (#60)
1 parent 8712da8 commit a834d1b

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

google/cloud/storage/blob.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1986,9 +1986,10 @@ def metadata(self, value):
19861986
See https://cloud.google.com/storage/docs/json_api/v1/objects
19871987
19881988
:type value: dict
1989-
:param value: (Optional) The blob metadata to set.
1989+
:param value: The blob metadata to set.
19901990
"""
1991-
value = {k: str(v) for k, v in value.items()}
1991+
if value is not None:
1992+
value = {k: str(v) for k, v in value.items()}
19921993
self._patch_property("metadata", value)
19931994

19941995
@property

tests/unit/test_blob.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1215,6 +1215,16 @@ def test__get_writable_metadata_unwritable_field(self):
12151215
expected = {"name": name}
12161216
self.assertEqual(object_metadata, expected)
12171217

1218+
def test__set_metadata_to_none(self):
1219+
name = u"blob-name"
1220+
blob = self._make_one(name, bucket=None)
1221+
blob.storage_class = "NEARLINE"
1222+
blob.cache_control = "max-age=3600"
1223+
1224+
with mock.patch("google.cloud.storage.blob.Blob._patch_property") as patch_prop:
1225+
blob.metadata = None
1226+
patch_prop.assert_called_once_with("metadata", None)
1227+
12181228
def test__get_upload_arguments(self):
12191229
name = u"blob-name"
12201230
key = b"[pXw@,p@@AfBfrR3x-2b2SCHR,.?YwRO"

0 commit comments

Comments
 (0)