Spaces:
Running
Running
Commit
·
5a82171
1
Parent(s):
15459e9
fix(ci): skip agent tests when agent-framework not installed
Browse files- Remove uv.sources that references local-only reference_repos
- Add pytest.importorskip to agent wrapper tests
- CI will skip 7 agent tests, run remaining 31 tests
- pyproject.toml +2 -2
- tests/unit/agents/test_judge_agent.py +7 -3
- tests/unit/agents/test_search_agent.py +7 -3
- uv.lock +5 -31
pyproject.toml
CHANGED
|
@@ -119,5 +119,5 @@ exclude_lines = [
|
|
| 119 |
"raise NotImplementedError",
|
| 120 |
]
|
| 121 |
|
| 122 |
-
|
| 123 |
-
|
|
|
|
| 119 |
"raise NotImplementedError",
|
| 120 |
]
|
| 121 |
|
| 122 |
+
# Note: agent-framework-core is optional and installed locally for magentic mode
|
| 123 |
+
# CI skips tests that require it via pytest.importorskip
|
tests/unit/agents/test_judge_agent.py
CHANGED
|
@@ -3,10 +3,14 @@
|
|
| 3 |
from unittest.mock import AsyncMock
|
| 4 |
|
| 5 |
import pytest
|
| 6 |
-
from agent_framework import ChatMessage, Role
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
|
| 12 |
@pytest.fixture
|
|
|
|
| 3 |
from unittest.mock import AsyncMock
|
| 4 |
|
| 5 |
import pytest
|
|
|
|
| 6 |
|
| 7 |
+
# Skip all tests if agent_framework not installed (optional dep)
|
| 8 |
+
pytest.importorskip("agent_framework")
|
| 9 |
+
|
| 10 |
+
from agent_framework import ChatMessage, Role # noqa: E402
|
| 11 |
+
|
| 12 |
+
from src.agents.judge_agent import JudgeAgent # noqa: E402
|
| 13 |
+
from src.utils.models import AssessmentDetails, Citation, Evidence, JudgeAssessment # noqa: E402
|
| 14 |
|
| 15 |
|
| 16 |
@pytest.fixture
|
tests/unit/agents/test_search_agent.py
CHANGED
|
@@ -3,10 +3,14 @@
|
|
| 3 |
from unittest.mock import AsyncMock
|
| 4 |
|
| 5 |
import pytest
|
| 6 |
-
from agent_framework import ChatMessage, Role
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
|
| 12 |
@pytest.fixture
|
|
|
|
| 3 |
from unittest.mock import AsyncMock
|
| 4 |
|
| 5 |
import pytest
|
|
|
|
| 6 |
|
| 7 |
+
# Skip all tests if agent_framework not installed (optional dep)
|
| 8 |
+
pytest.importorskip("agent_framework")
|
| 9 |
+
|
| 10 |
+
from agent_framework import ChatMessage, Role # noqa: E402
|
| 11 |
+
|
| 12 |
+
from src.agents.search_agent import SearchAgent # noqa: E402
|
| 13 |
+
from src.utils.models import Citation, Evidence, SearchResult # noqa: E402
|
| 14 |
|
| 15 |
|
| 16 |
@pytest.fixture
|
uv.lock
CHANGED
|
@@ -22,7 +22,7 @@ wheels = [
|
|
| 22 |
[[package]]
|
| 23 |
name = "agent-framework-core"
|
| 24 |
version = "1.0.0b251120"
|
| 25 |
-
source = {
|
| 26 |
dependencies = [
|
| 27 |
{ name = "azure-identity" },
|
| 28 |
{ name = "mcp", extra = ["ws"] },
|
|
@@ -36,36 +36,10 @@ dependencies = [
|
|
| 36 |
{ name = "pydantic-settings" },
|
| 37 |
{ name = "typing-extensions" },
|
| 38 |
]
|
| 39 |
-
|
| 40 |
-
[
|
| 41 |
-
|
| 42 |
-
{ name = "agent-framework-a2a", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/a2a" },
|
| 43 |
-
{ name = "agent-framework-ag-ui", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/ag-ui" },
|
| 44 |
-
{ name = "agent-framework-anthropic", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/anthropic" },
|
| 45 |
-
{ name = "agent-framework-azure-ai", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/azure-ai" },
|
| 46 |
-
{ name = "agent-framework-azure-ai-search", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/azure-ai-search" },
|
| 47 |
-
{ name = "agent-framework-azurefunctions", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/azurefunctions" },
|
| 48 |
-
{ name = "agent-framework-chatkit", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/chatkit" },
|
| 49 |
-
{ name = "agent-framework-copilotstudio", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/copilotstudio" },
|
| 50 |
-
{ name = "agent-framework-declarative", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/declarative" },
|
| 51 |
-
{ name = "agent-framework-devui", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/devui" },
|
| 52 |
-
{ name = "agent-framework-lab", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/lab" },
|
| 53 |
-
{ name = "agent-framework-mem0", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/mem0" },
|
| 54 |
-
{ name = "agent-framework-purview", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/purview" },
|
| 55 |
-
{ name = "agent-framework-redis", marker = "extra == 'all'", editable = "reference_repos/agent-framework/python/packages/redis" },
|
| 56 |
-
{ name = "azure-identity", specifier = ">=1,<2" },
|
| 57 |
-
{ name = "mcp", extras = ["ws"], specifier = ">=1.13" },
|
| 58 |
-
{ name = "openai", specifier = ">=1.99.0" },
|
| 59 |
-
{ name = "opentelemetry-api", specifier = ">=1.24" },
|
| 60 |
-
{ name = "opentelemetry-exporter-otlp-proto-grpc", specifier = ">=1.36.0" },
|
| 61 |
-
{ name = "opentelemetry-sdk", specifier = ">=1.24" },
|
| 62 |
-
{ name = "opentelemetry-semantic-conventions-ai", specifier = ">=0.4.13" },
|
| 63 |
-
{ name = "packaging", specifier = ">=24.1" },
|
| 64 |
-
{ name = "pydantic", specifier = ">=2,<3" },
|
| 65 |
-
{ name = "pydantic-settings", specifier = ">=2,<3" },
|
| 66 |
-
{ name = "typing-extensions" },
|
| 67 |
]
|
| 68 |
-
provides-extras = ["all"]
|
| 69 |
|
| 70 |
[[package]]
|
| 71 |
name = "aiofiles"
|
|
@@ -767,7 +741,7 @@ magentic = [
|
|
| 767 |
|
| 768 |
[package.metadata]
|
| 769 |
requires-dist = [
|
| 770 |
-
{ name = "agent-framework-core", marker = "extra == 'magentic'"
|
| 771 |
{ name = "anthropic", specifier = ">=0.18.0" },
|
| 772 |
{ name = "beautifulsoup4", specifier = ">=4.12" },
|
| 773 |
{ name = "duckduckgo-search", specifier = ">=6.0" },
|
|
|
|
| 22 |
[[package]]
|
| 23 |
name = "agent-framework-core"
|
| 24 |
version = "1.0.0b251120"
|
| 25 |
+
source = { registry = "https://pypi.org/simple" }
|
| 26 |
dependencies = [
|
| 27 |
{ name = "azure-identity" },
|
| 28 |
{ name = "mcp", extra = ["ws"] },
|
|
|
|
| 36 |
{ name = "pydantic-settings" },
|
| 37 |
{ name = "typing-extensions" },
|
| 38 |
]
|
| 39 |
+
sdist = { url = "https://files.pythonhosted.org/packages/00/78/c53cb3a657ca5e000ce196c6ca776eb5b5cd95cbd8ac691872b8cc4ea23c/agent_framework_core-1.0.0b251120.tar.gz", hash = "sha256:eb327c123ce54ff36ccc828bcc4f5162248f768f2438be0550644f1b3c28927f", size = 281920 }
|
| 40 |
+
wheels = [
|
| 41 |
+
{ url = "https://files.pythonhosted.org/packages/0c/60/7e40edfa60372cf0d56500b19c6bb322ca483fd4e7b558c1bf0ff88d4540/agent_framework_core-1.0.0b251120-py3-none-any.whl", hash = "sha256:65618ad496fa6805992980f2801b8d1a226e8edc59974945bb903df917fda105", size = 326665 },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
]
|
|
|
|
| 43 |
|
| 44 |
[[package]]
|
| 45 |
name = "aiofiles"
|
|
|
|
| 741 |
|
| 742 |
[package.metadata]
|
| 743 |
requires-dist = [
|
| 744 |
+
{ name = "agent-framework-core", marker = "extra == 'magentic'" },
|
| 745 |
{ name = "anthropic", specifier = ">=0.18.0" },
|
| 746 |
{ name = "beautifulsoup4", specifier = ">=4.12" },
|
| 747 |
{ name = "duckduckgo-search", specifier = ">=6.0" },
|