agentops/tests/integration/conftest.py

87 lines
2.2 KiB
Python

import pytest
from unittest.mock import MagicMock
import agentops
import openai
import anthropic
from agentops.client import Client
@pytest.fixture
def mock_api_key():
"""Fixture to provide a mock API key."""
return "test-api-key-" + "x" * 32
@pytest.fixture
def mock_auth_response():
"""Fixture to provide a mock authentication response."""
return MagicMock(status_code=200, json=lambda: {"access_token": "mock_token"})
@pytest.fixture
def agentops_client(mock_api_key, monkeypatch):
"""Fixture to provide an initialized AgentOps client."""
# Create a mock auth response
mock_auth = MagicMock()
mock_auth.authenticate = lambda x: True
mock_auth.is_authenticated = True
# Create the client
client = Client()
# Mock the auth module
monkeypatch.setattr(client, "api", MagicMock(auth=mock_auth))
# Initialize with mock key
client.init(api_key=mock_api_key)
return client
@pytest.fixture
def agentops_session(agentops_client):
"""Fixture to manage AgentOps session."""
agentops.start_session()
yield
agentops.end_all_sessions()
@pytest.fixture
def openai_client():
"""Fixture to provide OpenAI client with mock API key."""
client = openai.OpenAI(api_key="test-openai-key")
# Mock the completions API
client.chat.completions.create = MagicMock()
return client
@pytest.fixture
def anthropic_client():
"""Fixture to provide Anthropic client with mock API key."""
client = anthropic.Anthropic(api_key="test-anthropic-key")
# Mock the messages API
client.messages.create = MagicMock()
return client
@pytest.fixture
def test_messages():
"""Fixture to provide test messages."""
return [{"role": "user", "content": "Write a short greeting."}]
@pytest.fixture
def mock_response():
"""Fixture to provide a mock response for testing."""
return MagicMock(choices=[MagicMock(message=MagicMock(content="Hello! This is a test response."))])
@pytest.fixture
def mock_stream_response():
"""Fixture to provide a mock streaming response."""
return [
MagicMock(choices=[MagicMock(delta=MagicMock(content="Hello"))]),
MagicMock(choices=[MagicMock(delta=MagicMock(content=" World!"))]),
]