Skip to content

Commit fb5d9f4

Browse files
committed
more fixes
1 parent 96e456e commit fb5d9f4

21 files changed

+58
-58
lines changed

backend/app/events/metadata.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from app.domain.enums.common import Environment
88

99

10-
class EventMetadata(AvroBase):
10+
class AvroEventMetadata(AvroBase):
1111
"""Unified event metadata for auditing and tracing."""
1212

1313
service_name: str
@@ -24,7 +24,7 @@ def to_dict(self, exclude_none: bool = True) -> Dict[str, Any]:
2424
return self.model_dump(exclude_none=exclude_none)
2525

2626
@classmethod
27-
def from_dict(cls, data: Dict[str, Any]) -> "EventMetadata":
27+
def from_dict(cls, data: Dict[str, Any]) -> "AvroEventMetadata":
2828
return cls(
2929
service_name=data.get("service_name", "unknown"),
3030
service_version=data.get("service_version", "1.0"),
@@ -35,13 +35,13 @@ def from_dict(cls, data: Dict[str, Any]) -> "EventMetadata":
3535
environment=data.get("environment", Environment.PRODUCTION),
3636
)
3737

38-
def with_correlation(self, correlation_id: str) -> "EventMetadata":
38+
def with_correlation(self, correlation_id: str) -> "AvroEventMetadata":
3939
return self.model_copy(update={"correlation_id": correlation_id})
4040

41-
def with_user(self, user_id: str) -> "EventMetadata":
41+
def with_user(self, user_id: str) -> "AvroEventMetadata":
4242
return self.model_copy(update={"user_id": user_id})
4343

44-
def ensure_correlation_id(self) -> "EventMetadata":
44+
def ensure_correlation_id(self) -> "AvroEventMetadata":
4545
if self.correlation_id:
4646
return self
4747
return self.model_copy(update={"correlation_id": str(uuid4())})

backend/tests/helpers/events.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from typing import Iterable
33

44
from app.infrastructure.kafka.events.execution import ExecutionRequestedEvent
5-
from app.infrastructure.kafka.events.metadata import EventMetadata
5+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
66

77

