Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -577,3 +577,9 @@ async def close(self):
@property
def is_stream_open(self) -> bool:
return self._is_stream_open

@property
def object_metadata(self) -> Optional[_storage_v2.Object]:
"""The metadata of the object being downloaded."""
stream = getattr(self, "read_obj_str", None)
return stream.object_metadata if stream else None
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ async def _make_mock_mrd(
mock_stream.generation_number = _TEST_GENERATION_NUMBER
mock_stream.persisted_size = _TEST_OBJECT_SIZE
mock_stream.read_handle = _TEST_READ_HANDLE
mock_stream.object_metadata = mock.Mock()

mrd = await AsyncMultiRangeDownloader.create_mrd(
mock_client, bucket_name, object_name, generation, read_handle
Expand Down Expand Up @@ -93,6 +94,7 @@ async def test_create_mrd(self, mock_cls_async_read_object_stream):
assert mrd.read_handle == _TEST_READ_HANDLE
assert mrd.persisted_size == _TEST_OBJECT_SIZE
assert mrd.is_stream_open
assert mrd.object_metadata == mrd.read_obj_str.object_metadata
assert mrd._open_retries == 0

@mock.patch(
Expand Down Expand Up @@ -275,6 +277,7 @@ async def test_close_mrd(self, mock_cls_async_read_object_stream):

# Assert
assert not mrd.is_stream_open
assert mrd.object_metadata is None

@pytest.mark.asyncio
async def test_close_mrd_not_opened_should_throw_error(self):
Expand Down
Loading