Skip to content

Commit 5b7a160

Browse files
Gayathri Srividya RajavarapuGayathri Srividya Rajavarapu
authored andcommitted
fix: cast TableMetadata to TableMetadataCommonFields in tests for mypy lint compliance
1 parent 37c52ee commit 5b7a160

3 files changed

Lines changed: 51 additions & 2 deletions

File tree

tests/table/test_init.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,12 @@ def test_update_metadata_add_snapshot(table_v2: Table) -> None:
824824
)
825825

826826
new_metadata = update_table_metadata(table_v2.metadata, (AddSnapshotUpdate(snapshot=new_snapshot),))
827+
# Cast to TableMetadataCommonFields to satisfy mypy
828+
from typing import cast
829+
830+
from pyiceberg.table.metadata import TableMetadataCommonFields
831+
832+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
827833
assert len(new_metadata.snapshots) == 3
828834
assert new_metadata.snapshots[-1] == new_snapshot
829835
assert new_metadata.last_sequence_number == new_snapshot.sequence_number
@@ -841,6 +847,11 @@ def test_update_metadata_set_ref_snapshot(table_v2: Table) -> None:
841847
)
842848

843849
new_metadata = update_table_metadata(table_v2.metadata, update)
850+
from typing import cast
851+
852+
from pyiceberg.table.metadata import TableMetadataCommonFields
853+
854+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
844855
assert len(new_metadata.snapshot_log) == 3
845856
assert new_metadata.snapshot_log[2].snapshot_id == 3051729675574597004
846857
assert new_metadata.current_snapshot_id == 3051729675574597004
@@ -865,6 +876,11 @@ def test_update_metadata_set_snapshot_ref(table_v2: Table) -> None:
865876
)
866877

867878
new_metadata = update_table_metadata(table_v2.metadata, (update,))
879+
from typing import cast
880+
881+
from pyiceberg.table.metadata import TableMetadataCommonFields
882+
883+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
868884
assert len(new_metadata.snapshot_log) == 3
869885
assert new_metadata.snapshot_log[2].snapshot_id == 3051729675574597004
870886
assert new_metadata.current_snapshot_id == 3051729675574597004
@@ -887,6 +903,11 @@ def test_update_remove_snapshots(table_v2: Table) -> None:
887903
assert len(table_v2.metadata.refs) == 2
888904
update = RemoveSnapshotsUpdate(snapshot_ids=[REMOVE_SNAPSHOT])
889905
new_metadata = update_table_metadata(table_v2.metadata, (update,))
906+
from typing import cast
907+
908+
from pyiceberg.table.metadata import TableMetadataCommonFields
909+
910+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
890911
assert len(new_metadata.snapshots) == 1
891912
assert new_metadata.snapshots[0].snapshot_id == KEEP_SNAPSHOT
892913
assert new_metadata.snapshots[0].parent_snapshot_id is None
@@ -909,6 +930,11 @@ def test_update_remove_snapshots_doesnt_exist(table_v2: Table) -> None:
909930
def test_update_remove_snapshots_remove_current_snapshot_id(table_v2: Table) -> None:
910931
update = RemoveSnapshotsUpdate(snapshot_ids=[3055729675574597004])
911932
new_metadata = update_table_metadata(table_v2.metadata, (update,))
933+
from typing import cast
934+
935+
from pyiceberg.table.metadata import TableMetadataCommonFields
936+
937+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
912938
assert len(new_metadata.refs) == 1
913939
assert new_metadata.refs["test"].snapshot_id == 3051729675574597004
914940
assert new_metadata.current_snapshot_id is None
@@ -919,6 +945,11 @@ def test_update_remove_snapshot_ref(table_v2: Table) -> None:
919945
assert len(table_v2.metadata.refs) == 2
920946
update = RemoveSnapshotRefUpdate(ref_name="test")
921947
new_metadata = update_table_metadata(table_v2.metadata, (update,))
948+
from typing import cast
949+
950+
from pyiceberg.table.metadata import TableMetadataCommonFields
951+
952+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
922953
assert len(new_metadata.refs) == 1
923954
assert new_metadata.refs["main"].snapshot_id == 3055729675574597004
924955

@@ -929,6 +960,11 @@ def test_update_metadata_add_update_sort_order(table_v2: Table) -> None:
929960
table_v2.metadata,
930961
(AddSortOrderUpdate(sort_order=new_sort_order), SetDefaultSortOrderUpdate(sort_order_id=-1)),
931962
)
963+
from typing import cast
964+
965+
from pyiceberg.table.metadata import TableMetadataCommonFields
966+
967+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
932968
assert len(new_metadata.sort_orders) == 2
933969
assert new_metadata.sort_orders[-1] == new_sort_order
934970
assert new_metadata.default_sort_order_id == new_sort_order.order_id
@@ -984,6 +1020,11 @@ def test_update_metadata_with_multiple_updates(table_v1: Table) -> None:
9841020
new_metadata = update_table_metadata(base_metadata, test_updates)
9851021
# rebuild the metadata to trigger validation
9861022
new_metadata = TableMetadataUtil.parse_obj(copy(new_metadata.model_dump()))
1023+
from typing import cast
1024+
1025+
from pyiceberg.table.metadata import TableMetadataCommonFields
1026+
1027+
new_metadata = cast(TableMetadataCommonFields, new_metadata)
9871028

9881029
# UpgradeFormatVersionUpdate
9891030
assert new_metadata.format_version == 2

tests/table/test_metadata.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ def test_from_byte_stream(example_table_metadata_v2: dict[str, Any]) -> None:
8686

8787
def test_v2_metadata_parsing(example_table_metadata_v2: dict[str, Any]) -> None:
8888
"""Test retrieving values from a TableMetadata instance of version 2"""
89-
table_metadata = TableMetadataUtil.parse_obj(example_table_metadata_v2)
89+
from typing import cast
90+
91+
from pyiceberg.table.metadata import TableMetadataCommonFields
92+
93+
table_metadata = cast(TableMetadataCommonFields, TableMetadataUtil.parse_obj(example_table_metadata_v2))
9094

9195
assert table_metadata.format_version == 2
9296
assert table_metadata.table_uuid == UUID("9c12d441-03fe-4693-9a96-a0705ddf69c1")

tests/table/test_sorting.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@ def test_deserialize_sort_order(sort_order: SortOrder) -> None:
7777

7878

7979
def test_sorting_schema(example_table_metadata_v2: dict[str, Any]) -> None:
80-
table_metadata = TableMetadataUtil.parse_raw(json.dumps(example_table_metadata_v2))
80+
from typing import cast
81+
82+
from pyiceberg.table.metadata import TableMetadataCommonFields
83+
84+
table_metadata = cast(TableMetadataCommonFields, TableMetadataUtil.parse_raw(json.dumps(example_table_metadata_v2)))
8185

8286
assert table_metadata.sort_orders == [
8387
SortOrder(

0 commit comments

Comments
 (0)