|
24 | 24 |
|
25 | 25 | import pyiceberg |
26 | 26 | from pyiceberg.catalog import PropertiesUpdateSummary, load_catalog |
27 | | -from pyiceberg.catalog.rest import OAUTH2_SERVER_URI, RestCatalog |
| 27 | +from pyiceberg.catalog.rest import OAUTH2_SERVER_URI, RestCatalog, SNAPSHOT_LOADING_MODE |
28 | 28 | from pyiceberg.exceptions import ( |
29 | 29 | AuthorizationExpiredError, |
30 | 30 | NamespaceAlreadyExistsError, |
@@ -852,6 +852,28 @@ def test_load_table_200(rest_mock: Mocker, example_table_metadata_with_snapshot_ |
852 | 852 | assert actual.metadata.model_dump() == expected.metadata.model_dump() |
853 | 853 | assert actual == expected |
854 | 854 |
|
| 855 | +def test_load_table_200_loading_mode(rest_mock: Mocker, example_table_metadata_with_snapshot_v1_rest_json: Dict[str, Any]) -> None: |
| 856 | + rest_mock.get( |
| 857 | + f"{TEST_URI}v1/namespaces/fokko/tables/table?snapshots=refs", |
| 858 | + json=example_table_metadata_with_snapshot_v1_rest_json, |
| 859 | + status_code=200, |
| 860 | + request_headers=TEST_HEADERS, |
| 861 | + ) |
| 862 | + catalog = RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN, **{ |
| 863 | + SNAPSHOT_LOADING_MODE: 'refs' |
| 864 | + }) |
| 865 | + actual = catalog.load_table(("fokko", "table")) |
| 866 | + expected = Table( |
| 867 | + identifier=("fokko", "table"), |
| 868 | + metadata_location=example_table_metadata_with_snapshot_v1_rest_json["metadata-location"], |
| 869 | + metadata=TableMetadataV1(**example_table_metadata_with_snapshot_v1_rest_json["metadata"]), |
| 870 | + io=load_file_io(), |
| 871 | + catalog=catalog, |
| 872 | + ) |
| 873 | + # First compare the dicts |
| 874 | + assert actual.metadata.model_dump() == expected.metadata.model_dump() |
| 875 | + assert actual == expected |
| 876 | + |
855 | 877 |
|
856 | 878 | def test_load_table_honor_access_delegation( |
857 | 879 | rest_mock: Mocker, example_table_metadata_with_snapshot_v1_rest_json: Dict[str, Any] |
|
0 commit comments