From 0f6ac25b9254a70bdd77bf67fa24c4b9938734be Mon Sep 17 00:00:00 2001 From: Matthias De Lange Date: Mon, 9 Feb 2026 10:51:29 +0100 Subject: [PATCH] fix: import SkillSkape --- src/workrb/tasks/ranking/__init__.py | 1 + tests/test_import.py | 39 ++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/workrb/tasks/ranking/__init__.py b/src/workrb/tasks/ranking/__init__.py index 68c8fe6..ce13977 100644 --- a/src/workrb/tasks/ranking/__init__.py +++ b/src/workrb/tasks/ranking/__init__.py @@ -13,6 +13,7 @@ from workrb.tasks.ranking.skill2job import ESCOSkill2JobRanking from workrb.tasks.ranking.skill_extraction import ( HouseSkillExtractRanking, + SkillSkapeExtractRanking, TechSkillExtractRanking, ) from workrb.tasks.ranking.skill_similarity import SkillMatch1kSkillSimilarityRanking diff --git a/tests/test_import.py b/tests/test_import.py index e70ce44..e2dccf3 100644 --- a/tests/test_import.py +++ b/tests/test_import.py @@ -1,6 +1,10 @@ """Test basic import functionality.""" +import importlib + +from workrb import tasks from workrb.config import BenchmarkConfig +from workrb.registry import TaskRegistry from workrb.tasks import ( ESCOJob2SkillClassification, ESCOJob2SkillRanking, @@ -13,6 +17,7 @@ SkillMatch1kSkillSimilarityRanking, Task, TechSkillExtractRanking, + ranking, ) @@ -51,6 +56,40 @@ def test_task_ranking_imports(): print("✓ Successfully imported ranking task classes") +def test_task_package_exports(): + """Test that all registered tasks are imported into workrb.tasks.""" + TaskRegistry.auto_discover() + registered = TaskRegistry.list_available().values() + + missing = [] + for module_path in registered: + module_name, class_name = module_path.rsplit(".", 1) + module = importlib.import_module(module_name) + task_class = getattr(module, class_name) + if not hasattr(tasks, task_class.__name__): + missing.append(task_class.__name__) + + assert not missing, f"Missing task imports in workrb.tasks: {missing}" + + +def test_ranking_package_exports(): + """Test that all registered ranking tasks are imported into workrb.tasks.ranking.""" + TaskRegistry.auto_discover() + registered = TaskRegistry.list_available().values() + + missing = [] + for module_path in registered: + module_name, class_name = module_path.rsplit(".", 1) + if not module_name.startswith("workrb.tasks.ranking."): + continue + module = importlib.import_module(module_name) + task_class = getattr(module, class_name) + if not hasattr(ranking, task_class.__name__): + missing.append(task_class.__name__) + + assert not missing, f"Missing task imports in workrb.tasks.ranking: {missing}" + + if __name__ == "__main__": """Run tests directly for quick verification.""" test_basic_imports()