feat: Phase 3 Tasks 23-25 + Quality-Gate-Fixes

Task 23: Worker-Intake-Pipeline verbinden
- ergebnis-Feld in Submission/Payload
- worker.py extrahiert + worker_loop refactor
- test_worker.py mit VerarbeiteSubmission/WorkerLoop tests

Task 24: Admin-Stats mit echten Daten
- processed_total, uptime, error_rate, VERSION
- admin_health mit Redis-Live-Daten

Task 25: E2E-Integrationstest + worker_refaktorisiert

Quality-Gate-Fixes:
- consumername Collision: 'worker-1' -> f'worker-{id(self)}'
- fakeredis block=0 Timeout fix
- WhatsApp/Telegram webhook payload fixes
- test_telegram/integration/e2e/refaktorisiert
- handler.py recovery nach corrupted Patch
This commit is contained in:
hermes
2026-06-23 21:38:50 +00:00
parent c56497d88a
commit 31b1a62cb2
19 changed files with 670 additions and 163 deletions
+6 -9
View File
@@ -3,19 +3,20 @@
from __future__ import annotations
import sys
import unittest.mock as mock
from unittest import mock
import fakeredis
import pytest
# --- Fake redis module that provides real-like exceptions ---
import redis as _real_redis
from src.database import Base, _engine
# --- Fake redis module that provides real-like exceptions ---
import redis as _real_redis
class _FakeRedis:
"""Wraps fakeredis with the correct redis.exceptions hierarchy."""
@staticmethod
def exceptions():
return _real_redis.exceptions
@@ -26,10 +27,6 @@ class _FakeRedis:
def __getattr__(self, name):
return getattr(self._conn, name)
@property
def exceptions(self):
return _real_redis.exceptions
# Install BEFORE any app code runs
sys.modules["redis"] = mock.MagicMock()