Skip to content

Commit 49cc29c

Browse files
committed
Fix: BlobWriter.close() will do nothing if already closed
1 parent 3d84972 commit 49cc29c

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

google/cloud/storage/fileio.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,9 +423,8 @@ def flush(self):
423423
)
424424

425425
def close(self):
426-
self._checkClosed() # Raises ValueError if closed.
427-
428-
self._upload_chunks_from_buffer(1)
426+
if not self._buffer.closed:
427+
self._upload_chunks_from_buffer(1)
429428
self._buffer.close()
430429

431430
def _checkClosed(self):

tests/unit/test_fileio.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,9 @@ def test_write(self, mock_warn):
402402
stacklevel=2,
403403
)
404404

405+
# Close a second time to verify it successfully does nothing.
406+
writer.close()
407+
405408
def test_flush_fails(self):
406409
blob = mock.Mock(chunk_size=None)
407410
writer = self._make_blob_writer(blob)

0 commit comments

Comments
 (0)