"""Search consolidation regression tests. ``src.search`` is still a public import path for agent/deep-research code, but core/provider behavior should come from the services.search implementation. """ import importlib def test_src_search_core_aliases_services_core(): src_core = importlib.import_module("src.search.core") service_core = importlib.import_module("services.search.core") assert src_core is service_core assert src_core.comprehensive_web_search is service_core.comprehensive_web_search assert src_core.invalidate_search_cache is service_core.invalidate_search_cache def test_src_search_providers_aliases_services_providers(): src_providers = importlib.import_module("src.search.providers") service_providers = importlib.import_module("services.search.providers") assert src_providers is service_providers assert src_providers._resolve_ddg_redirect is service_providers._resolve_ddg_redirect assert src_providers._safesearch_for is service_providers._safesearch_for def test_src_search_package_exports_still_resolve(): import src.search as search import services.search as service_search assert search.comprehensive_web_search is service_search.comprehensive_web_search assert search.searxng_search_results is service_search.searxng_search_results assert search.searxng_search_api is service_search.searxng_search_api assert search.PROVIDER_INFO is service_search.PROVIDER_INFO def test_src_search_cache_content_query_alias_services(): for name in ("cache", "content", "query"): src_mod = importlib.import_module(f"src.search.{name}") svc_mod = importlib.import_module(f"services.search.{name}") assert src_mod is svc_mod, f"src.search.{name} should alias services.search.{name}"