|
8 | 8 | from unittest.mock import AsyncMock, MagicMock, patch |
9 | 9 | import pytest |
10 | 10 |
|
11 | | -# Set environment variables before any imports to avoid runtime errors |
12 | | -os.environ["COSMOSDB_ENDPOINT"] = "https://mock-endpoint" |
13 | | -os.environ["COSMOSDB_KEY"] = "mock-key" |
14 | | -os.environ["COSMOSDB_DATABASE"] = "mock-database" |
15 | | -os.environ["COSMOSDB_CONTAINER"] = "mock-container" |
16 | | -os.environ["APPLICATIONINSIGHTS_INSTRUMENTATION_KEY"] = "mock-instrumentation-key" |
17 | | -os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"] = "mock-deployment-name" |
18 | | -os.environ["AZURE_OPENAI_API_VERSION"] = "2023-01-01" |
19 | | -os.environ["AZURE_OPENAI_ENDPOINT"] = "https://mock-openai-endpoint" |
| 11 | +# Function to set environment variables |
| 12 | +def setup_environment_variables(): |
| 13 | + """Set environment variables required for the tests.""" |
| 14 | + os.environ["COSMOSDB_ENDPOINT"] = "https://mock-endpoint" |
| 15 | + os.environ["COSMOSDB_KEY"] = "mock-key" |
| 16 | + os.environ["COSMOSDB_DATABASE"] = "mock-database" |
| 17 | + os.environ["COSMOSDB_CONTAINER"] = "mock-container" |
| 18 | + os.environ["APPLICATIONINSIGHTS_INSTRUMENTATION_KEY"] = "mock-instrumentation-key" |
| 19 | + os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"] = "mock-deployment-name" |
| 20 | + os.environ["AZURE_OPENAI_API_VERSION"] = "2023-01-01" |
| 21 | + os.environ["AZURE_OPENAI_ENDPOINT"] = "https://mock-openai-endpoint" |
| 22 | + |
| 23 | +# Call the function to set environment variables |
| 24 | +setup_environment_variables() |
20 | 25 |
|
21 | 26 | # Mock Azure and event_utils dependencies globally |
22 | 27 | sys.modules["azure.monitor.events.extension"] = MagicMock() |
23 | 28 | sys.modules["src.backend.event_utils"] = MagicMock() |
24 | 29 |
|
25 | | -# Project-specific imports |
| 30 | +# Project-specific imports (must come after environment setup) |
26 | 31 | from autogen_core.base import AgentInstantiationContext, AgentRuntime |
27 | 32 | from src.backend.agents.human import HumanAgent |
28 | 33 | from src.backend.models.messages import HumanFeedback, Step, StepStatus, BAgentType |
29 | 34 |
|
30 | 35 |
|
| 36 | +@pytest.fixture(autouse=True) |
| 37 | +def ensure_env_variables(monkeypatch): |
| 38 | + """ |
| 39 | + Fixture to ensure environment variables are set for all tests. |
| 40 | + This overrides any modifications made by individual tests. |
| 41 | + """ |
| 42 | + env_vars = { |
| 43 | + "COSMOSDB_ENDPOINT": "https://mock-endpoint", |
| 44 | + "COSMOSDB_KEY": "mock-key", |
| 45 | + "COSMOSDB_DATABASE": "mock-database", |
| 46 | + "COSMOSDB_CONTAINER": "mock-container", |
| 47 | + "APPLICATIONINSIGHTS_INSTRUMENTATION_KEY": "mock-instrumentation-key", |
| 48 | + "AZURE_OPENAI_DEPLOYMENT_NAME": "mock-deployment-name", |
| 49 | + "AZURE_OPENAI_API_VERSION": "2023-01-01", |
| 50 | + "AZURE_OPENAI_ENDPOINT": "https://mock-openai-endpoint", |
| 51 | + } |
| 52 | + for key, value in env_vars.items(): |
| 53 | + monkeypatch.setenv(key, value) |
| 54 | + |
| 55 | + |
31 | 56 | @pytest.fixture |
32 | 57 | def setup_agent(): |
33 | 58 | """ |
|
0 commit comments