Skip to content

Commit 7abb67a

Browse files
committed
remove direct import in conftest
1 parent 95f6273 commit 7abb67a

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

tests/conftest.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,8 @@
4949
from pytest_lazy_fixtures import lf
5050

5151
from pyiceberg.catalog import Catalog, load_catalog
52-
from pyiceberg.catalog.bigquery_metastore import BigQueryMetastoreCatalog
5352
from pyiceberg.catalog.dynamodb import DynamoDbCatalog
5453
from pyiceberg.catalog.glue import GlueCatalog
55-
from pyiceberg.catalog.hive import HiveCatalog
5654
from pyiceberg.catalog.memory import InMemoryCatalog
5755
from pyiceberg.catalog.noop import NoopCatalog
5856
from pyiceberg.catalog.rest import RestCatalog
@@ -3154,46 +3152,52 @@ def test_table_properties() -> dict[str, str]:
31543152
def does_support_purge_table(catalog: Catalog) -> bool:
31553153
if isinstance(catalog, RestCatalog):
31563154
return property_as_bool(catalog.properties, "supports_purge_table", True)
3157-
if isinstance(catalog, (HiveCatalog, NoopCatalog)):
3155+
if _has_catalog_class_name(catalog, "HiveCatalog") or isinstance(catalog, NoopCatalog):
31583156
return False
31593157
return True
31603158

31613159

31623160
def does_support_atomic_concurrent_updates(catalog: Catalog) -> bool:
31633161
if isinstance(catalog, RestCatalog):
31643162
return property_as_bool(catalog.properties, "supports_atomic_concurrent_updates", True)
3165-
if isinstance(catalog, (HiveCatalog, NoopCatalog)):
3163+
if _has_catalog_class_name(catalog, "HiveCatalog") or isinstance(catalog, NoopCatalog):
31663164
return False
31673165
return True
31683166

31693167

31703168
def does_support_nested_namespaces(catalog: Catalog) -> bool:
31713169
if isinstance(catalog, RestCatalog):
31723170
return property_as_bool(catalog.properties, "supports_nested_namespaces", True)
3173-
if isinstance(catalog, (HiveCatalog, NoopCatalog, GlueCatalog, BigQueryMetastoreCatalog, DynamoDbCatalog)):
3171+
if _has_catalog_class_name(catalog, "HiveCatalog", "BigQueryMetastoreCatalog") or isinstance(
3172+
catalog, (NoopCatalog, GlueCatalog, DynamoDbCatalog)
3173+
):
31743174
return False
31753175
return True
31763176

31773177

31783178
def does_support_schema_evolution(catalog: Catalog) -> bool:
31793179
if isinstance(catalog, RestCatalog):
31803180
return property_as_bool(catalog.properties, "supports_schema_evolution", True)
3181-
if isinstance(catalog, (HiveCatalog, NoopCatalog)):
3181+
if _has_catalog_class_name(catalog, "HiveCatalog") or isinstance(catalog, NoopCatalog):
31823182
return False
31833183
return True
31843184

31853185

31863186
def does_support_slash_in_identifier(catalog: Catalog) -> bool:
31873187
if isinstance(catalog, RestCatalog):
31883188
return property_as_bool(catalog.properties, "supports_slash_in_identifier", True)
3189-
if isinstance(catalog, (HiveCatalog, NoopCatalog, SqlCatalog)):
3189+
if _has_catalog_class_name(catalog, "HiveCatalog") or isinstance(catalog, (NoopCatalog, SqlCatalog)):
31903190
return False
31913191
return True
31923192

31933193

31943194
def does_support_dot_in_identifier(catalog: Catalog) -> bool:
31953195
if isinstance(catalog, RestCatalog):
31963196
return property_as_bool(catalog.properties, "supports_dot_in_identifier", True)
3197-
if isinstance(catalog, (HiveCatalog, NoopCatalog, SqlCatalog)):
3197+
if _has_catalog_class_name(catalog, "HiveCatalog") or isinstance(catalog, (NoopCatalog, SqlCatalog)):
31983198
return False
31993199
return True
3200+
3201+
3202+
def _has_catalog_class_name(catalog: Catalog, *class_names: str) -> bool:
3203+
return any(base.__name__ in class_names for base in type(catalog).__mro__)

0 commit comments

Comments
 (0)