fix anthropic key error msg
This commit is contained in:
parent
7f85e93431
commit
6591400ad6
|
|
@ -157,9 +157,12 @@ class AnthropicStrategy(ProviderStrategy):
|
|||
os.environ["EXPERT_ANTHROPIC_API_KEY"] = base_key
|
||||
key = base_key
|
||||
if not key:
|
||||
missing.append(
|
||||
"EXPERT_ANTHROPIC_API_KEY environment variable is not set"
|
||||
)
|
||||
# If neither expert nor base key is set, show base key message
|
||||
base_key = os.environ.get("ANTHROPIC_API_KEY")
|
||||
if not base_key:
|
||||
missing.append("ANTHROPIC_API_KEY environment variable is not set")
|
||||
else:
|
||||
missing.append("EXPERT_ANTHROPIC_API_KEY environment variable is not set")
|
||||
else:
|
||||
key = os.environ.get("ANTHROPIC_API_KEY")
|
||||
if not key:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
import os
|
||||
from dataclasses import dataclass
|
||||
from typing import Any, Optional
|
||||
|
||||
import pytest
|
||||
|
||||
from ra_aid.provider_strategy import AnthropicStrategy
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def clean_env():
|
||||
"""Remove relevant environment variables before each test."""
|
||||
# Save existing values
|
||||
saved_vars = {}
|
||||
for var in ['ANTHROPIC_API_KEY', 'EXPERT_ANTHROPIC_API_KEY',
|
||||
'ANTHROPIC_MODEL', 'EXPERT_ANTHROPIC_MODEL']:
|
||||
saved_vars[var] = os.environ.get(var)
|
||||
if var in os.environ:
|
||||
del os.environ[var]
|
||||
|
||||
yield
|
||||
|
||||
# Restore saved values
|
||||
for var, value in saved_vars.items():
|
||||
if value is not None:
|
||||
os.environ[var] = value
|
||||
elif var in os.environ:
|
||||
del os.environ[var]
|
||||
|
||||
|
||||
@dataclass
|
||||
class MockArgs:
|
||||
"""Mock arguments class for testing."""
|
||||
expert_provider: str
|
||||
expert_model: Optional[str] = None
|
||||
|
||||
|
||||
def test_anthropic_expert_validation_message(clean_env):
|
||||
"""Test that validation message refers to base key when neither key exists."""
|
||||
strategy = AnthropicStrategy()
|
||||
args = MockArgs(expert_provider="anthropic")
|
||||
|
||||
result = strategy.validate(args)
|
||||
|
||||
assert not result.valid
|
||||
assert len(result.missing_vars) > 0
|
||||
assert "ANTHROPIC_API_KEY environment variable is not set" in result.missing_vars[0]
|
||||
assert "EXPERT_ANTHROPIC_API_KEY" not in result.missing_vars[0]
|
||||
Loading…
Reference in New Issue