43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
"""Test configuration for matrix-hermes."""
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
import pytest
|
|
|
|
|
|
# Add src to path for imports
|
|
sys.path.insert(0, str(Path(__file__).resolve().parent.parent / "src"))
|
|
|
|
|
|
@pytest.fixture
|
|
def clean_env(monkeypatch):
|
|
"""Remove Matrix env vars for clean test state."""
|
|
for key in list(os.environ):
|
|
if key.startswith("MATRIX_"):
|
|
monkeypatch.delenv(key, raising=False)
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_env(monkeypatch):
|
|
"""Set up a minimal valid Matrix environment."""
|
|
monkeypatch.setenv("MATRIX_HOMESERVER", "https://matrix.example.org")
|
|
monkeypatch.setenv("MATRIX_ACCESS_TOKEN", "syt_test_token_abc123")
|
|
monkeypatch.setenv("MATRIX_USER_ID", "@bot:example.org")
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_urlopen():
|
|
"""Mock urllib.request.urlopen for HTTP testing."""
|
|
with patch("urllib.request.urlopen") as mock:
|
|
yield mock
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_request():
|
|
"""Mock urllib.request.Request for HTTP testing."""
|
|
with patch("urllib.request.Request") as mock:
|
|
yield mock
|