From 7e6109c129af51f2e39ad17c6f3f8b84fd10f6db Mon Sep 17 00:00:00 2001 From: antonfirsov Date: Mon, 6 May 2024 21:50:51 +0200 Subject: [PATCH] stress suspected tests --- .../HttpClientHandlerTest.AcceptAllCerts.cs | 33 +++++++++++++++++++ ...ttpClientHandlerTest.ServerCertificates.cs | 32 ++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.AcceptAllCerts.cs b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.AcceptAllCerts.cs index b449f5025276dc..4ea280283afee5 100644 --- a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.AcceptAllCerts.cs +++ b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.AcceptAllCerts.cs @@ -93,6 +93,22 @@ await TestHelper.WhenAllCompletedOrAnyFailed( new object[] { Configuration.Http.WrongHostNameCertRemoteServer }, }; + + public static TheoryData InvalidCertificateServers_Moar + { + get + { + TheoryData data = new(); + for (int i = 0; i < 50; i++) + { + data.Add(Configuration.Http.ExpiredCertRemoteServer, i); + data.Add(Configuration.Http.SelfSignedCertRemoteServer, i); + data.Add(Configuration.Http.WrongHostNameCertRemoteServer, i); + } + return data; + } + } + [OuterLoop] [ConditionalTheory(nameof(ClientSupportsDHECipherSuites))] [MemberData(nameof(InvalidCertificateServers))] @@ -104,5 +120,22 @@ public async Task InvalidCertificateServers_CertificateValidationDisabled_Succee (await client.GetAsync(url)).Dispose(); } } + + [ConditionalTheory(nameof(ClientSupportsDHECipherSuites))] + [MemberData(nameof(InvalidCertificateServers_Moar))] + public Task InvalidCertificateServers_CertificateValidationDisabled_Succeeds_Inner(string url, int dummy) + { + _ = dummy; + return InvalidCertificateServers_CertificateValidationDisabled_Succeeds(url); + } + + [OuterLoop] + [ConditionalTheory(nameof(ClientSupportsDHECipherSuites))] + [MemberData(nameof(InvalidCertificateServers_Moar))] + public Task InvalidCertificateServers_CertificateValidationDisabled_Succeeds_Outer(string url, int dummy) + { + _ = dummy; + return InvalidCertificateServers_CertificateValidationDisabled_Succeeds(url); + } } } diff --git a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.ServerCertificates.cs b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.ServerCertificates.cs index 236af85b26035d..70b19f3b01ff94 100644 --- a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.ServerCertificates.cs +++ b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.ServerCertificates.cs @@ -283,6 +283,38 @@ private async Task UseCallback_BadCertificate_ExpectedPolicyErrors_Helper(string } } + public static TheoryData CertificateValidationServersAndExpectedPolicies_Moar + { + get + { + TheoryData data = new(); + for (int i = 0; i < 50; i++) + { + data.Add(Configuration.Http.ExpiredCertRemoteServer, SslPolicyErrors.RemoteCertificateChainErrors, i); + data.Add(Configuration.Http.WrongHostNameCertRemoteServer, SslPolicyErrors.RemoteCertificateNameMismatch, i); + } + + return data; + } + } + + [Theory] + [MemberData(nameof(CertificateValidationServersAndExpectedPolicies_Moar))] + public Task UseCallback_BadCertificate_ExpectedPolicyErrors_Inner(string url, SslPolicyErrors expectedErrors, int dummy) + { + _ = dummy; + return UseCallback_BadCertificate_ExpectedPolicyErrors(url, expectedErrors); + } + + [OuterLoop("Uses external servers")] + [Theory] + [MemberData(nameof(CertificateValidationServersAndExpectedPolicies_Moar))] + public Task UseCallback_BadCertificate_ExpectedPolicyErrors_Outer(string url, SslPolicyErrors expectedErrors, int dummy) + { + _ = dummy; + return UseCallback_BadCertificate_ExpectedPolicyErrors(url, expectedErrors); + } + [OuterLoop("Uses external servers")] [Theory] [MemberData(nameof(CertificateValidationServersAndExpectedPolicies))]