Skip to content

Commit 6acdb65

Browse files
authored
Merge pull request aden-hive#948 from TanujaNair03/refactor/provider-agnostic-prompts
Refactor/provider agnostic prompts
2 parents a4b0c66 + 500876d commit 6acdb65

1 file changed

Lines changed: 29 additions & 25 deletions

File tree

core/framework/testing/prompts.py

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,39 @@
1111
1212
{description}
1313
14-
REQUIRES: ANTHROPIC_API_KEY for real testing.
14+
REQUIRES: API_KEY (OpenAI or Anthropic) for real testing.
1515
"""
1616
1717
import os
1818
import pytest
19-
from exports.{agent_module} import default_agent
19+
from {agent_module} import default_agent
2020
2121
2222
def _get_api_key():
23-
"""Get API key from CredentialManager or environment."""
23+
"""Get API key from CredentialManager (Anthropic) or environment (Any)."""
24+
# 1. Try CredentialManager for Anthropic (the only provider it currently supports)
2425
try:
2526
from aden_tools.credentials import CredentialManager
2627
creds = CredentialManager()
2728
if creds.is_available("anthropic"):
2829
return creds.get("anthropic")
29-
except ImportError:
30+
except (ImportError, KeyError):
3031
pass
31-
return os.environ.get("ANTHROPIC_API_KEY")
32+
33+
# 2. Fallback to standard environment variables for OpenAI and others
34+
return (
35+
os.environ.get("OPENAI_API_KEY") or
36+
os.environ.get("ANTHROPIC_API_KEY") or
37+
os.environ.get("CEREBRAS_API_KEY") or
38+
os.environ.get("GROQ_API_KEY")
39+
)
3240
3341
3442
# Skip all tests if no API key and not in mock mode
3543
pytestmark = pytest.mark.skipif(
3644
not _get_api_key() and not os.environ.get("MOCK_MODE"),
37-
reason="API key required. Set ANTHROPIC_API_KEY or use MOCK_MODE=1."
45+
reason="API key required. Please set OPENAI_API_KEY, ANTHROPIC_API_KEY, or use MOCK_MODE=1."
3846
)
39-
40-
4147
'''
4248

4349
# Template for conftest.py with shared fixtures
@@ -48,15 +54,21 @@ def _get_api_key():
4854
4955
5056
def _get_api_key():
51-
"""Get API key from CredentialManager or environment."""
57+
"""Get API key from CredentialManager (Anthropic) or environment (Any)."""
5258
try:
5359
from aden_tools.credentials import CredentialManager
5460
creds = CredentialManager()
5561
if creds.is_available("anthropic"):
5662
return creds.get("anthropic")
57-
except ImportError:
63+
except (ImportError, KeyError):
5864
pass
59-
return os.environ.get("ANTHROPIC_API_KEY")
65+
66+
return (
67+
os.environ.get("OPENAI_API_KEY") or
68+
os.environ.get("ANTHROPIC_API_KEY") or
69+
os.environ.get("CEREBRAS_API_KEY") or
70+
os.environ.get("GROQ_API_KEY")
71+
)
6072
6173
6274
@pytest.fixture
@@ -72,25 +84,17 @@ def check_api_key():
7284
if os.environ.get("MOCK_MODE"):
7385
print("\\n⚠️ Running in MOCK MODE - structure validation only")
7486
print(" This does NOT test LLM behavior or agent quality")
75-
print(" Set ANTHROPIC_API_KEY for real testing\\n")
87+
print(" Set OPENAI_API_KEY or ANTHROPIC_API_KEY for real testing\\n")
7688
else:
7789
pytest.fail(
78-
"\\n❌ ANTHROPIC_API_KEY not set!\\n\\n"
90+
"\\n❌ No API key found!\\n\\n"
7991
"Real testing requires an API key. Choose one:\\n"
80-
"1. Set API key (RECOMMENDED):\\n"
92+
"1. Set OpenAI key:\\n"
93+
" export OPENAI_API_KEY='your-key-here'\\n"
94+
"2. Set Anthropic key:\\n"
8195
" export ANTHROPIC_API_KEY='your-key-here'\\n"
82-
"2. Run structure validation only:\\n"
96+
"3. Run structure validation only:\\n"
8397
" MOCK_MODE=1 pytest exports/{agent_name}/tests/\\n\\n"
8498
"Note: Mock mode does NOT validate agent behavior or quality."
8599
)
86-
87-
88-
@pytest.fixture
89-
def sample_inputs():
90-
"""Sample inputs for testing."""
91-
return {{
92-
"simple": {{"query": "test"}},
93-
"complex": {{"query": "detailed multi-step query", "depth": 3}},
94-
"edge_case": {{"query": ""}},
95-
}}
96100
'''

0 commit comments

Comments
 (0)