88
def make_execution_requested_event(
@@ -31,7 +31,7 @@ def make_execution_requested_event(
3131
if execution_id is None:
3232
execution_id = f"exec-{uuid.uuid4().hex[:8]}"
3333

34-
metadata = EventMetadata(service_name=service_name, service_version=service_version, user_id=user_id)
34+
metadata = AvroEventMetadata(service_name=service_name, service_version=service_version, user_id=user_id)
3535
return ExecutionRequestedEvent(
3636
execution_id=execution_id,
3737
script=script,

backend/tests/integration/events/test_dlq_handler.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from app.events.core import create_dlq_error_handler, create_immediate_dlq_handler
44
from app.events.core import UnifiedProducer
5-
from app.infrastructure.kafka.events.metadata import EventMetadata
5+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
66
from app.infrastructure.kafka.events.saga import SagaStartedEvent
77

88
pytestmark = [pytest.mark.integration, pytest.mark.kafka]
@@ -19,7 +19,7 @@ async def _record_send_to_dlq(original_event, original_topic, error, retry_count
1919
monkeypatch.setattr(p, "send_to_dlq", _record_send_to_dlq)
2020
h = create_dlq_error_handler(p, original_topic="t", max_retries=2)
2121
e = SagaStartedEvent(saga_id="s", saga_name="n", execution_id="x", initial_event_id="i",
22-
metadata=EventMetadata(service_name="a", service_version="1"))
22+
metadata=AvroEventMetadata(service_name="a", service_version="1"))
2323
# Call 1 and 2 should not send to DLQ
2424
await h(RuntimeError("boom"), e)
2525
await h(RuntimeError("boom"), e)
@@ -41,6 +41,6 @@ async def _record_send_to_dlq(original_event, original_topic, error, retry_count
4141
monkeypatch.setattr(p, "send_to_dlq", _record_send_to_dlq)
4242
h = create_immediate_dlq_handler(p, original_topic="t")
4343
e = SagaStartedEvent(saga_id="s2", saga_name="n", execution_id="x", initial_event_id="i",
44-
metadata=EventMetadata(service_name="a", service_version="1"))
44+
metadata=AvroEventMetadata(service_name="a", service_version="1"))
4545
await h(RuntimeError("x"), e)
4646
assert calls and calls[0][3] == 0

backend/tests/integration/events/test_event_store.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from app.events.event_store import EventStore
66
from app.events.schema.schema_registry import SchemaRegistryManager
7-
from app.infrastructure.kafka.events.metadata import EventMetadata
7+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
88
from app.infrastructure.kafka.events.pod import PodCreatedEvent
99
from app.infrastructure.kafka.events.user import UserLoggedInEvent
1010
from motor.motor_asyncio import AsyncIOMotorDatabase
@@ -27,15 +27,15 @@ async def test_store_and_query_events(event_store: EventStore) -> None:
2727
execution_id="x1",
2828
pod_name="pod1",
2929
namespace="ns",
30-
metadata=EventMetadata(service_name="svc", service_version="1", user_id="u1", correlation_id="cid"),
30+
metadata=AvroEventMetadata(service_name="svc", service_version="1", user_id="u1", correlation_id="cid"),
3131
)
3232
assert await event_store.store_event(ev1) is True
3333

3434
ev2 = PodCreatedEvent(
3535
execution_id="x2",
3636
pod_name="pod2",
3737
namespace="ns",
38-
metadata=EventMetadata(service_name="svc", service_version="1", user_id="u1"),
38+
metadata=AvroEventMetadata(service_name="svc", service_version="1", user_id="u1"),
3939
)
4040
res = await event_store.store_batch([ev1, ev2])
4141
assert res["total"] == 2 and res["stored"] >= 1
@@ -55,7 +55,7 @@ async def test_store_and_query_events(event_store: EventStore) -> None:
5555
@pytest.mark.asyncio
5656
async def test_replay_events(event_store: EventStore) -> None:
5757
ev = UserLoggedInEvent(user_id="u1", login_method="password",
58-
metadata=EventMetadata(service_name="svc", service_version="1"))
58+
metadata=AvroEventMetadata(service_name="svc", service_version="1"))
5959
await event_store.store_event(ev)
6060

6161
called = {"n": 0}

backend/tests/integration/events/test_event_store_consumer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from app.events.event_store import EventStore
1212
from app.events.schema.schema_registry import SchemaRegistryManager, initialize_event_schemas
1313
from app.infrastructure.kafka.events.user import UserLoggedInEvent
14-
from app.infrastructure.kafka.events.metadata import EventMetadata
14+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
1515

1616

1717
pytestmark = [pytest.mark.integration, pytest.mark.kafka, pytest.mark.mongodb]
@@ -32,7 +32,7 @@ async def test_event_store_consumer_stores_events(scope) -> None: # type: ignor
3232
ev = UserLoggedInEvent(
3333
user_id=f"u-{uuid.uuid4().hex[:6]}",
3434
login_method="password",
35-
metadata=EventMetadata(service_name="tests", service_version="1.0.0"),
35+
metadata=AvroEventMetadata(service_name="tests", service_version="1.0.0"),
3636
)
3737

3838
# Create a tuned consumer (fast batch timeout) limited to user-events

backend/tests/integration/events/test_schema_registry_real.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22

33
from app.events.schema.schema_registry import SchemaRegistryManager
4-
from app.infrastructure.kafka.events.metadata import EventMetadata
4+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
55
from app.infrastructure.kafka.events.pod import PodCreatedEvent
66

77
pytestmark = [pytest.mark.integration, pytest.mark.kafka]
@@ -14,7 +14,7 @@ def test_serialize_and_deserialize_event_real_registry() -> None:
1414
execution_id="e1",
1515
pod_name="p",
1616
namespace="n",
17-
metadata=EventMetadata(service_name="s", service_version="1"),
17+
metadata=AvroEventMetadata(service_name="s", service_version="1"),
1818
)
1919
data = m.serialize_event(ev)
2020
obj = m.deserialize_event(data, topic=str(ev.topic))

backend/tests/integration/k8s/test_k8s_worker_create_pod.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import pytest
55
from kubernetes.client.rest import ApiException
66

