52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
"""Fast smoke checks for E2E fixture wiring."""
|
|
|
|
import pytest
|
|
|
|
from e2e.helpers import (
|
|
apply_pi_web_api_server_config,
|
|
load_scenario_input,
|
|
make_workflow_id,
|
|
start_and_await_workflow,
|
|
)
|
|
from e2e.pi_web_api_test_server import PIWebAPITestServer
|
|
from scouter.workflow.pi_web_api_scouter import PIWebAPIScouter
|
|
from temporalio.testing import WorkflowEnvironment
|
|
from temporalio.worker import Worker
|
|
|
|
|
|
@pytest.mark.e2e
|
|
def test_postgres_schema_ready(postgres_engine):
|
|
"""Verify autouse schema setup created laborious_data."""
|
|
with postgres_engine.connect() as conn:
|
|
count = conn.exec_driver_sql(
|
|
'SELECT COUNT(*) FROM information_schema.tables '
|
|
"WHERE table_schema = 'sientia_data' AND table_name = 'laborious_data'"
|
|
).scalar()
|
|
assert count == 1
|
|
|
|
|
|
@pytest.mark.e2e
|
|
def test_activities_construct(test_activities):
|
|
"""Verify Activities initializes against testcontainers without hanging."""
|
|
assert test_activities.redis_repository is not None
|
|
assert test_activities.mongodb_repository is not None
|
|
|
|
|
|
@pytest.mark.e2e
|
|
@pytest.mark.asyncio
|
|
async def test_temporal_pi_happy_path(
|
|
temporal_env: WorkflowEnvironment,
|
|
temporal_worker: Worker,
|
|
pi_web_api_server: PIWebAPITestServer,
|
|
):
|
|
"""Minimal Temporal path: PIWebAPIScouter happy path completes."""
|
|
scenario = load_scenario_input('pi_web_api_scouter_happy_path')
|
|
apply_pi_web_api_server_config(pi_web_api_server, scenario.get('pi_web_api_server'))
|
|
await start_and_await_workflow(
|
|
temporal_env.client,
|
|
PIWebAPIScouter.run,
|
|
scenario['workflow_input'],
|
|
make_workflow_id('smoke-pi-happy'),
|
|
timeout=60.0,
|
|
)
|