Files
telecom-cdr-pipeline/tests/unit/test_dlq.py

37 lines
831 B
Python

from core.domain.errors import (
CDRProcessingError,
FailureReason,
)
from core.worker.dlq import build_dlq_envelope
def test_build_dlq_envelope() -> None:
original = {
"raw_id": "raw-invalid-001",
"rat": 99,
}
error = CDRProcessingError(
reason=FailureReason.INVALID_RAT_VALUE,
detail="Unsupported RAT value: 99.",
failed_field="rat",
)
envelope = build_dlq_envelope(
original_payload=original,
error=error,
worker_instance="worker-test",
)
assert envelope["original_payload"] == original
assert (
envelope["failure_reason"]
== "invalid_rat_value"
)
assert envelope["failed_field"] == "rat"
assert envelope["worker_instance"] == "worker-test"
assert envelope["failed_at"].endswith("Z")