Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Commit d9b1923

Browse files
authored
chore: add depreciation warning for generation_number (#1740)
Add a warning that generation_number will be deprecated in the next major release.
1 parent 2231120 commit d9b1923

3 files changed

Lines changed: 6 additions & 54 deletions

File tree

google/cloud/storage/asyncio/async_multi_range_downloader.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ def __init__(
208208
"Cannot set both 'generation' and 'generation_number'. "
209209
"Use 'generation' for new code."
210210
)
211+
logger.warning(
212+
"'generation_number' is deprecated and will be removed in a future "
213+
"major release. Please use 'generation' instead."
214+
)
211215
generation = kwargs.pop("generation_number")
212216

213217
raise_if_no_fast_crc32c()

tests/system/test_zonal.py

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -601,56 +601,3 @@ async def _run():
601601
gc.collect()
602602

603603
event_loop.run_until_complete(_run())
604-
605-
def test_get_object_after_appendable_write(
606-
grpc_clients,
607-
grpc_client_direct,
608-
event_loop,
609-
storage_client,
610-
blobs_to_delete,
611-
):
612-
"""Test getting object metadata after writing with AsyncAppendableObjectWriter.
613-
614-
This test:
615-
1. Creates a test object using AsyncAppendableObjectWriter
616-
2. Appends content to the object (without finalizing)
617-
3. Closes the write stream
618-
4. Fetches the object metadata using AsyncGrpcClient.get_object()
619-
5. Verifies the object size matches the written data
620-
"""
621-
622-
async def _run():
623-
grpc_client = grpc_client_direct
624-
object_name = f"test-get-object-{uuid.uuid4().hex}"
625-
test_data = b"Some test data bytes."
626-
expected_size = len(test_data)
627-
628-
writer = AsyncAppendableObjectWriter(
629-
grpc_client,
630-
_ZONAL_BUCKET,
631-
object_name,
632-
)
633-
634-
await writer.open()
635-
await writer.append(test_data)
636-
await writer.close(finalize_on_close=False)
637-
638-
obj = await grpc_client.get_object(
639-
bucket_name=_ZONAL_BUCKET,
640-
object_name=object_name,
641-
)
642-
643-
# Assert
644-
assert obj is not None
645-
assert obj.name == object_name
646-
assert obj.bucket == f"projects/_/buckets/{_ZONAL_BUCKET}"
647-
assert obj.size == expected_size, (
648-
f"Expected object size {expected_size}, got {obj.size}"
649-
)
650-
651-
# Cleanup
652-
blobs_to_delete.append(storage_client.bucket(_ZONAL_BUCKET).blob(object_name))
653-
del writer
654-
gc.collect()
655-
656-
event_loop.run_until_complete(_run())

tests/unit/asyncio/test_async_multi_range_downloader.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ async def close_side_effect():
407407
)
408408
@pytest.mark.asyncio
409409
async def test_create_mrd_with_generation_number(
410-
self, mock_cls_async_read_object_stream
410+
self, mock_cls_async_read_object_stream, caplog
411411
):
412412
# Arrange
413413
mock_client = mock.MagicMock()
@@ -430,6 +430,7 @@ async def test_create_mrd_with_generation_number(
430430

431431
# Assert
432432
assert mrd.generation == _TEST_GENERATION_NUMBER
433+
assert "'generation_number' is deprecated" in caplog.text
433434

434435
@pytest.mark.asyncio
435436
async def test_create_mrd_with_both_generation_and_generation_number(self):

0 commit comments

Comments
 (0)