2024-03-18 14:59:18 -07:00
|
|
|
import pytest
|
2023-02-20 18:41:12 +05:30
|
|
|
import setuptools
|
|
|
|
|
2025-01-24 11:35:39 -08:00
|
|
|
from datahub.testing.check_imports import (
|
|
|
|
ban_direct_datahub_imports,
|
|
|
|
ensure_no_indirect_model_imports,
|
|
|
|
)
|
2024-09-04 08:09:36 -07:00
|
|
|
from datahub.testing.check_str_enum import ensure_no_enum_mixin
|
2024-03-18 14:59:18 -07:00
|
|
|
|
2023-02-20 18:41:12 +05:30
|
|
|
|
|
|
|
def test_package_list_match_inits():
|
|
|
|
where = "./src"
|
|
|
|
package_list = set(setuptools.find_packages(where))
|
|
|
|
namespace_packages = set(setuptools.find_namespace_packages(where))
|
|
|
|
assert package_list == namespace_packages, "are you missing a package init file?"
|
2024-03-18 14:59:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
def test_check_import_paths(pytestconfig: pytest.Config) -> None:
|
|
|
|
root = pytestconfig.rootpath
|
|
|
|
|
|
|
|
ensure_no_indirect_model_imports([root / "src", root / "tests"])
|
2025-01-24 11:35:39 -08:00
|
|
|
ban_direct_datahub_imports([root / "src", root / "tests"])
|
2024-09-04 08:09:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
def test_check_str_enum_usage(pytestconfig: pytest.Config) -> None:
|
|
|
|
root = pytestconfig.rootpath
|
|
|
|
|
|
|
|
ensure_no_enum_mixin([root / "src", root / "tests"])
|