Исправлена дедупликация задач синхронизации контакта

This commit is contained in:
mi
2026-08-05 12:59:27 +03:00
parent 1a420eeaf0
commit 5100ba9fc3
3 changed files with 92 additions and 3 deletions
+16 -2
View File
@@ -270,18 +270,32 @@ class InfrastructureConfigTests(unittest.TestCase):
sms_db = (ROOT / "sms-service/app/db.py").read_text(encoding="utf-8")
self.assertNotIn("server_settings", sms_db)
def test_contact_sync_qualifies_pgcrypto_digest(self) -> None:
def test_contact_sync_qualifies_digest_and_deduplicates_initial_map(self) -> None:
initial = (
ROOT / "api-backend/alembic/versions/0001_initial_han_app.py"
).read_text(encoding="utf-8")
fix = (
ROOT / "api-backend/alembic/versions/0002_qualify_pgcrypto_digest.py"
).read_text(encoding="utf-8")
dedup_fix = (
ROOT / "api-backend/alembic/versions/0010_contact_map_dedup.py"
).read_text(encoding="utf-8")
main = (ROOT / "api-backend/app/main.py").read_text(encoding="utf-8")
self.assertIn("public.digest(", initial)
self.assertIn("public.digest(", fix)
self.assertIn('down_revision: str | None = "0001_initial"', fix)
self.assertIn('EXPECTED_API_DB_REVISION = "0009_chat_message_max"', main)
self.assertIn("IF v_task_type = 'contact.map_or_create' THEN", dedup_fix)
self.assertIn("v_dedup := v_task_type || ':' || v_entity_id::text;", dedup_fix)
self.assertIn(
"NEW.phone_number IS NOT DISTINCT FROM OLD.phone_number",
dedup_fix,
)
self.assertIn(
"NEW.record_status IS NOT DISTINCT FROM OLD.record_status",
dedup_fix,
)
self.assertIn('down_revision: str | None = "0009_chat_message_max"', dedup_fix)
self.assertIn('EXPECTED_API_DB_REVISION = "0010_contact_map_dedup"', main)
def test_consent_audit_migration_supports_existing_and_fresh_databases(self) -> None:
migration = (