|
29 | 29 | AuthorizationExpiredError, |
30 | 30 | NamespaceAlreadyExistsError, |
31 | 31 | NamespaceNotEmptyError, |
| 32 | + NoSuchIdentifierError, |
32 | 33 | NoSuchNamespaceError, |
33 | 34 | NoSuchTableError, |
| 35 | + NoSuchViewError, |
34 | 36 | OAuthError, |
35 | 37 | ServerError, |
36 | 38 | TableAlreadyExistsError, |
@@ -1158,31 +1160,31 @@ def test_delete_table_404(rest_mock: Mocker) -> None: |
1158 | 1160 |
|
1159 | 1161 | def test_create_table_missing_namespace(rest_mock: Mocker, table_schema_simple: Schema) -> None: |
1160 | 1162 | table = "table" |
1161 | | - with pytest.raises(NoSuchTableError) as e: |
| 1163 | + with pytest.raises(NoSuchIdentifierError) as e: |
1162 | 1164 | # Missing namespace |
1163 | 1165 | RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).create_table(table, table_schema_simple) |
1164 | 1166 | assert f"Missing namespace or invalid identifier: {table}" in str(e.value) |
1165 | 1167 |
|
1166 | 1168 |
|
1167 | 1169 | def test_load_table_invalid_namespace(rest_mock: Mocker) -> None: |
1168 | 1170 | table = "table" |
1169 | | - with pytest.raises(NoSuchTableError) as e: |
| 1171 | + with pytest.raises(NoSuchIdentifierError) as e: |
1170 | 1172 | # Missing namespace |
1171 | 1173 | RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).load_table(table) |
1172 | 1174 | assert f"Missing namespace or invalid identifier: {table}" in str(e.value) |
1173 | 1175 |
|
1174 | 1176 |
|
1175 | 1177 | def test_drop_table_invalid_namespace(rest_mock: Mocker) -> None: |
1176 | 1178 | table = "table" |
1177 | | - with pytest.raises(NoSuchTableError) as e: |
| 1179 | + with pytest.raises(NoSuchIdentifierError) as e: |
1178 | 1180 | # Missing namespace |
1179 | 1181 | RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).drop_table(table) |
1180 | 1182 | assert f"Missing namespace or invalid identifier: {table}" in str(e.value) |
1181 | 1183 |
|
1182 | 1184 |
|
1183 | 1185 | def test_purge_table_invalid_namespace(rest_mock: Mocker) -> None: |
1184 | 1186 | table = "table" |
1185 | | - with pytest.raises(NoSuchTableError) as e: |
| 1187 | + with pytest.raises(NoSuchIdentifierError) as e: |
1186 | 1188 | # Missing namespace |
1187 | 1189 | RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).purge_table(table) |
1188 | 1190 | assert f"Missing namespace or invalid identifier: {table}" in str(e.value) |
@@ -1307,3 +1309,41 @@ def test_table_identifier_in_commit_table_request(rest_mock: Mocker, example_tab |
1307 | 1309 | rest_mock.last_request.text |
1308 | 1310 | == """{"identifier":{"namespace":["namespace"],"name":"table_name"},"requirements":[],"updates":[]}""" |
1309 | 1311 | ) |
| 1312 | + |
| 1313 | + |
| 1314 | +def test_drop_view_invalid_namespace(rest_mock: Mocker) -> None: |
| 1315 | + view = "view" |
| 1316 | + with pytest.raises(NoSuchIdentifierError) as e: |
| 1317 | + # Missing namespace |
| 1318 | + RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).drop_view(view) |
| 1319 | + |
| 1320 | + assert f"Missing namespace or invalid identifier: {view}" in str(e.value) |
| 1321 | + |
| 1322 | + |
| 1323 | +def test_drop_view_404(rest_mock: Mocker) -> None: |
| 1324 | + rest_mock.delete( |
| 1325 | + f"{TEST_URI}v1/namespaces/some_namespace/views/does_not_exists", |
| 1326 | + json={ |
| 1327 | + "error": { |
| 1328 | + "message": "The given view does not exist", |
| 1329 | + "type": "NoSuchViewException", |
| 1330 | + "code": 404, |
| 1331 | + } |
| 1332 | + }, |
| 1333 | + status_code=404, |
| 1334 | + request_headers=TEST_HEADERS, |
| 1335 | + ) |
| 1336 | + |
| 1337 | + with pytest.raises(NoSuchViewError) as e: |
| 1338 | + RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).drop_view(("some_namespace", "does_not_exists")) |
| 1339 | + assert "The given view does not exist" in str(e.value) |
| 1340 | + |
| 1341 | + |
| 1342 | +def test_drop_view_204(rest_mock: Mocker) -> None: |
| 1343 | + rest_mock.delete( |
| 1344 | + f"{TEST_URI}v1/namespaces/some_namespace/views/some_view", |
| 1345 | + json={}, |
| 1346 | + status_code=204, |
| 1347 | + request_headers=TEST_HEADERS, |
| 1348 | + ) |
| 1349 | + RestCatalog("rest", uri=TEST_URI, token=TEST_TOKEN).drop_view(("some_namespace", "some_view")) |
0 commit comments