mirror of
https://github.com/invariantlabs-ai/invariant-gateway.git
synced 2026-08-16 14:00:20 +02:00
Fetch guardrails from explorer. These have higher precedence than than the guardrails from file.
This commit is contained in:
@@ -27,12 +27,10 @@ async def test_gateway_with_invariant_key_in_anthropic_key_header(
|
||||
"""Test the Anthropic gateway with Invariant key in the Anthropic key"""
|
||||
anthropic_api_key = os.getenv("ANTHROPIC_API_KEY")
|
||||
dataset_name = f"test-dataset-anthropic-{uuid.uuid4()}"
|
||||
invariant_key_suffix = f";invariant-auth={os.getenv('INVARIANT_API_KEY')}"
|
||||
with patch.dict(
|
||||
os.environ,
|
||||
{
|
||||
"ANTHROPIC_API_KEY": anthropic_api_key
|
||||
+ ";invariant-auth=<not needed for test>"
|
||||
},
|
||||
{"ANTHROPIC_API_KEY": anthropic_api_key + invariant_key_suffix},
|
||||
):
|
||||
client = anthropic.Anthropic(
|
||||
http_client=Client(),
|
||||
|
||||
@@ -26,7 +26,7 @@ class WeatherAgent:
|
||||
|
||||
def __init__(self, gateway_url, push_to_explorer):
|
||||
self.dataset_name = f"test-dataset-anthropic-{uuid.uuid4()}"
|
||||
invariant_api_key = os.environ.get("INVARIANT_API_KEY", "None")
|
||||
invariant_api_key = os.environ.get("INVARIANT_API_KEY")
|
||||
self.client = anthropic.Anthropic(
|
||||
http_client=Client(
|
||||
headers={"Invariant-Authorization": f"Bearer {invariant_api_key}"},
|
||||
|
||||
@@ -26,7 +26,7 @@ async def test_response_without_tool_call(
|
||||
):
|
||||
"""Test the Anthropic gateway without tool calling."""
|
||||
dataset_name = f"test-dataset-anthropic-{uuid.uuid4()}"
|
||||
invariant_api_key = os.environ.get("INVARIANT_API_KEY", "None")
|
||||
invariant_api_key = os.environ.get("INVARIANT_API_KEY")
|
||||
|
||||
client = anthropic.Anthropic(
|
||||
http_client=Client(
|
||||
@@ -91,7 +91,7 @@ async def test_streaming_response_without_tool_call(
|
||||
):
|
||||
"""Test the Anthropic gateway without tool calling."""
|
||||
dataset_name = f"test-dataset-anthropic-{uuid.uuid4()}"
|
||||
invariant_api_key = os.environ.get("INVARIANT_API_KEY", "None")
|
||||
invariant_api_key = os.environ.get("INVARIANT_API_KEY")
|
||||
|
||||
client = anthropic.Anthropic(
|
||||
http_client=Client(
|
||||
|
||||
@@ -151,7 +151,7 @@ async def test_generate_content_with_tool_call(
|
||||
if push_to_explorer
|
||||
else f"{gateway_url}/api/v1/gateway/gemini",
|
||||
"headers": {
|
||||
"invariant-authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
},
|
||||
)
|
||||
|
||||
@@ -36,7 +36,7 @@ async def test_generate_content(
|
||||
if push_to_explorer
|
||||
else f"{gateway_url}/api/v1/gateway/gemini",
|
||||
"headers": {
|
||||
"invariant-authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
},
|
||||
)
|
||||
@@ -123,7 +123,7 @@ async def test_generate_content_with_image(
|
||||
if push_to_explorer
|
||||
else f"{gateway_url}/api/v1/gateway/gemini",
|
||||
"headers": {
|
||||
"invariant-authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
},
|
||||
)
|
||||
@@ -181,9 +181,10 @@ async def test_generate_content_with_invariant_key_in_gemini_key_header(
|
||||
"""Test the generate content gateway calls with the Invariant API Key in the Gemini Key header."""
|
||||
dataset_name = f"test-dataset-gemini-{uuid.uuid4()}"
|
||||
gemini_api_key = os.getenv("GEMINI_API_KEY")
|
||||
invariant_key_suffix = f";invariant-auth={os.getenv('INVARIANT_API_KEY')}"
|
||||
with patch.dict(
|
||||
os.environ,
|
||||
{"GEMINI_API_KEY": gemini_api_key + ";invariant-auth=<not needed for test>"},
|
||||
{"GEMINI_API_KEY": gemini_api_key + invariant_key_suffix},
|
||||
):
|
||||
client = genai.Client(
|
||||
api_key=os.getenv("GEMINI_API_KEY"),
|
||||
|
||||
@@ -32,7 +32,7 @@ async def test_chat_completion_with_tool_call_without_streaming(
|
||||
client = OpenAI(
|
||||
http_client=Client(
|
||||
headers={
|
||||
"Invariant-Authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
),
|
||||
base_url=f"{gateway_url}/api/v1/gateway/{dataset_name}/openai"
|
||||
@@ -150,7 +150,7 @@ async def test_chat_completion_with_tool_call_with_streaming(
|
||||
client = OpenAI(
|
||||
http_client=Client(
|
||||
headers={
|
||||
"Invariant-Authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
),
|
||||
base_url=f"{gateway_url}/api/v1/gateway/{dataset_name}/openai"
|
||||
|
||||
@@ -34,7 +34,7 @@ async def test_chat_completion(
|
||||
client = OpenAI(
|
||||
http_client=Client(
|
||||
headers={
|
||||
"Invariant-Authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
),
|
||||
base_url=f"{gateway_url}/api/v1/gateway/{dataset_name}/openai"
|
||||
@@ -107,7 +107,7 @@ async def test_chat_completion_with_image(
|
||||
client = OpenAI(
|
||||
http_client=Client(
|
||||
headers={
|
||||
"Invariant-Authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
),
|
||||
base_url=f"{gateway_url}/api/v1/gateway/{dataset_name}/openai"
|
||||
@@ -189,9 +189,10 @@ async def test_chat_completion_with_invariant_key_in_openai_key_header(
|
||||
"""Test the chat completions gateway calls with the Invariant API Key in the OpenAI Key header."""
|
||||
dataset_name = f"test-dataset-open-ai-{uuid.uuid4()}"
|
||||
openai_api_key = os.getenv("OPENAI_API_KEY")
|
||||
invariant_key_suffix = f";invariant-auth={os.getenv('INVARIANT_API_KEY')}"
|
||||
with patch.dict(
|
||||
os.environ,
|
||||
{"OPENAI_API_KEY": openai_api_key + ";invariant-auth=<not needed for test>"},
|
||||
{"OPENAI_API_KEY": openai_api_key + invariant_key_suffix},
|
||||
):
|
||||
client = OpenAI(
|
||||
http_client=Client(),
|
||||
@@ -252,7 +253,7 @@ async def test_chat_completion_with_openai_exception(gateway_url, do_stream):
|
||||
client = OpenAI(
|
||||
http_client=Client(
|
||||
headers={
|
||||
"Invariant-Authorization": "Bearer <some-key>"
|
||||
"Invariant-Authorization": f"Bearer {os.getenv('INVARIANT_API_KEY')}"
|
||||
}, # This key is not used for local tests
|
||||
),
|
||||
base_url=f"{gateway_url}/api/v1/gateway/{dataset_name}/openai",
|
||||
|
||||
Reference in New Issue
Block a user