VibecoderMcSwaggins commited on
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 CHANGED
@@ -119,5 +119,5 @@ exclude_lines = [
119
  "raise NotImplementedError",
120
  ]
121
 
122
- [tool.uv.sources]
123
- agent-framework-core = { path = "reference_repos/agent-framework/python/packages/core", editable = true }
 
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
- from src.agents.judge_agent import JudgeAgent
9
- from src.utils.models import AssessmentDetails, Citation, Evidence, JudgeAssessment
 
 
 
 
 
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
- from src.agents.search_agent import SearchAgent
9
- from src.utils.models import Citation, Evidence, SearchResult
 
 
 
 
 
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 = { editable = "reference_repos/agent-framework/python/packages/core" }
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
- [package.metadata]
41
- requires-dist = [
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'", editable = "reference_repos/agent-framework/python/packages/core" },
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" },