From 3bcf4074b565305a4df42407e20891e5c917cb3a Mon Sep 17 00:00:00 2001 From: stepan Date: Sun, 13 Sep 2026 03:54:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D1=82=D0=B0=D0=B1=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20ingress-?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=B1=D0=B5=D0=B7=20=D0=B3?= =?UTF-8?q?=D0=BB=D0=BE=D0=B1=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TelegramIngressTestHost больше не мутирует процессную переменную DEAL_SERVICE_TOKEN: токен задаётся in-memory конфигурацией хоста. Три ingress-тест-класса шли параллельно и перетирали env друг другу. --- .../Support/TelegramIngressTestHost.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/core/tests/Deal.Tests.Unit/Support/TelegramIngressTestHost.cs b/src/core/tests/Deal.Tests.Unit/Support/TelegramIngressTestHost.cs index 6548585..84075ae 100644 --- a/src/core/tests/Deal.Tests.Unit/Support/TelegramIngressTestHost.cs +++ b/src/core/tests/Deal.Tests.Unit/Support/TelegramIngressTestHost.cs @@ -18,6 +18,7 @@ using Grpc.Net.Client; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Server.Kestrel.Core; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Diagnostics.HealthChecks; @@ -57,15 +58,17 @@ internal static class TelegramIngressTestHost Func scenario, RateLimitOptions? rateLimitOptions = null) { - string? originalToken = Environment.GetEnvironmentVariable(ServiceTokenEnvKey); - Environment.SetEnvironmentVariable(ServiceTokenEnvKey, serviceToken); - WebApplication? app = null; GrpcChannel? channel = null; try { int port = TestPort.Allocate(); WebApplicationBuilder builder = WebApplication.CreateBuilder(); + // Токен ингресса задаётся конфигурацией хоста (в приоритете над env) — без мутации процесса. + builder.Configuration.AddInMemoryCollection(new Dictionary + { + [ServiceTokenEnvKey] = serviceToken, + }); builder.WebHost.ConfigureKestrel(kestrel => kestrel.Listen(IPAddress.Loopback, port, listen => listen.Protocols = HttpProtocols.Http2)); @@ -131,8 +134,6 @@ internal static class TelegramIngressTestHost await app.StopAsync(); await app.DisposeAsync(); } - - Environment.SetEnvironmentVariable(ServiceTokenEnvKey, originalToken); } }