financial_audit_env / tests /conftest.py
balloonmann's picture
Round 2 Implementation: Multi-period campaign, regulatory shocks, adversarial grading, and GRPO training infrastructure
52f5c27
"""Shared fixtures for the Financial Audit Environment test suite."""
import pytest
import sys
import os
# Add project root to path
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@pytest.fixture(autouse=True)
def _reset_rate_limiter():
"""Reset the rate limiter before each test to prevent cross-test interference."""
from financial_audit_env.server.security import rate_limiter
rate_limiter._requests.clear()
yield
rate_limiter._requests.clear()
@pytest.fixture
def env():
"""Create a fresh environment instance for each test."""
from financial_audit_env.server.environment import FinancialAuditEnvironment
return FinancialAuditEnvironment()
@pytest.fixture
def expense_data():
"""Generate expense data with seed 42."""
from financial_audit_env.server.data_generator import generate_expense_data
return generate_expense_data(42)
@pytest.fixture
def invoice_data():
"""Generate invoice data with seed 42."""
from financial_audit_env.server.data_generator import generate_invoice_data
return generate_invoice_data(42)
@pytest.fixture
def gst_data():
"""Generate GST data with seed 42."""
from financial_audit_env.server.data_generator import generate_gst_data
return generate_gst_data(42)
@pytest.fixture
def fraud_data():
"""Generate fraud data with seed 42."""
from financial_audit_env.server.data_generator import generate_fraud_data
return generate_fraud_data(42)