Сгруппировать тестовые проекты по областям

Deal.Tests.Unit, Deal.Telegram.Tests, Deal.Ai.Tests, Deal.Ml.Tests
разложены по областям (Modules/<X>, Api, Infrastructure, Contracts,
Grpc, ...), общие хелперы -> Support; namespace = папка, using
между областями добавлены итеративно по ошибкам сборки.
This commit is contained in:
Rustam Khalimov
2026-09-11 13:28:26 +03:00
parent e3a2692507
commit 5bfa92a4ac
212 changed files with 1982 additions and 1686 deletions
@@ -5,8 +5,9 @@ using Grpc.Core;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// Тесты исходящего gRPC-канала в ядро (план Task 10 Acceptance: «PushMessage-клиент к in-proc
@@ -8,8 +8,10 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Telegram;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// RPC-тесты каталога/мониторинга поверх реального gRPC-хоста (план Task 10: RefreshDialogs/
@@ -4,8 +4,9 @@ using Deal.Telegram.Dialogs;
using Deal.Telegram.Telegram;
using Deal.Telegram.Extensions;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// Unit-тесты маппера ответов discovery (план Task 11 Acceptance: «формат ответов — тесты на чистых
@@ -8,8 +8,10 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Telegram;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// RPC-тесты discovery-операций поверх реального gRPC-хоста (план Task 11: Search/GetInfo/ReadForEval/
@@ -6,8 +6,9 @@ using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.Extensions.DependencyInjection;
using System.Net;
using System.Net.Sockets;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
// Фейковая реализация IngressService (сервер ядра) для in-proc проверки клиента ингресса
// (план Task 10: «PushMessage-клиент к in-proc fake-серверу ингресса»). Записывает вызовы и metadata
@@ -6,8 +6,10 @@ using Deal.Telegram.Extensions;
using Grpc.Core;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Telegram;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// Unit-тесты realtime-listener'а (план Task 10 Acceptance: фильтр мониторинга; «новые сообщения →
@@ -3,8 +3,9 @@ using Grpc.Core;
using Grpc.Health.V1;
using Grpc.Net.Client;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// Интеграционные тесты каркаса telegram-service (план Task 2, Acceptance + задача сессий).
@@ -5,8 +5,10 @@ using Grpc.Core;
using Grpc.Net.Client;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Telegram;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
/// <summary>
/// RPC-тесты подключения аккаунта поверх реального gRPC-хоста (план Task 9 Acceptance: ветки RPC —
@@ -8,8 +8,9 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using System.Net;
using System.Net.Sockets;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
// Общий харнесс интеграционных тестов telegram-service: поднимает хост (TelegramServiceHost.Create)
// в процессе теста на эфемерном порту с управляемым окружением env и каталогом сессий в temp.
@@ -2,8 +2,9 @@ using Deal.Grpc.Telegram;
using Deal.Telegram.Core;
using Deal.Telegram.Dialogs;
using Grpc.Core;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Grpc;
// Фейк исходящего канала в ядро (ICoreIngressClient) для unit-тестов служб каталога: записывает
// PushMessage/SyncDialogs без сети; SyncDialogs возвращает настраиваемый monitored-набор (роль ядра,
@@ -2,8 +2,9 @@ using System.Security.Cryptography;
using Deal.Telegram.Sessions;
using Grpc.Core;
using Xunit;
using Deal.Telegram.Tests.Telegram;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Support;
/// <summary>
/// Тесты файлового хранилища сессий и AES-GCM-обёртки (план Task 9 Acceptance: roundtrip/шифрование/
@@ -3,8 +3,9 @@ using Deal.Telegram.Sessions;
using Grpc.Core;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
using Deal.Telegram.Tests.Telegram;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Support;
/// <summary>
/// Тесты фазовой машины сессии тенанта (план Task 9 Acceptance: фазовые переходы на fake-клиенте
@@ -5,8 +5,10 @@ using Deal.Telegram.Extensions;
using Grpc.Core;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Grpc;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты backfill диалога (план Task 10 Acceptance: паузы fake-пейсером, processed, mark-as-read
@@ -1,7 +1,8 @@
using Deal.Telegram.Dialogs;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты зеркала каталога/мониторинга диалогов (план Task 10: DialogCatalog; Ruling 7 — ядро
@@ -1,7 +1,8 @@
using Deal.Telegram.Dialogs;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты цвета диалога (план Task 10: DialogHue — 1:1 dialog_hue прототипа L876–880 и палитры
@@ -5,8 +5,10 @@ using Deal.Telegram.Extensions;
using Grpc.Core;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Grpc;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты discovery-операций (план Task 11): поиск с паузой 2–4 с и дедупом/обрезкой, join по
@@ -1,8 +1,9 @@
using Deal.Telegram.Sessions;
using Deal.Telegram.Telegram;
using Deal.Telegram.Extensions;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
// Фейковый клиент Telegram для unit/in-proc тестов (план Task 9: фазовые переходы на fake-клиенте
// абстракции ISessionClient; без сети). Поведение задаётся скриптом: ошибки/результаты кода/пароля,
@@ -1,8 +1,9 @@
using Deal.Telegram.Sessions;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
// Харнесс пула сессий (SessionFarm) с готовой ready-сессией тенанта для unit-тестов служб каталога
// (BackfillService/RealtimeSweep/RealtimeListener ходят в сессию через SessionFarm, как в проде).
@@ -1,7 +1,8 @@
using Deal.Telegram.Caching;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты LRU-кэша (этап 12, пакет C): вытеснение least-recently-used при переполнении,
@@ -5,8 +5,10 @@ using Deal.Telegram.Extensions;
using Grpc.Core;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
using Deal.Telegram.Tests.Support;
using Deal.Telegram.Tests.Grpc;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты догона realtime (план Task 10 Acceptance: фильтр мониторинга; RealtimeSweep L392–456).
@@ -1,7 +1,8 @@
using Deal.Telegram.Sessions;
using Microsoft.Extensions.Logging.Abstractions;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
// Харнесс ready-сессии для unit-тестов каталога (план Task 10): реальное хранилище в temp-каталоге,
// фейковая фабрика клиентов и сессия, возобновлённая из «сохранённой авторизованной сессии»
@@ -1,7 +1,8 @@
using Deal.Telegram.Sessions;
using Microsoft.Extensions.Logging.Abstractions;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
// Фабрика компонентов хранилища сессий для unit-тестов: уникальный temp-каталог на сценарий,
// тестовый ключ AES-256 и реальные SessionFileCipher/SessionStore (без сети).
@@ -2,8 +2,9 @@ using Deal.Telegram.Telegram;
using Deal.Telegram.Extensions;
using TL;
using Xunit;
using Deal.Telegram.Tests.Support;
namespace Deal.Telegram.Tests;
namespace Deal.Telegram.Tests.Telegram;
/// <summary>
/// Unit-тесты веток realtime-разбора на фейковых TL-объектах (без сети; план Task 10, ревью-фикс: