From 8738eb6aeef1e74429cc205c13015a5983ba345a Mon Sep 17 00:00:00 2001 From: heisdinesh Date: Thu, 26 Feb 2026 14:16:41 +0530 Subject: [PATCH] refactor: remove generic 'Enum' endpoints #605 - Exclude generic EnumRouter instances from router registration to remove endpoints like /keywords and /pysical_entities. - Retain TaxonomyRouter endpoints and internal NamedRelation normalization logic. - Rename test_license_router.py to test_enum_routers.py and add verification for 404 responses on removed endpoints. --- src/routers/enum_routers/__init__.py | 4 +--- .../{test_license_router.py => test_enum_routers.py} | 10 ++++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) rename src/tests/routers/enum_routers/{test_license_router.py => test_enum_routers.py} (62%) diff --git a/src/routers/enum_routers/__init__.py b/src/routers/enum_routers/__init__.py index a20740799..f70f51e90 100644 --- a/src/routers/enum_routers/__init__.py +++ b/src/routers/enum_routers/__init__.py @@ -16,6 +16,4 @@ __named_relations = sorted(non_abstract_subclasses(NamedRelation), key=lambda n: n.__tablename__) __enum_relations = (n for n in __named_relations if n.__tablename__ not in __exclusion_list) -router_list: list[EnumRouter] = [EnumRouter(n) for n in __enum_relations] + [ - TaxonomyRouter(n) for n in __taxonomy_relations -] +router_list: list[TaxonomyRouter] = [TaxonomyRouter(n) for n in __taxonomy_relations] diff --git a/src/tests/routers/enum_routers/test_license_router.py b/src/tests/routers/enum_routers/test_enum_routers.py similarity index 62% rename from src/tests/routers/enum_routers/test_license_router.py rename to src/tests/routers/enum_routers/test_enum_routers.py index cd3b09a59..cd76ba1e7 100644 --- a/src/tests/routers/enum_routers/test_license_router.py +++ b/src/tests/routers/enum_routers/test_enum_routers.py @@ -3,7 +3,7 @@ from versioning import Version -def test_taxonomy_router(client: TestClient): +def test_taxonomy_router_news_categories(client: TestClient): response = client.get("/news_categories") assert response.status_code == 200, response.json() terms = {item["term"] for item in response.json()} @@ -11,8 +11,14 @@ def test_taxonomy_router(client: TestClient): @pytest.mark.versions(Version.V2) -def test_taxonomy_router_v2(client: TestClient): +def test_taxonomy_router_news_categories_v2(client: TestClient): response = client.get("/news_categorys") assert response.status_code == 200, response.json() terms = {item["term"] for item in response.json()} assert terms.issuperset({"Education"}) + + +def test_enum_router_removed(client: TestClient): + # keywords was a generic enum previously exposed + response = client.get("/keywords") + assert response.status_code == 404