7-
from app.infrastructure.kafka.events.metadata import EventMetadata
7+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
88
from app.infrastructure.kafka.events.saga import CreatePodCommandEvent
99
from app.services.k8s_worker.config import K8sWorkerConfig
1010
from app.services.k8s_worker.worker import KubernetesWorker
@@ -63,7 +63,7 @@ async def test_worker_creates_configmap_and_pod(scope, monkeypatch): # type: ig
6363
cpu_request="50m",
6464
memory_request="64Mi",
6565
priority=5,
66-
metadata=EventMetadata(service_name="tests", service_version="1", user_id="u1"),
66+
metadata=AvroEventMetadata(service_name="tests", service_version="1", user_id="u1"),
6767
)
6868

6969
# Build and create ConfigMap + Pod

backend/tests/integration/result_processor/test_result_processor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from app.events.core.types import ConsumerConfig
1616
from app.events.schema.schema_registry import SchemaRegistryManager, initialize_event_schemas
1717
from app.infrastructure.kafka.events.execution import ExecutionCompletedEvent
18-
from app.infrastructure.kafka.events.metadata import EventMetadata
18+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
1919
from app.services.idempotency import IdempotencyManager
2020
from app.services.result_processor.processor import ResultProcessor
2121
from app.settings import get_settings
@@ -88,7 +88,7 @@ async def _stored(_event) -> None: # noqa: ANN001
8888
stdout="hello",
8989
stderr="",
9090
resource_usage=usage,
91-
metadata=EventMetadata(service_name="tests", service_version="1.0.0"),
91+
metadata=AvroEventMetadata(service_name="tests", service_version="1.0.0"),
9292
)
9393
await producer.produce(evt, key=execution_id)
9494

backend/tests/integration/services/events/test_event_service_integration.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from app.domain.events.event_models import EventFields, Event, EventFilter
77
from app.domain.enums.common import SortOrder
88
from app.domain.enums.user import UserRole
9-
from app.infrastructure.kafka.events.metadata import EventMetadata
9+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
1010
from app.domain.enums.events import EventType
1111
from app.services.event_service import EventService
1212

@@ -20,8 +20,8 @@ async def test_event_service_access_and_queries(scope) -> None: # type: ignore[
2020

2121
now = datetime.now(timezone.utc)
2222
# Seed some events (domain Event, not infra BaseEvent)
23-
md1 = EventMetadata(service_name="svc", service_version="1", user_id="u1", correlation_id="c1")
24-
md2 = EventMetadata(service_name="svc", service_version="1", user_id="u2", correlation_id="c1")
23+
md1 = AvroEventMetadata(service_name="svc", service_version="1", user_id="u1", correlation_id="c1")
24+
md2 = AvroEventMetadata(service_name="svc", service_version="1", user_id="u2", correlation_id="c1")
2525
e1 = Event(event_id="e1", event_type=str(EventType.USER_LOGGED_IN), event_version="1.0", timestamp=now,
2626
metadata=md1, payload={"user_id": "u1", "login_method": "password"}, aggregate_id="agg1")
2727
e2 = Event(event_id="e2", event_type=str(EventType.USER_LOGGED_IN), event_version="1.0", timestamp=now,

backend/tests/integration/test_sse_routes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from app.domain.enums.notification import NotificationSeverity, NotificationStatus
1010
from app.schemas_pydantic.sse import RedisNotificationMessage, SSEHealthResponse
1111
from app.infrastructure.kafka.events.pod import PodCreatedEvent
12-
from app.infrastructure.kafka.events.metadata import EventMetadata
12+
from app.infrastructure.kafka.events.metadata import AvroEventMetadata
1313
from app.services.sse.redis_bus import SSERedisBus
1414
from app.services.sse.sse_service import SSEService
1515
from tests.helpers.eventually import eventually
@@ -131,7 +131,7 @@ async def _connected() -> None:
131131
execution_id=exec_id,
132132
pod_name=f"executor-{exec_id}",
133133
namespace="default",
134-
metadata=EventMetadata(service_name="tests", service_version="1"),
134+
metadata=AvroEventMetadata(service_name="tests", service_version="1"),
135135
)
136136
await bus.publish_event(exec_id, ev)
137137

0 commit comments

Comments
 (0)