System.Net.Http.HttpRequestException: SSL-соединение не удалось установить в интеграционном тестеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 System.Net.Http.HttpRequestException: SSL-соединение не удалось установить в интеграционном тесте

Сообщение Anonymous »

У меня есть консольное приложение, с помощью которого я запускаю набор интеграционных тестов, чтобы протестировать свой API в различных сценариях (сценарии ответа hhtp 401, 400 и ок 200), локально никаких проблем, но когда я запускаю конвейер на git, некоторые из тестов, проверяющих, что код состояния 200 или 204, завершается неудачно из-за следующей ошибки:

Код: Выделить всё

An unhandled exception has occurred while executing the request. System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.  --->  System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain:  UntrustedRoot at System.Net.Security.SslStream.SendAuthResetSignal(ReadOnlySpan
1 оповещение, исключение ExceptionDispatchInfo)
at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean takeFirst, Byte [] reAuthenticationData, CancellationToken cancelToken)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, запрос HttpRequestMessage, логический async, поток потока, CancellationToken cancelToken)
--- Конец внутренней трассировки стека исключений ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, запрос HttpRequestMessage, Boolean async, поток потока, CancellationToken cancelToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(запрос HttpRequestMessage) , Boolean async, CancellationToken cancelToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancelToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem lengthItem) )at System.Threading.Tasks.TaskCompletionSourceWithCancellation

Код: Выделить всё

1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at User.Test.HttpService.HttpClientExtensions.PostAsync(HttpClient client, String requestUri, Object model) in /builds/projects/apis/services/apis/src/Services/Api.HttpService/Extension/HttpClientExtensions.cs:line 52 at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask
1 actionResultValueTask)
в Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(вызов ControllerActionInvoker, Task LastTask, Состояние следующее, Область области, Состояние объекта, Логическое значение isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(контекст ActionExecutedContextSealed)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope&scope, Object&state, Boolean& isCompleted)
в Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(вызов ControllerActionInvoker, задача LastTask, состояние следующее, область области, состояние объекта, логическое значение isCompleted)
в Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker .g__Awaited|20_0(вызов ResourceInvoker, Task LastTask, состояние следующее, область области, состояние объекта, логическое значение isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(вызов ResourceInvoker , задача задачи, область IDisposable)
в Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(вызов ResourceInvoker, задача задачи, область IDisposable)
в Microsoft.AspNetCore.Authorization.AuthorizationMiddleware .Invoke(контекст HttpContext)
в Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(контекст HttpContext)
в Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
в Swashbuckle.AspNetCore .Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
в Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
в Hellang.Middleware.ProblemDetails.ProblemDetailsMiddleware.Invoke(HttpContext context)`
Я пробовал с помощью почтальона вызывать различные конечные точки, а также отдельные API, вызываемые мной, и у меня никогда не возникало проблем.
И эти пчелы также корректно работают на различных порталах/сайтах. /приложения, которые их используют, поэтому проблема, похоже, только в тестовом приложении

Подробнее здесь: https://stackoverflow.com/questions/791 ... establishe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»