feat: add cdr processing worker and dlq routing
This commit is contained in:
36
tests/unit/test_dlq.py
Normal file
36
tests/unit/test_dlq.py
Normal file
@@ -0,0 +1,36 @@
|
||||
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")
|
||||
Reference in New Issue
Block a user