diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12d8d7f48..5c73489e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,11 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Setup .NET 8 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + - name: 'WireMock.Net.Tests' run: dotnet test './test/WireMock.Net.Tests/WireMock.Net.Tests.csproj' -c Release --framework net8.0 diff --git a/Directory.Build.props b/Directory.Build.props index ae6342724..6d2246ffe 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,7 +4,7 @@ - 1.14.0 + 2.0.0-preview-01 WireMock.Net-Logo.png https://github.com/wiremock/WireMock.Net Apache-2.0 @@ -13,7 +13,7 @@ https://github.com/wiremock/WireMock.Net ../../resources/WireMock.Net-Logo.ico PackageReadme.md - 12.0 + 12 enable @@ -51,17 +51,17 @@ - + - + + - - - PreserveNewest - - + + + PreserveNewest + + - - - + + + - - - - - + + + + + - - - PreserveNewest - - - PreserveNewest - - + + + PreserveNewest + + + PreserveNewest + + \ No newline at end of file diff --git a/examples/WireMock.Net.Console.Proxy.NETCoreApp/WireMock.Net.Console.Proxy.NETCoreApp.csproj b/examples/WireMock.Net.Console.Proxy.NETCoreApp/WireMock.Net.Console.Proxy.NETCoreApp.csproj index bdd303f5a..9d047dd54 100644 --- a/examples/WireMock.Net.Console.Proxy.NETCoreApp/WireMock.Net.Console.Proxy.NETCoreApp.csproj +++ b/examples/WireMock.Net.Console.Proxy.NETCoreApp/WireMock.Net.Console.Proxy.NETCoreApp.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 ../../resources/WireMock.Net-Logo.ico diff --git a/examples/WireMock.Net.ConsoleApp.UsingNuGet/WireMock.Net.ConsoleApp.UsingNuGet.csproj b/examples/WireMock.Net.ConsoleApp.UsingNuGet/WireMock.Net.ConsoleApp.UsingNuGet.csproj index fdc43fac2..548364529 100644 --- a/examples/WireMock.Net.ConsoleApp.UsingNuGet/WireMock.Net.ConsoleApp.UsingNuGet.csproj +++ b/examples/WireMock.Net.ConsoleApp.UsingNuGet/WireMock.Net.ConsoleApp.UsingNuGet.csproj @@ -7,16 +7,16 @@ enable - + - + + + \ No newline at end of file diff --git a/examples/WireMock.Net.OpenApiParser.ConsoleApp/WireMock.Net.OpenApiParser.ConsoleApp.csproj b/examples/WireMock.Net.OpenApiParser.ConsoleApp/WireMock.Net.OpenApiParser.ConsoleApp.csproj index ddc6cf328..d56746262 100644 --- a/examples/WireMock.Net.OpenApiParser.ConsoleApp/WireMock.Net.OpenApiParser.ConsoleApp.csproj +++ b/examples/WireMock.Net.OpenApiParser.ConsoleApp/WireMock.Net.OpenApiParser.ConsoleApp.csproj @@ -6,6 +6,8 @@ + + diff --git a/examples/WireMock.Net.Service/WireMock.Net.Service.csproj b/examples/WireMock.Net.Service/WireMock.Net.Service.csproj index 878a13efa..3721b4e4a 100644 --- a/examples/WireMock.Net.Service/WireMock.Net.Service.csproj +++ b/examples/WireMock.Net.Service/WireMock.Net.Service.csproj @@ -115,10 +115,10 @@ - 3.0.3 + 3.2.0 - 1.8.11 + 1.12.0 diff --git a/examples/WireMock.Net.WebApplication.NET6/App.cs b/examples/WireMock.Net.WebApplication.IIS/App.cs similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/App.cs rename to examples/WireMock.Net.WebApplication.IIS/App.cs diff --git a/examples/WireMock.Net.WebApplication.NET6/IWireMockService.cs b/examples/WireMock.Net.WebApplication.IIS/IWireMockService.cs similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/IWireMockService.cs rename to examples/WireMock.Net.WebApplication.IIS/IWireMockService.cs diff --git a/examples/WireMock.Net.WebApplication.NET6/Program.cs b/examples/WireMock.Net.WebApplication.IIS/Program.cs similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/Program.cs rename to examples/WireMock.Net.WebApplication.IIS/Program.cs diff --git a/examples/WireMock.Net.WebApplication.NET6/Properties/ServiceDependencies/WireMockNetWebApplicationNET6Linux - Zip Deploy/profile.arm.json b/examples/WireMock.Net.WebApplication.IIS/Properties/ServiceDependencies/WireMockNetWebApplicationNET6Linux - Zip Deploy/profile.arm.json similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/Properties/ServiceDependencies/WireMockNetWebApplicationNET6Linux - Zip Deploy/profile.arm.json rename to examples/WireMock.Net.WebApplication.IIS/Properties/ServiceDependencies/WireMockNetWebApplicationNET6Linux - Zip Deploy/profile.arm.json diff --git a/examples/WireMock.Net.WebApplication.NET6/Properties/launchSettings.json b/examples/WireMock.Net.WebApplication.IIS/Properties/launchSettings.json similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/Properties/launchSettings.json rename to examples/WireMock.Net.WebApplication.IIS/Properties/launchSettings.json diff --git a/examples/WireMock.Net.WebApplication.NET6/WireMock.Net.WebApplication.NET6.csproj b/examples/WireMock.Net.WebApplication.IIS/WireMock.Net.WebApplication.IIS.csproj similarity index 93% rename from examples/WireMock.Net.WebApplication.NET6/WireMock.Net.WebApplication.NET6.csproj rename to examples/WireMock.Net.WebApplication.IIS/WireMock.Net.WebApplication.IIS.csproj index f6a66ee9d..d4b3e2bec 100644 --- a/examples/WireMock.Net.WebApplication.NET6/WireMock.Net.WebApplication.NET6.csproj +++ b/examples/WireMock.Net.WebApplication.IIS/WireMock.Net.WebApplication.IIS.csproj @@ -1,7 +1,7 @@ - net6 + net8.0 WireMock.Net.WebApplication.Program WireMock.Net.WebApplication @@ -11,7 +11,7 @@ - + diff --git a/examples/WireMock.Net.WebApplication.NET6/WireMockService.cs b/examples/WireMock.Net.WebApplication.IIS/WireMockService.cs similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/WireMockService.cs rename to examples/WireMock.Net.WebApplication.IIS/WireMockService.cs diff --git a/examples/WireMock.Net.WebApplication.NET6/__admin/mappings/1e0686d3-5eb0-4c30-9482-db3735a1e4c4.json b/examples/WireMock.Net.WebApplication.IIS/__admin/mappings/1e0686d3-5eb0-4c30-9482-db3735a1e4c4.json similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/__admin/mappings/1e0686d3-5eb0-4c30-9482-db3735a1e4c4.json rename to examples/WireMock.Net.WebApplication.IIS/__admin/mappings/1e0686d3-5eb0-4c30-9482-db3735a1e4c4.json diff --git a/examples/WireMock.Net.WebApplication.NET6/appsettings.json b/examples/WireMock.Net.WebApplication.IIS/appsettings.json similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/appsettings.json rename to examples/WireMock.Net.WebApplication.IIS/appsettings.json diff --git a/examples/WireMock.Net.WebApplication.NET6/readme.md b/examples/WireMock.Net.WebApplication.IIS/readme.md similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/readme.md rename to examples/WireMock.Net.WebApplication.IIS/readme.md diff --git a/examples/WireMock.Net.WebApplication.NET6/web.config b/examples/WireMock.Net.WebApplication.IIS/web.config similarity index 100% rename from examples/WireMock.Net.WebApplication.NET6/web.config rename to examples/WireMock.Net.WebApplication.IIS/web.config diff --git a/examples/WireMockAzureQueueExample/WireMockAzureQueueExample.csproj b/examples/WireMockAzureQueueExample/WireMockAzureQueueExample.csproj index f4ad7664b..e3050adab 100644 --- a/examples/WireMockAzureQueueExample/WireMockAzureQueueExample.csproj +++ b/examples/WireMockAzureQueueExample/WireMockAzureQueueExample.csproj @@ -1,25 +1,25 @@ - - net6.0 - v4 - bb7d8355-68c4-4f81-8c2d-6cdd80cd7602 - - - - - - - - - - - - - PreserveNewest - - - PreserveNewest - Never - - + + net8.0 + v4 + bb7d8355-68c4-4f81-8c2d-6cdd80cd7602 + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + Never + + diff --git a/examples/WireMockAzureQueueProxy/WireMockAzureQueueProxy.csproj b/examples/WireMockAzureQueueProxy/WireMockAzureQueueProxy.csproj index e516dbde5..1e67daa9e 100644 --- a/examples/WireMockAzureQueueProxy/WireMockAzureQueueProxy.csproj +++ b/examples/WireMockAzureQueueProxy/WireMockAzureQueueProxy.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 diff --git a/src/WireMock.Net.Abstractions/Admin/Requests/LogRequestMatchModel.cs b/src/WireMock.Net.Abstractions/Admin/Requests/LogRequestMatchModel.cs index 6a3796275..052126189 100644 --- a/src/WireMock.Net.Abstractions/Admin/Requests/LogRequestMatchModel.cs +++ b/src/WireMock.Net.Abstractions/Admin/Requests/LogRequestMatchModel.cs @@ -47,5 +47,5 @@ public class LogRequestMatchModel /// /// The match details. /// - public IList MatchDetails { get; set; } + public IList MatchDetails { get; set; } = []; } \ No newline at end of file diff --git a/src/WireMock.Net.Abstractions/Admin/Settings/SettingsModel.cs b/src/WireMock.Net.Abstractions/Admin/Settings/SettingsModel.cs index ad78701b3..976dfcd91 100644 --- a/src/WireMock.Net.Abstractions/Admin/Settings/SettingsModel.cs +++ b/src/WireMock.Net.Abstractions/Admin/Settings/SettingsModel.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Text.RegularExpressions; -using JetBrains.Annotations; using WireMock.Handlers; using WireMock.Types; @@ -123,7 +122,6 @@ public class SettingsModel /// public Dictionary? ProtoDefinitions { get; set; } -#if NETSTANDARD1_3_OR_GREATER || NET461 /// /// Server client certificate mode /// @@ -133,5 +131,4 @@ public class SettingsModel /// Whether to accept any client certificate /// public bool AcceptAnyClientCertificate { get; set; } -#endif } \ No newline at end of file diff --git a/src/WireMock.Net.Abstractions/IRequestMessage.cs b/src/WireMock.Net.Abstractions/IRequestMessage.cs index c2e7144a9..7b42291fe 100644 --- a/src/WireMock.Net.Abstractions/IRequestMessage.cs +++ b/src/WireMock.Net.Abstractions/IRequestMessage.cs @@ -2,9 +2,7 @@ using System; using System.Collections.Generic; -#if NETSTANDARD1_3_OR_GREATER || NET461 using System.Security.Cryptography.X509Certificates; -#endif using WireMock.Types; using WireMock.Util; @@ -118,13 +116,11 @@ public interface IRequestMessage /// byte[]? BodyAsBytes { get; } -#if MIMEKIT /// /// The original body as MimeMessage. /// Convenience getter for Handlebars and WireMockAssertions. /// Models.Mime.IMimeMessageData? BodyAsMimeMessage { get; } -#endif /// /// The detected body type. Convenience getter for Handlebars. @@ -169,10 +165,8 @@ public interface IRequestMessage /// The query parameter value as WireMockList or null when not found. WireMockList? GetParameter(string key, bool ignoreCase = false); -#if NETSTANDARD1_3_OR_GREATER || NET461 /// /// Gets the connection's client certificate /// X509Certificate2? ClientCertificate { get; } -#endif } \ No newline at end of file diff --git a/src/WireMock.Net.Abstractions/Types/ClientCertificateMode.cs b/src/WireMock.Net.Abstractions/Types/ClientCertificateMode.cs index 73bd663c7..8dc9fea2d 100644 --- a/src/WireMock.Net.Abstractions/Types/ClientCertificateMode.cs +++ b/src/WireMock.Net.Abstractions/Types/ClientCertificateMode.cs @@ -2,7 +2,6 @@ namespace WireMock.Types; -#if NETSTANDARD1_3_OR_GREATER || NET461 /// /// Describes the client certificate requirements for a HTTPS connection. /// This enum is the same as https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.https.clientcertificatemode @@ -29,5 +28,4 @@ public enum ClientCertificateMode /// It may be requested by the application later. /// DelayCertificate, -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/src/WireMock.Net.Abstractions/WireMock.Net.Abstractions.csproj b/src/WireMock.Net.Abstractions/WireMock.Net.Abstractions.csproj index 9d757fccd..1e1f1682f 100644 --- a/src/WireMock.Net.Abstractions/WireMock.Net.Abstractions.csproj +++ b/src/WireMock.Net.Abstractions/WireMock.Net.Abstractions.csproj @@ -4,7 +4,8 @@ Commonly used interfaces, models, enumerations and types. WireMock.Net.Abstractions Stef Heyenrath - net45;net451;net461;netstandard1.3;netstandard2.0;netstandard2.1 + + net48;net8.0 true $(NoWarn);1591;8603 WireMock.Net.Abstractions @@ -33,32 +34,22 @@ true - - $(DefineConstants);GRAPHQL;MIMEKIT;PROTOBUF - - - + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - \ No newline at end of file diff --git a/src/WireMock.Net.AspNetCore.Middleware/WireMock.Net.AspNetCore.Middleware.csproj b/src/WireMock.Net.AspNetCore.Middleware/WireMock.Net.AspNetCore.Middleware.csproj index c594bfc3c..4b62f48ac 100644 --- a/src/WireMock.Net.AspNetCore.Middleware/WireMock.Net.AspNetCore.Middleware.csproj +++ b/src/WireMock.Net.AspNetCore.Middleware/WireMock.Net.AspNetCore.Middleware.csproj @@ -38,7 +38,7 @@ - + diff --git a/src/WireMock.Net.AwesomeAssertions/WireMock.Net.AwesomeAssertions.csproj b/src/WireMock.Net.AwesomeAssertions/WireMock.Net.AwesomeAssertions.csproj index e07493d9a..151bec753 100644 --- a/src/WireMock.Net.AwesomeAssertions/WireMock.Net.AwesomeAssertions.csproj +++ b/src/WireMock.Net.AwesomeAssertions/WireMock.Net.AwesomeAssertions.csproj @@ -1,10 +1,11 @@ - + AwesomeAssertions extensions for WireMock.Net WireMock.Net.AwesomeAssertions Francesco Venturoli;Mahmoud Ali;Stef Heyenrath - net47;netstandard2.0;netstandard2.1 + + net48;net8.0 true WireMock.Net.AwesomeAssertions WireMock.Net.AwesomeAssertions @@ -32,7 +33,7 @@ - + diff --git a/src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo{TBody}.cs b/src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo{TBody}.cs index e803a3cba..51879a8ee 100644 --- a/src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo{TBody}.cs +++ b/src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo{TBody}.cs @@ -21,4 +21,4 @@ public WireMockRequestInfo(IRequestMessage request) /// Gets or initializes the deserialized request body. /// public TBody? Body { get; init; } -} +} \ No newline at end of file diff --git a/src/WireMock.Net.Extensions.Routing/WireMock.Net.Extensions.Routing.csproj b/src/WireMock.Net.Extensions.Routing/WireMock.Net.Extensions.Routing.csproj index 707912275..46da5f421 100644 --- a/src/WireMock.Net.Extensions.Routing/WireMock.Net.Extensions.Routing.csproj +++ b/src/WireMock.Net.Extensions.Routing/WireMock.Net.Extensions.Routing.csproj @@ -25,10 +25,10 @@ - + - + \ No newline at end of file diff --git a/src/WireMock.Net.FluentAssertions/WireMock.Net.FluentAssertions.csproj b/src/WireMock.Net.FluentAssertions/WireMock.Net.FluentAssertions.csproj index 2c01e288c..7a7dbfeb6 100644 --- a/src/WireMock.Net.FluentAssertions/WireMock.Net.FluentAssertions.csproj +++ b/src/WireMock.Net.FluentAssertions/WireMock.Net.FluentAssertions.csproj @@ -1,10 +1,11 @@ - + FluentAssertions extensions for WireMock.Net WireMock.Net.FluentAssertions Mahmoud Ali;Stef Heyenrath - net451;net47;netstandard1.3;netstandard2.0;netstandard2.1 + + net48;net8.0 true WireMock.Net.FluentAssertions WireMock.Net.FluentAssertions @@ -31,12 +32,8 @@ true - - - - - - + + diff --git a/src/WireMock.Net.GraphQL/WireMock.Net.GraphQL.csproj b/src/WireMock.Net.GraphQL/WireMock.Net.GraphQL.csproj index 51235cff1..039c94103 100644 --- a/src/WireMock.Net.GraphQL/WireMock.Net.GraphQL.csproj +++ b/src/WireMock.Net.GraphQL/WireMock.Net.GraphQL.csproj @@ -4,7 +4,8 @@ GraphQL support for WireMock.Net WireMock.Net.Matchers.GraphQL Stef Heyenrath - netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net8.0 + + net48;net8.0 true wiremock;matchers;matcher;graphql WireMock @@ -26,22 +27,11 @@ - - - - - + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - \ No newline at end of file diff --git a/src/WireMock.Net.Matchers.CSharpCode/Matchers/CSharpCodeMatcher.cs b/src/WireMock.Net.Matchers.CSharpCode/Matchers/CSharpCodeMatcher.cs index 7e557b241..fe65e1da7 100644 --- a/src/WireMock.Net.Matchers.CSharpCode/Matchers/CSharpCodeMatcher.cs +++ b/src/WireMock.Net.Matchers.CSharpCode/Matchers/CSharpCodeMatcher.cs @@ -108,72 +108,72 @@ private bool IsMatch(dynamic input, string pattern) object? result; -#if (NET451 || NET452) - var compilerParams = new System.CodeDom.Compiler.CompilerParameters - { - GenerateInMemory = true, - GenerateExecutable = false, - ReferencedAssemblies = - { - "System.dll", - "System.Core.dll", - "Microsoft.CSharp.dll", - "Newtonsoft.Json.dll" - } - }; - - using (var codeProvider = new Microsoft.CSharp.CSharpCodeProvider()) - { - var compilerResults = codeProvider.CompileAssemblyFromSource(compilerParams, source); - - if (compilerResults.Errors.Count != 0) - { - var errors = from System.CodeDom.Compiler.CompilerError er in compilerResults.Errors select er.ToString(); - throw new WireMockException(string.Join(", ", errors)); - } - - var helper = compilerResults.CompiledAssembly?.CreateInstance("CodeHelper"); - if (helper == null) - { - throw new WireMockException("CSharpCodeMatcher: Unable to create instance from WireMock.CodeHelper"); - } - - var methodInfo = helper.GetType().GetMethod("IsMatch"); - if (methodInfo == null) - { - throw new WireMockException("CSharpCodeMatcher: Unable to find method 'IsMatch' in WireMock.CodeHelper"); - } - - try - { - result = methodInfo.Invoke(helper, new[] { inputValue }); - } - catch (Exception ex) - { - throw new WireMockException("CSharpCodeMatcher: Unable to call method 'IsMatch' in WireMock.CodeHelper", ex); - } - } -#elif (NET46 || NET461) - dynamic script; - try - { - script = CSScriptLibrary.CSScript.Evaluator.CompileCode(source).CreateObject("*"); - } - catch (Exception ex) - { - throw new WireMockException("CSharpCodeMatcher: Unable to create compiler for WireMock.CodeHelper", ex); - } - - try - { - result = script.IsMatch(inputValue); - } - catch (Exception ex) - { - throw new WireMockException("CSharpCodeMatcher: Problem calling method 'IsMatch' in WireMock.CodeHelper", ex); - } - -#elif (NETSTANDARD2_0 || NETSTANDARD2_1 || NETCOREAPP3_1 || NET5_0_OR_GREATER) + //#if (NET451 || NET452) + // var compilerParams = new System.CodeDom.Compiler.CompilerParameters + // { + // GenerateInMemory = true, + // GenerateExecutable = false, + // ReferencedAssemblies = + // { + // "System.dll", + // "System.Core.dll", + // "Microsoft.CSharp.dll", + // "Newtonsoft.Json.dll" + // } + // }; + + // using (var codeProvider = new Microsoft.CSharp.CSharpCodeProvider()) + // { + // var compilerResults = codeProvider.CompileAssemblyFromSource(compilerParams, source); + + // if (compilerResults.Errors.Count != 0) + // { + // var errors = from System.CodeDom.Compiler.CompilerError er in compilerResults.Errors select er.ToString(); + // throw new WireMockException(string.Join(", ", errors)); + // } + + // var helper = compilerResults.CompiledAssembly?.CreateInstance("CodeHelper"); + // if (helper == null) + // { + // throw new WireMockException("CSharpCodeMatcher: Unable to create instance from WireMock.CodeHelper"); + // } + + // var methodInfo = helper.GetType().GetMethod("IsMatch"); + // if (methodInfo == null) + // { + // throw new WireMockException("CSharpCodeMatcher: Unable to find method 'IsMatch' in WireMock.CodeHelper"); + // } + + // try + // { + // result = methodInfo.Invoke(helper, new[] { inputValue }); + // } + // catch (Exception ex) + // { + // throw new WireMockException("CSharpCodeMatcher: Unable to call method 'IsMatch' in WireMock.CodeHelper", ex); + // } + // } + //#elif (NET46 || NET461) + // dynamic script; + // try + // { + // script = CSScriptLibrary.CSScript.Evaluator.CompileCode(source).CreateObject("*"); + // } + // catch (Exception ex) + // { + // throw new WireMockException("CSharpCodeMatcher: Unable to create compiler for WireMock.CodeHelper", ex); + // } + + // try + // { + // result = script.IsMatch(inputValue); + // } + // catch (Exception ex) + // { + // throw new WireMockException("CSharpCodeMatcher: Problem calling method 'IsMatch' in WireMock.CodeHelper", ex); + // } + + //#elif (NETSTANDARD2_0 || NETSTANDARD2_1 || NETCOREAPP3_1 || NET5_0_OR_GREATER || NET48) Assembly assembly; try { @@ -202,9 +202,9 @@ private bool IsMatch(dynamic input, string pattern) { throw new WireMockException("CSharpCodeMatcher: Problem calling method 'IsMatch' in WireMock.CodeHelper", ex); } -#else - throw new NotSupportedException("The 'CSharpCodeMatcher' cannot be used in netstandard 1.3"); -#endif + //#else + // throw new NotSupportedException("The 'CSharpCodeMatcher' cannot be used in netstandard 1.3"); + //#endif try { return (bool)result; diff --git a/src/WireMock.Net.Matchers.CSharpCode/WireMock.Net.Matchers.CSharpCode.csproj b/src/WireMock.Net.Matchers.CSharpCode/WireMock.Net.Matchers.CSharpCode.csproj index ec560aaef..261be595d 100644 --- a/src/WireMock.Net.Matchers.CSharpCode/WireMock.Net.Matchers.CSharpCode.csproj +++ b/src/WireMock.Net.Matchers.CSharpCode/WireMock.Net.Matchers.CSharpCode.csproj @@ -4,7 +4,8 @@ A CSharpCodeMatcher which can be used to match WireMock.Net Requests using C# code. WireMock.Net.Matchers.CSharpCode Stef Heyenrath - net451;net452;net46;net461;netstandard1.3;netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + + net48;net8.0 true wiremock;matchers;matcher;csharp;csharpcode WireMock @@ -37,16 +38,8 @@ - - - - - - - - - - + + \ No newline at end of file diff --git a/src/WireMock.Net.MimePart/Models/MimeMessageDataWrapper.cs b/src/WireMock.Net.MimePart/Models/MimeMessageDataWrapper.cs index a4463f207..52a5e6399 100644 --- a/src/WireMock.Net.MimePart/Models/MimeMessageDataWrapper.cs +++ b/src/WireMock.Net.MimePart/Models/MimeMessageDataWrapper.cs @@ -135,6 +135,6 @@ public MimeMessageDataWrapper(IMimeMessage message) /// public override string ToString() { - return _message.ToString(); + return _message.ToString() ?? string.Empty; } } \ No newline at end of file diff --git a/src/WireMock.Net.MimePart/WireMock.Net.MimePart.csproj b/src/WireMock.Net.MimePart/WireMock.Net.MimePart.csproj index 26251d627..300c46ed1 100644 --- a/src/WireMock.Net.MimePart/WireMock.Net.MimePart.csproj +++ b/src/WireMock.Net.MimePart/WireMock.Net.MimePart.csproj @@ -4,7 +4,8 @@ MultiPart Mime support for WireMock.Net using MimeKitLite WireMock.Net.MimePart Stef Heyenrath - netstandard2.0;netstandard2.1;net462;net47;net48;net6.0;net8.0 + + net48;net8.0 true wiremock;matchers;matcher;mime;multipart;mimekit WireMock @@ -36,24 +37,16 @@ - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + - - - + - - + + diff --git a/src/WireMock.Net.Minimal/Authentication/AzureADAuthenticationMatcher.cs b/src/WireMock.Net.Minimal/Authentication/AzureADAuthenticationMatcher.cs index 93d0fedda..dc23a5c45 100644 --- a/src/WireMock.Net.Minimal/Authentication/AzureADAuthenticationMatcher.cs +++ b/src/WireMock.Net.Minimal/Authentication/AzureADAuthenticationMatcher.cs @@ -1,6 +1,5 @@ // Copyright © WireMock.Net -#if !NETSTANDARD1_3 using System; using System.Diagnostics.CodeAnalysis; using System.IdentityModel.Tokens.Jwt; @@ -111,5 +110,4 @@ private static bool TryExtractTenantId(string issuer, [NotNullWhen(true)] out st tenant = null; return false; } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Compatibility/StringExtensions.cs b/src/WireMock.Net.Minimal/Compatibility/StringExtensions.cs index a4eb0e92f..447aa48b8 100644 --- a/src/WireMock.Net.Minimal/Compatibility/StringExtensions.cs +++ b/src/WireMock.Net.Minimal/Compatibility/StringExtensions.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if NET451 || NET452 || NET46 || NET451 || NET461 || NETSTANDARD1_3 || NETSTANDARD2_0 +#if NET48 using System.Text.RegularExpressions; using WireMock.Constants; diff --git a/src/WireMock.Net.Minimal/Compatibility/WebProxy.cs b/src/WireMock.Net.Minimal/Compatibility/WebProxy.cs deleted file mode 100644 index 157a50b16..000000000 --- a/src/WireMock.Net.Minimal/Compatibility/WebProxy.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright © WireMock.Net - -#if NETSTANDARD1_3 - -// ReSharper disable once CheckNamespace -namespace System.Net; - -internal class WebProxy : IWebProxy -{ - private readonly string _proxy; - public ICredentials? Credentials { get; set; } - - public WebProxy(string proxy) - { - _proxy = proxy; - } - - public Uri GetProxy(Uri destination) - { - return new Uri(_proxy); - } - - public bool IsBypassed(Uri host) - { - return true; - } -} -#endif \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Http/HttpClientBuilder.cs b/src/WireMock.Net.Minimal/Http/HttpClientBuilder.cs index 5c465823c..8693cd3b0 100644 --- a/src/WireMock.Net.Minimal/Http/HttpClientBuilder.cs +++ b/src/WireMock.Net.Minimal/Http/HttpClientBuilder.cs @@ -11,29 +11,18 @@ internal static class HttpClientBuilder { public static HttpClient Build(HttpClientSettings settings) { -#if NETSTANDARD || NETCOREAPP3_1 || NET5_0_OR_GREATER +#if NET8_0_OR_GREATER var handler = new HttpClientHandler { CheckCertificateRevocationList = false, -#if NET5_0_OR_GREATER SslProtocols = System.Security.Authentication.SslProtocols.Tls13 | System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslProtocols.Tls11 | System.Security.Authentication.SslProtocols.Tls, -#else - SslProtocols = System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslProtocols.Tls11 | System.Security.Authentication.SslProtocols.Tls, -#endif - ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true, - - AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate - }; -#elif NET46 - var handler = new HttpClientHandler - { - ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true, + ServerCertificateCustomValidationCallback = (_, _, _, _) => true, AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; #else - var handler = new WebRequestHandler + var handler = new HttpClientHandler { - ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true, + ServerCertificateCustomValidationCallback = (_, _, _, _) => true, AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; #endif @@ -67,13 +56,8 @@ public static HttpClient Build(HttpClientSettings settings) } } -#if NET5_0_OR_GREATER ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (message, cert, chain, errors) => true; -#elif !NETSTANDARD1_3 - ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; - ServicePointManager.ServerCertificateValidationCallback = (message, cert, chain, errors) => true; -#endif return HttpClientFactory2.Create(handler); } diff --git a/src/WireMock.Net.Minimal/Http/WireMockHttpClientFactory.cs b/src/WireMock.Net.Minimal/Http/WireMockHttpClientFactory.cs index 590080e3c..6b5e16149 100644 --- a/src/WireMock.Net.Minimal/Http/WireMockHttpClientFactory.cs +++ b/src/WireMock.Net.Minimal/Http/WireMockHttpClientFactory.cs @@ -1,5 +1,6 @@ // Copyright © WireMock.Net -#if NET5_0_OR_GREATER + +#if NET8_0_OR_GREATER using System; using System.Net.Http; using WireMock.Server; diff --git a/src/WireMock.Net.Minimal/HttpsCertificate/CertificateLoader.cs b/src/WireMock.Net.Minimal/HttpsCertificate/CertificateLoader.cs index 0dcc4b184..1dfcb889f 100644 --- a/src/WireMock.Net.Minimal/HttpsCertificate/CertificateLoader.cs +++ b/src/WireMock.Net.Minimal/HttpsCertificate/CertificateLoader.cs @@ -43,11 +43,8 @@ public static X509Certificate2 LoadCertificate(IWireMockMiddlewareOptions option } finally { -#if NETSTANDARD || NET46 certStore.Dispose(); -#else certStore.Close(); -#endif } } @@ -56,7 +53,7 @@ public static X509Certificate2 LoadCertificate(IWireMockMiddlewareOptions option if (options.X509CertificateFilePath.EndsWith(ExtensionPem, StringComparison.OrdinalIgnoreCase)) { // PEM logic based on: https://www.scottbrady91.com/c-sharp/pem-loading-in-dotnet-core-and-dotnet -#if NET5_0_OR_GREATER +#if NET8_0_OR_GREATER if (!string.IsNullOrEmpty(options.X509CertificatePassword)) { var certPem = File.ReadAllText(options.X509CertificateFilePath); @@ -66,18 +63,8 @@ public static X509Certificate2 LoadCertificate(IWireMockMiddlewareOptions option return new X509Certificate2(cert.Export(X509ContentType.Pfx, defaultPasswordPem), defaultPasswordPem); } return X509Certificate2.CreateFromPemFile(options.X509CertificateFilePath); - -#elif NETCOREAPP3_1 - var cert = new X509Certificate2(options.X509CertificateFilePath); - if (!string.IsNullOrEmpty(options.X509CertificatePassword)) - { - var key = System.Security.Cryptography.ECDsa.Create()!; - key.ImportECPrivateKey(System.Text.Encoding.UTF8.GetBytes(options.X509CertificatePassword), out _); - return cert.CopyWithPrivateKey(key); - } - return cert; #else - throw new InvalidOperationException("Loading a PEM Certificate is only supported for .NET Core App 3.1, .NET 5.0 and higher."); + throw new InvalidOperationException("Loading a PEM Certificate is only supported for .NET 8.0 and higher."); #endif } @@ -123,11 +110,8 @@ public static X509Certificate2 LoadCertificate(string thumbprintOrSubjectName) } finally { -#if NETSTANDARD || NET46 certStore.Dispose(); -#else certStore.Close(); -#endif } } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Matchers/XPathMatcher.cs b/src/WireMock.Net.Minimal/Matchers/XPathMatcher.cs index 7504ce31a..581ce1441 100644 --- a/src/WireMock.Net.Minimal/Matchers/XPathMatcher.cs +++ b/src/WireMock.Net.Minimal/Matchers/XPathMatcher.cs @@ -11,9 +11,7 @@ using Stef.Validation; using WireMock.Admin.Mappings; using WireMock.Util; -#if !NETSTANDARD1_3 using Wmhelp.XPath2; -#endif namespace WireMock.Matchers; @@ -135,7 +133,7 @@ public void Load(string input) } catch { - _xmlDocument = default; + _xmlDocument = null; } } @@ -151,25 +149,17 @@ private object Evaluate(XPathNavigator navigator, AnyOf p var xmlNamespaceManager = GetXmlNamespaceManager(xmlNamespaceMap); if (xmlNamespaceManager == null) { -#if NETSTANDARD1_3 - return navigator.Evaluate(xpath); -#else return navigator.XPath2Evaluate(xpath); -#endif } -#if NETSTANDARD1_3 - return navigator.Evaluate(xpath, xmlNamespaceManager); -#else return navigator.XPath2Evaluate(xpath, xmlNamespaceManager); -#endif } private XmlNamespaceManager? GetXmlNamespaceManager(IEnumerable? xmlNamespaceMap) { if (_xpathNavigator == null || xmlNamespaceMap == null) { - return default; + return null; } var nsManager = new XmlNamespaceManager(_xpathNavigator.NameTable); diff --git a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETCore.cs b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.Cors.cs similarity index 95% rename from src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETCore.cs rename to src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.Cors.cs index c687c17b0..def0f03f6 100644 --- a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETCore.cs +++ b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.Cors.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if NETCOREAPP3_1 || NET5_0_OR_GREATER +#if NET8_0 using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using WireMock.Types; @@ -9,6 +9,8 @@ namespace WireMock.Owin; internal partial class AspNetCoreSelfHost { + private const string CorsPolicyName = "WireMock.Net - Policy"; + public void AddCors(IServiceCollection services) { if (_wireMockMiddlewareOptions.CorsPolicyOptions > CorsPolicyOptions.None) diff --git a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard.cs b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard.cs index 981ef04ee..b0a6e2f2c 100644 --- a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard.cs +++ b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard.cs @@ -1,12 +1,10 @@ // Copyright © WireMock.Net -#if USE_ASPNETCORE && !NETSTANDARD1_3 using System; using System.Collections.Generic; using System.Net; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Server.Kestrel.Core; -using Microsoft.AspNetCore.Server.Kestrel.Https; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using CertificateLoader = WireMock.HttpsCertificate.CertificateLoader; @@ -38,7 +36,7 @@ private static void SetHttpsAndUrls(KestrelServerOptions kestrelOptions, IWireMo options.ServerCertificate = CertificateLoader.LoadCertificate(wireMockMiddlewareOptions, urlDetail.Host); } - options.ClientCertificateMode = (ClientCertificateMode)wireMockMiddlewareOptions.ClientCertificateMode; + options.ClientCertificateMode = wireMockMiddlewareOptions.ClientCertificateMode; if (wireMockMiddlewareOptions.AcceptAnyClientCertificate) { options.ClientCertificateValidation = (_, _, _) => true; @@ -47,7 +45,7 @@ private static void SetHttpsAndUrls(KestrelServerOptions kestrelOptions, IWireMo if (urlDetail.IsHttp2) { - listenOptions.Protocols = HttpProtocols.Http2; + SetHttp2AsProtocolsOnListenOptions(listenOptions); } }); continue; @@ -55,10 +53,7 @@ private static void SetHttpsAndUrls(KestrelServerOptions kestrelOptions, IWireMo if (urlDetail.IsHttp2) { - Listen(kestrelOptions, urlDetail, listenOptions => - { - listenOptions.Protocols = HttpProtocols.Http2; - }); + Listen(kestrelOptions, urlDetail, SetHttp2AsProtocolsOnListenOptions); continue; } @@ -66,6 +61,15 @@ private static void SetHttpsAndUrls(KestrelServerOptions kestrelOptions, IWireMo } } + private static void SetHttp2AsProtocolsOnListenOptions(ListenOptions listenOptions) + { +#if NET8_0_OR_GREATER + listenOptions.Protocols = HttpProtocols.Http2; +#else + throw new NotSupportedException("HTTP/2 is only supported in .NET 8 or greater."); +#endif + } + private static void Listen(KestrelServerOptions kestrelOptions, HostUrlDetails urlDetail, Action configure) { // Listens on any IP with the given port. @@ -111,5 +115,4 @@ internal static IWebHostBuilder ConfigureKestrelServerOptions(this IWebHostBuild services.Configure(context.Configuration.GetSection("Kestrel")); }); } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard13.cs b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard13.cs deleted file mode 100644 index 9e04420cc..000000000 --- a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.NETStandard13.cs +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright © WireMock.Net - -#if USE_ASPNETCORE && NETSTANDARD1_3 -using System.Collections.Generic; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Server.Kestrel; -using Microsoft.AspNetCore.Server.Kestrel.Https; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using WireMock.HttpsCertificate; - -namespace WireMock.Owin; - -internal partial class AspNetCoreSelfHost -{ - private static void SetKestrelOptionsLimits(KestrelServerOptions options) - { - options.Limits.MaxRequestBufferSize = null; - options.Limits.MaxRequestHeaderCount = 100; - options.Limits.MaxResponseBufferSize = null; - } - - private static void SetHttpsAndUrls(KestrelServerOptions options, IWireMockMiddlewareOptions wireMockMiddlewareOptions, IEnumerable urlDetails) - { - foreach (var urlDetail in urlDetails) - { - if (urlDetail.IsHttps) - { - options.UseHttps(new HttpsConnectionFilterOptions - { - ServerCertificate = wireMockMiddlewareOptions.CustomCertificateDefined ? CertificateLoader.LoadCertificate(wireMockMiddlewareOptions, urlDetail.Host) : PublicCertificateHelper.GetX509Certificate2(), - ClientCertificateMode = (ClientCertificateMode) wireMockMiddlewareOptions.ClientCertificateMode, - ClientCertificateValidation = wireMockMiddlewareOptions.AcceptAnyClientCertificate ? (_, _, _) => true : null - }); - } - } - } -} - -internal static class IWebHostBuilderExtensions -{ - internal static IWebHostBuilder ConfigureAppConfigurationUsingEnvironmentVariables(this IWebHostBuilder builder) => builder; - - internal static IWebHostBuilder ConfigureKestrelServerOptions(this IWebHostBuilder builder) - { - var configuration = new ConfigurationBuilder() - .AddEnvironmentVariables() - .Build(); - - return builder.ConfigureServices(services => - { - services.Configure(configuration.GetSection("Kestrel")); - }); - } -} - -#endif \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.cs b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.cs index 7ce3c14db..a1fc47b41 100644 --- a/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.cs +++ b/src/WireMock.Net.Minimal/Owin/AspNetCoreSelfHost.cs @@ -1,10 +1,8 @@ // Copyright © WireMock.Net -#if USE_ASPNETCORE using System; using System.Collections.Generic; using System.IO; -using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; @@ -20,8 +18,6 @@ namespace WireMock.Owin; internal partial class AspNetCoreSelfHost : IOwinSelfHost { - private const string CorsPolicyName = "WireMock.Net - Policy"; - private readonly CancellationTokenSource _cts = new(); private readonly IWireMockMiddlewareOptions _wireMockMiddlewareOptions; private readonly IWireMockLogger _logger; @@ -74,7 +70,7 @@ public Task StartAsync() services.AddSingleton(); services.AddSingleton(); -#if NETCOREAPP3_1 || NET5_0_OR_GREATER +#if NET8_0_OR_GREATER AddCors(services); #endif _wireMockMiddlewareOptions.AdditionalServiceRegistration?.Invoke(services); @@ -83,7 +79,7 @@ public Task StartAsync() { appBuilder.UseMiddleware(); -#if NETCOREAPP3_1 || NET5_0_OR_GREATER +#if NET8_0_OR_GREATER UseCors(appBuilder); #endif _wireMockMiddlewareOptions.PreWireMockMiddlewareInit?.Invoke(appBuilder); @@ -99,69 +95,44 @@ public Task StartAsync() SetHttpsAndUrls(options, _wireMockMiddlewareOptions, _urlOptions.GetDetails()); }) .ConfigureKestrelServerOptions() - -#if NETSTANDARD1_3 - .UseUrls(_urlOptions.GetDetails().Select(u => u.Url).ToArray()) -#endif .Build(); return RunHost(_cts.Token); } - private Task RunHost(CancellationToken token) + private Task RunHost(CancellationToken token) + { + try { - try - { -#if NETCOREAPP3_1 || NET5_0_OR_GREATER - var appLifetime = _host.Services.GetRequiredService(); +#if NET8_0_OR_GREATER + var appLifetime = _host.Services.GetRequiredService(); #else - var appLifetime = _host.Services.GetRequiredService(); + var appLifetime = _host.Services.GetRequiredService(); #endif - appLifetime.ApplicationStarted.Register(() => - { - var addresses = _host.ServerFeatures - .Get()! - .Addresses; + appLifetime.ApplicationStarted.Register(() => + { + var addresses = _host.ServerFeatures + .Get()! + .Addresses; - foreach (var address in addresses) - { - Urls.Add(address.Replace("0.0.0.0", "localhost").Replace("[::]", "localhost")); + foreach (var address in addresses) + { + Urls.Add(address.Replace("0.0.0.0", "localhost").Replace("[::]", "localhost")); - PortUtils.TryExtract(address, out _, out _, out _, out _, out var port); - Ports.Add(port); - } + PortUtils.TryExtract(address, out _, out _, out _, out _, out var port); + Ports.Add(port); + } IsStarted = true; }); -#if NETSTANDARD1_3 - _logger.Info("Server using netstandard1.3"); -#elif NETSTANDARD2_0 - _logger.Info("Server using netstandard2.0"); -#elif NETSTANDARD2_1 - _logger.Info("Server using netstandard2.1"); -#elif NETCOREAPP3_1 - _logger.Info("Server using .NET Core App 3.1"); -#elif NET5_0 - _logger.Info("Server using .NET 5.0"); -#elif NET6_0 - _logger.Info("Server using .NET 6.0"); -#elif NET7_0 - _logger.Info("Server using .NET 7.0"); -#elif NET8_0 +#if NET8_0 _logger.Info("Server using .NET 8.0"); -#elif NET46 - _logger.Info("Server using .NET Framework 4.6.1 or higher"); +#elif NET48 + _logger.Info("Server using .NET Framework 4.8"); #endif -#if NETSTANDARD1_3 - return Task.Run(() => - { - _host.Run(token); - }); -#else return _host.RunAsync(token); -#endif } catch (Exception e) { @@ -179,11 +150,6 @@ public Task StopAsync() _cts.Cancel(); IsStarted = false; -#if NETSTANDARD1_3 - return Task.CompletedTask; -#else return _host.StopAsync(); -#endif } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/GlobalExceptionMiddleware.cs b/src/WireMock.Net.Minimal/Owin/GlobalExceptionMiddleware.cs index 516484df8..47fee8954 100644 --- a/src/WireMock.Net.Minimal/Owin/GlobalExceptionMiddleware.cs +++ b/src/WireMock.Net.Minimal/Owin/GlobalExceptionMiddleware.cs @@ -3,68 +3,44 @@ using System; using System.Threading.Tasks; using Newtonsoft.Json; -#if !USE_ASPNETCORE -using Microsoft.Owin; -using IContext = Microsoft.Owin.IOwinContext; -using OwinMiddleware = Microsoft.Owin.OwinMiddleware; -using Next = Microsoft.Owin.OwinMiddleware; -#else -using OwinMiddleware = System.Object; -using IContext = Microsoft.AspNetCore.Http.HttpContext; -using Next = Microsoft.AspNetCore.Http.RequestDelegate; -#endif using WireMock.Owin.Mappers; using Stef.Validation; +using Microsoft.AspNetCore.Http; -namespace WireMock.Owin +namespace WireMock.Owin; + +internal class GlobalExceptionMiddleware { - internal class GlobalExceptionMiddleware : OwinMiddleware - { - private readonly IWireMockMiddlewareOptions _options; - private readonly IOwinResponseMapper _responseMapper; + private readonly IWireMockMiddlewareOptions _options; + private readonly IOwinResponseMapper _responseMapper; -#if !USE_ASPNETCORE - public GlobalExceptionMiddleware(Next next, IWireMockMiddlewareOptions options, IOwinResponseMapper responseMapper) : base(next) - { - _options = Guard.NotNull(options); - _responseMapper = Guard.NotNull(responseMapper);; - } -#else - public GlobalExceptionMiddleware(Next next, IWireMockMiddlewareOptions options, IOwinResponseMapper responseMapper) - { - Next = next; - _options = Guard.NotNull(options); - _responseMapper = Guard.NotNull(responseMapper); - } -#endif + public GlobalExceptionMiddleware(RequestDelegate next, IWireMockMiddlewareOptions options, IOwinResponseMapper responseMapper) + { + Next = next; + _options = Guard.NotNull(options); + _responseMapper = Guard.NotNull(responseMapper); + } -#if USE_ASPNETCORE - public Next Next { get; } -#endif + public RequestDelegate? Next { get; } -#if !USE_ASPNETCORE - public override Task Invoke(IContext ctx) -#else - public Task Invoke(IContext ctx) -#endif - { - return InvokeInternalAsync(ctx); - } + public Task Invoke(HttpContext ctx) + { + return InvokeInternalAsync(ctx); + } - private async Task InvokeInternalAsync(IContext ctx) + private async Task InvokeInternalAsync(HttpContext ctx) + { + try { - try + if (Next != null) { - if (Next != null) - { - await Next.Invoke(ctx).ConfigureAwait(false); - } - } - catch (Exception ex) - { - _options.Logger.Error("HttpStatusCode set to 500 {0}", ex); - await _responseMapper.MapAsync(ResponseMessageBuilder.Create(500, JsonConvert.SerializeObject(ex)), ctx.Response).ConfigureAwait(false); + await Next.Invoke(ctx).ConfigureAwait(false); } } + catch (Exception ex) + { + _options.Logger.Error("HttpStatusCode set to 500 {0}", ex); + await _responseMapper.MapAsync(ResponseMessageBuilder.Create(500, JsonConvert.SerializeObject(ex)), ctx.Response).ConfigureAwait(false); + } } -} +} \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/HostUrlOptions.cs b/src/WireMock.Net.Minimal/Owin/HostUrlOptions.cs index ad74a9261..055e14d5e 100644 --- a/src/WireMock.Net.Minimal/Owin/HostUrlOptions.cs +++ b/src/WireMock.Net.Minimal/Owin/HostUrlOptions.cs @@ -55,10 +55,10 @@ public IReadOnlyList GetDetails() private static int FindFreeTcpPort() { -#if USE_ASPNETCORE || NETSTANDARD2_0 || NETSTANDARD2_1 +//#if USE_ASPNETCORE || NETSTANDARD2_0 || NETSTANDARD2_1 return 0; -#else - return PortUtils.FindFreeTcpPort(); -#endif +//#else + //return PortUtils.FindFreeTcpPort(); +//#endif } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/IWireMockMiddlewareOptions.cs b/src/WireMock.Net.Minimal/Owin/IWireMockMiddlewareOptions.cs index d6f4c7ee9..d35141f92 100644 --- a/src/WireMock.Net.Minimal/Owin/IWireMockMiddlewareOptions.cs +++ b/src/WireMock.Net.Minimal/Owin/IWireMockMiddlewareOptions.cs @@ -2,21 +2,22 @@ using System; using System.Collections.Concurrent; +using System.Security.Cryptography.X509Certificates; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; using WireMock.Handlers; using WireMock.Logging; using WireMock.Matchers; using WireMock.Types; using WireMock.Util; -using System.Security.Cryptography.X509Certificates; +using ClientCertificateMode = Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode; -using JetBrains.Annotations; - -#if !USE_ASPNETCORE -using Owin; -#else -using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder; -using Microsoft.Extensions.DependencyInjection; -#endif +//#if !USE_ASPNETCORE +//using Owin; +//#else +//using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder; +//using Microsoft.Extensions.DependencyInjection; +//#endif namespace WireMock.Owin; @@ -40,11 +41,11 @@ internal interface IWireMockMiddlewareOptions int? MaxRequestLogCount { get; set; } - Action? PreWireMockMiddlewareInit { get; set; } + Action? PreWireMockMiddlewareInit { get; set; } - Action? PostWireMockMiddlewareInit { get; set; } + Action? PostWireMockMiddlewareInit { get; set; } -#if USE_ASPNETCORE +//#if USE_ASPNETCORE Action? AdditionalServiceRegistration { get; set; } CorsPolicyOptions? CorsPolicyOptions { get; set; } @@ -52,7 +53,7 @@ internal interface IWireMockMiddlewareOptions ClientCertificateMode ClientCertificateMode { get; set; } bool AcceptAnyClientCertificate { get; set; } -#endif +//#endif IFileSystemHandler? FileSystemHandler { get; set; } diff --git a/src/WireMock.Net.Minimal/Owin/Mappers/IOwinRequestMapper.cs b/src/WireMock.Net.Minimal/Owin/Mappers/IOwinRequestMapper.cs index f5e00598c..94edbf111 100644 --- a/src/WireMock.Net.Minimal/Owin/Mappers/IOwinRequestMapper.cs +++ b/src/WireMock.Net.Minimal/Owin/Mappers/IOwinRequestMapper.cs @@ -1,25 +1,25 @@ // Copyright © WireMock.Net using System.Threading.Tasks; -#if !USE_ASPNETCORE -using IRequest = Microsoft.Owin.IOwinRequest; -#else -using IRequest = Microsoft.AspNetCore.Http.HttpRequest; -#endif +using Microsoft.AspNetCore.Http; +//#if !USE_ASPNETCORE +//using IRequest = Microsoft.Owin.IOwinRequest; +//#else +//using IRequest = Microsoft.AspNetCore.Http.HttpRequest; +//#endif -namespace WireMock.Owin.Mappers +namespace WireMock.Owin.Mappers; + +/// +/// IOwinRequestMapper +/// +internal interface IOwinRequestMapper { /// - /// IOwinRequestMapper + /// MapAsync IRequest to RequestMessage /// - internal interface IOwinRequestMapper - { - /// - /// MapAsync IRequest to RequestMessage - /// - /// The OwinRequest/HttpRequest - /// The WireMockMiddlewareOptions - /// RequestMessage - Task MapAsync(IRequest request, IWireMockMiddlewareOptions options); - } + /// The HttpRequest + /// The WireMockMiddlewareOptions + /// RequestMessage + Task MapAsync(HttpRequest request, IWireMockMiddlewareOptions options); } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/Mappers/IOwinResponseMapper.cs b/src/WireMock.Net.Minimal/Owin/Mappers/IOwinResponseMapper.cs index 304361f75..bf5897a60 100644 --- a/src/WireMock.Net.Minimal/Owin/Mappers/IOwinResponseMapper.cs +++ b/src/WireMock.Net.Minimal/Owin/Mappers/IOwinResponseMapper.cs @@ -1,11 +1,13 @@ // Copyright © WireMock.Net using System.Threading.Tasks; -#if !USE_ASPNETCORE -using IResponse = Microsoft.Owin.IOwinResponse; -#else -using IResponse = Microsoft.AspNetCore.Http.HttpResponse; -#endif +using Microsoft.AspNetCore.Http; + +//#if !USE_ASPNETCORE +//using IResponse = Microsoft.Owin.IOwinResponse; +//#else +//using IResponse = Microsoft.AspNetCore.Http.HttpResponse; +//#endif namespace WireMock.Owin.Mappers; @@ -18,6 +20,6 @@ internal interface IOwinResponseMapper /// Map ResponseMessage to IResponse. /// /// The ResponseMessage - /// The OwinResponse/HttpResponse - Task MapAsync(IResponseMessage? responseMessage, IResponse response); -} + /// The HttpResponse + Task MapAsync(IResponseMessage? responseMessage, HttpResponse response); +} \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/Mappers/OwinRequestMapper.cs b/src/WireMock.Net.Minimal/Owin/Mappers/OwinRequestMapper.cs index 02acc7f72..3608d6453 100644 --- a/src/WireMock.Net.Minimal/Owin/Mappers/OwinRequestMapper.cs +++ b/src/WireMock.Net.Minimal/Owin/Mappers/OwinRequestMapper.cs @@ -4,15 +4,17 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Extensions; using WireMock.Http; using WireMock.Models; using WireMock.Util; -#if !USE_ASPNETCORE -using IRequest = Microsoft.Owin.IOwinRequest; -#else -using Microsoft.AspNetCore.Http.Extensions; -using IRequest = Microsoft.AspNetCore.Http.HttpRequest; -#endif +//#if !USE_ASPNETCORE +//using IRequest = Microsoft.Owin.IOwinRequest; +//#else +//using Microsoft.AspNetCore.Http.Extensions; +//using IRequest = Microsoft.AspNetCore.Http.HttpRequest; +//#endif namespace WireMock.Owin.Mappers; @@ -22,7 +24,7 @@ namespace WireMock.Owin.Mappers; internal class OwinRequestMapper : IOwinRequestMapper { /// - public async Task MapAsync(IRequest request, IWireMockMiddlewareOptions options) + public async Task MapAsync(HttpRequest request, IWireMockMiddlewareOptions options) { var (urlDetails, clientIP) = ParseRequest(request); @@ -73,22 +75,22 @@ public async Task MapAsync(IRequest request, IWireMockMiddleware body, headers, cookies, - httpVersion -#if USE_ASPNETCORE - , await request.HttpContext.Connection.GetClientCertificateAsync() -#endif + httpVersion, +//#if USE_ASPNETCORE + await request.HttpContext.Connection.GetClientCertificateAsync() +//#endif ) { DateTime = DateTime.UtcNow }; } - private static (UrlDetails UrlDetails, string ClientIP) ParseRequest(IRequest request) + private static (UrlDetails UrlDetails, string ClientIP) ParseRequest(HttpRequest request) { -#if !USE_ASPNETCORE - var urlDetails = UrlUtils.Parse(request.Uri, request.PathBase); - var clientIP = request.RemoteIpAddress; -#else + //#if !USE_ASPNETCORE + // var urlDetails = UrlUtils.Parse(request.Uri, request.PathBase); + // var clientIP = request.RemoteIpAddress; + //#else var urlDetails = UrlUtils.Parse(new Uri(request.GetEncodedUrl()), request.PathBase); var connection = request.HttpContext.Connection; @@ -105,7 +107,7 @@ private static (UrlDetails UrlDetails, string ClientIP) ParseRequest(IRequest re { clientIP = connection.RemoteIpAddress.ToString(); } -#endif + //#endif return (urlDetails, clientIP); } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/Mappers/OwinResponseMapper.cs b/src/WireMock.Net.Minimal/Owin/Mappers/OwinResponseMapper.cs index ef291bffb..8dbb1f998 100644 --- a/src/WireMock.Net.Minimal/Owin/Mappers/OwinResponseMapper.cs +++ b/src/WireMock.Net.Minimal/Owin/Mappers/OwinResponseMapper.cs @@ -8,21 +8,22 @@ using System.Reflection; using System.Text; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; using Newtonsoft.Json; using RandomDataGenerator.FieldOptions; using RandomDataGenerator.Randomizers; +using Stef.Validation; using WireMock.Http; using WireMock.ResponseBuilders; using WireMock.Types; -using Stef.Validation; using WireMock.Util; -#if !USE_ASPNETCORE -using IResponse = Microsoft.Owin.IOwinResponse; -#else -using Microsoft.AspNetCore.Http; -using IResponse = Microsoft.AspNetCore.Http.HttpResponse; -#endif +//#if !USE_ASPNETCORE +//using IResponse = Microsoft.Owin.IOwinResponse; +//#else +//using Microsoft.AspNetCore.Http; +//using IResponse = Microsoft.AspNetCore.Http.HttpResponse; +//#endif namespace WireMock.Owin.Mappers { @@ -37,8 +38,8 @@ internal class OwinResponseMapper : IOwinResponseMapper private readonly Encoding _utf8NoBom = new UTF8Encoding(false); // https://msdn.microsoft.com/en-us/library/78h415ay(v=vs.110).aspx - private static readonly IDictionary>> ResponseHeadersToFix = - new Dictionary>>(StringComparer.OrdinalIgnoreCase) + private static readonly IDictionary>> ResponseHeadersToFix = + new Dictionary>>(StringComparer.OrdinalIgnoreCase) { { HttpKnownHeaderNames.ContentType, (r, _, v) => r.ContentType = v.FirstOrDefault() }, { HttpKnownHeaderNames.ContentLength, (r, hasBody, v) => @@ -62,7 +63,7 @@ public OwinResponseMapper(IWireMockMiddlewareOptions options) } /// - public async Task MapAsync(IResponseMessage? responseMessage, IResponse response) + public async Task MapAsync(IResponseMessage? responseMessage, HttpResponse response) { if (responseMessage == null) { @@ -128,7 +129,7 @@ public async Task MapAsync(IResponseMessage? responseMessage, IResponse response SetResponseTrailingHeaders(responseMessage, response); } - private static async Task HandleSseStringAsync(IResponseMessage responseMessage, IResponse response, IBodyData bodyData) + private static async Task HandleSseStringAsync(IResponseMessage responseMessage, HttpResponse response, IBodyData bodyData) { if (bodyData.SseStringQueue == null) { @@ -202,7 +203,7 @@ private bool IsFault(IResponseMessage responseMessage) return null; } - private static void SetResponseHeaders(IResponseMessage responseMessage, bool hasBody, IResponse response) + private static void SetResponseHeaders(IResponseMessage responseMessage, bool hasBody, HttpResponse response) { // Force setting the Date header (#577) AppendResponseHeader( @@ -218,7 +219,7 @@ private static void SetResponseHeaders(IResponseMessage responseMessage, bool ha var value = item.Value; if (ResponseHeadersToFix.TryGetValue(headerName, out var action)) { - action?.Invoke(response, hasBody, value); + action.Invoke(response, hasBody, value); } else { @@ -231,7 +232,7 @@ private static void SetResponseHeaders(IResponseMessage responseMessage, bool ha } } - private static void SetResponseTrailingHeaders(IResponseMessage responseMessage, IResponse response) + private static void SetResponseTrailingHeaders(IResponseMessage responseMessage, HttpResponse response) { if (responseMessage.TrailingHeaders == null) { @@ -239,13 +240,11 @@ private static void SetResponseTrailingHeaders(IResponseMessage responseMessage, } #if TRAILINGHEADERS - foreach (var item in responseMessage.TrailingHeaders) + foreach (var (headerName, value) in responseMessage.TrailingHeaders) { - var headerName = item.Key; - var value = item.Value; if (ResponseHeadersToFix.TryGetValue(headerName, out var action)) { - action?.Invoke(response, false, value); + action.Invoke(response, false, value); } else { @@ -259,13 +258,13 @@ private static void SetResponseTrailingHeaders(IResponseMessage responseMessage, #endif } - private static void AppendResponseHeader(IResponse response, string headerName, string[] values) + private static void AppendResponseHeader(HttpResponse response, string headerName, string[] values) { -#if !USE_ASPNETCORE - response.Headers.AppendValues(headerName, values); -#else + //#if !USE_ASPNETCORE + // response.Headers.AppendValues(headerName, values); + //#else response.Headers.Append(headerName, values); -#endif + //#endif } } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/OwinSelfHost.cs b/src/WireMock.Net.Minimal/Owin/OwinSelfHost.cs deleted file mode 100644 index d9f8c537b..000000000 --- a/src/WireMock.Net.Minimal/Owin/OwinSelfHost.cs +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright © WireMock.Net - -#if !USE_ASPNETCORE -using Microsoft.Owin.Hosting; -using Owin; -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using JetBrains.Annotations; -using WireMock.Logging; -using WireMock.Owin.Mappers; -using Stef.Validation; -using WireMock.Services; -using WireMock.Util; - -namespace WireMock.Owin; - -internal class OwinSelfHost : IOwinSelfHost -{ - private readonly IWireMockMiddlewareOptions _options; - private readonly CancellationTokenSource _cts = new(); - private readonly IWireMockLogger _logger; - - private Exception? _runningException; - - public OwinSelfHost(IWireMockMiddlewareOptions options, HostUrlOptions urlOptions) - { - Guard.NotNull(urlOptions); - - _options = Guard.NotNull(options); - _logger = options.Logger ?? new WireMockConsoleLogger(); - - foreach (var detail in urlOptions.GetDetails()) - { - Urls.Add(detail.Url); - Ports.Add(detail.Port); - } - } - - public bool IsStarted { get; private set; } - - public List Urls { get; } = new(); - - public List Ports { get; } = new(); - - public Exception? RunningException => _runningException; - - [PublicAPI] - public Task StartAsync() - { - return Task.Run(StartServers, _cts.Token); - } - - [PublicAPI] - public Task StopAsync() - { - _cts.Cancel(); - - return Task.FromResult(true); - } - - private void StartServers() - { -#if NET46 - _logger.Info("Server using .net 4.6"); -#else - _logger.Info("Server using .net 4.5.x"); -#endif - var servers = new List(); - - try - { - var requestMapper = new OwinRequestMapper(); - var responseMapper = new OwinResponseMapper(_options); - var matcher = new MappingMatcher(_options, new RandomizerDoubleBetween0And1()); - var guidUtils = new GuidUtils(); - - Action startup = app => - { - app.Use(_options, responseMapper); - _options.PreWireMockMiddlewareInit?.Invoke(app); - app.Use(_options, requestMapper, responseMapper, matcher, guidUtils); - _options.PostWireMockMiddlewareInit?.Invoke(app); - }; - - foreach (var url in Urls) - { - servers.Add(WebApp.Start(url, startup)); - } - - IsStarted = true; - - // WaitHandle is signaled when the token is cancelled, - // which will be more efficient than Thread.Sleep in while loop - _cts.Token.WaitHandle.WaitOne(); - } - catch (Exception e) - { - // Expose exception of starting host, otherwise it's hard to be troubleshooting if keeping quiet - // For example, WebApp.Start will fail with System.MissingMemberException if Microsoft.Owin.Host.HttpListener.dll is being located - // https://stackoverflow.com/questions/25090211/owin-httplistener-not-located/31369857 - _runningException = e; - _logger.Error(e.ToString()); - } - finally - { - IsStarted = false; - // Dispose all servers in finally block to make sure clean up allocated resource on error happening - servers.ForEach(s => s.Dispose()); - } - } -} -#endif \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/WireMockMiddleware.cs b/src/WireMock.Net.Minimal/Owin/WireMockMiddleware.cs index a67e6b70d..1d2a7825b 100644 --- a/src/WireMock.Net.Minimal/Owin/WireMockMiddleware.cs +++ b/src/WireMock.Net.Minimal/Owin/WireMockMiddleware.cs @@ -1,368 +1,368 @@ // Copyright © WireMock.Net using System; -using System.Threading.Tasks; +using System.Collections.Generic; using System.Linq; using System.Net; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; using Stef.Validation; +using WireMock.Constants; +using WireMock.Exceptions; +using WireMock.Http; using WireMock.Logging; using WireMock.Matchers; -using WireMock.Http; using WireMock.Owin.Mappers; -using WireMock.Serialization; using WireMock.ResponseBuilders; +using WireMock.Serialization; using WireMock.Settings; -using System.Collections.Generic; -using WireMock.Constants; -using WireMock.Exceptions; using WireMock.Util; -#if !USE_ASPNETCORE -using IContext = Microsoft.Owin.IOwinContext; -using OwinMiddleware = Microsoft.Owin.OwinMiddleware; -using Next = Microsoft.Owin.OwinMiddleware; -#else -using OwinMiddleware = System.Object; -using IContext = Microsoft.AspNetCore.Http.HttpContext; -using Next = Microsoft.AspNetCore.Http.RequestDelegate; -#endif - -namespace WireMock.Owin +//#if !USE_ASPNETCORE +//using IContext = Microsoft.Owin.IOwinContext; +//using OwinMiddleware = Microsoft.Owin.OwinMiddleware; +//using Next = Microsoft.Owin.OwinMiddleware; +//#else +//using OwinMiddleware = System.Object; +//using IContext = Microsoft.AspNetCore.Http.HttpContext; +//using Next = Microsoft.AspNetCore.Http.RequestDelegate; +//#endif + +namespace WireMock.Owin; + +internal class WireMockMiddleware //: OwinMiddleware { - internal class WireMockMiddleware : OwinMiddleware + private readonly object _lock = new(); + private static readonly Task CompletedTask = Task.FromResult(false); + + private readonly IWireMockMiddlewareOptions _options; + private readonly IOwinRequestMapper _requestMapper; + private readonly IOwinResponseMapper _responseMapper; + private readonly IMappingMatcher _mappingMatcher; + private readonly LogEntryMapper _logEntryMapper; + private readonly IGuidUtils _guidUtils; + + //#if !USE_ASPNETCORE + // public WireMockMiddleware( + // Next next, + // IWireMockMiddlewareOptions options, + // IOwinRequestMapper requestMapper, + // IOwinResponseMapper responseMapper, + // IMappingMatcher mappingMatcher, + // IGuidUtils guidUtils + // ) : base(next) + // { + // _options = Guard.NotNull(options); + // _requestMapper = Guard.NotNull(requestMapper); + // _responseMapper = Guard.NotNull(responseMapper); + // _mappingMatcher = Guard.NotNull(mappingMatcher); + // _logEntryMapper = new LogEntryMapper(options); + // _guidUtils = Guard.NotNull(guidUtils); + // } + //#else + public WireMockMiddleware( + RequestDelegate next, + IWireMockMiddlewareOptions options, + IOwinRequestMapper requestMapper, + IOwinResponseMapper responseMapper, + IMappingMatcher mappingMatcher, + IGuidUtils guidUtils + ) { - private readonly object _lock = new(); - private static readonly Task CompletedTask = Task.FromResult(false); - - private readonly IWireMockMiddlewareOptions _options; - private readonly IOwinRequestMapper _requestMapper; - private readonly IOwinResponseMapper _responseMapper; - private readonly IMappingMatcher _mappingMatcher; - private readonly LogEntryMapper _logEntryMapper; - private readonly IGuidUtils _guidUtils; - -#if !USE_ASPNETCORE - public WireMockMiddleware( - Next next, - IWireMockMiddlewareOptions options, - IOwinRequestMapper requestMapper, - IOwinResponseMapper responseMapper, - IMappingMatcher mappingMatcher, - IGuidUtils guidUtils - ) : base(next) - { - _options = Guard.NotNull(options); - _requestMapper = Guard.NotNull(requestMapper); - _responseMapper = Guard.NotNull(responseMapper); - _mappingMatcher = Guard.NotNull(mappingMatcher); - _logEntryMapper = new LogEntryMapper(options); - _guidUtils = Guard.NotNull(guidUtils); - } -#else - public WireMockMiddleware( - Next next, - IWireMockMiddlewareOptions options, - IOwinRequestMapper requestMapper, - IOwinResponseMapper responseMapper, - IMappingMatcher mappingMatcher, - IGuidUtils guidUtils - ) + _options = Guard.NotNull(options); + _requestMapper = Guard.NotNull(requestMapper); + _responseMapper = Guard.NotNull(responseMapper); + _mappingMatcher = Guard.NotNull(mappingMatcher); + _logEntryMapper = new LogEntryMapper(options); + _guidUtils = Guard.NotNull(guidUtils); + } + //#endif + + //#if !USE_ASPNETCORE + // public override Task Invoke(IContext ctx) + //#else + public Task Invoke(HttpContext ctx) + //#endif + { + if (_options.HandleRequestsSynchronously.GetValueOrDefault(false)) { - _options = Guard.NotNull(options); - _requestMapper = Guard.NotNull(requestMapper); - _responseMapper = Guard.NotNull(responseMapper); - _mappingMatcher = Guard.NotNull(mappingMatcher); - _logEntryMapper = new LogEntryMapper(options); - _guidUtils = Guard.NotNull(guidUtils); + lock (_lock) + { + return InvokeInternalAsync(ctx); + } } -#endif -#if !USE_ASPNETCORE - public override Task Invoke(IContext ctx) -#else - public Task Invoke(IContext ctx) -#endif + return InvokeInternalAsync(ctx); + } + + private async Task InvokeInternalAsync(HttpContext ctx) + { + var request = await _requestMapper.MapAsync(ctx.Request, _options).ConfigureAwait(false); + + var logRequest = false; + IResponseMessage? response = null; + (MappingMatcherResult? Match, MappingMatcherResult? Partial) result = (null, null); + + try { - if (_options.HandleRequestsSynchronously.GetValueOrDefault(false)) + foreach (var mapping in _options.Mappings.Values) { - lock (_lock) + if (mapping.Scenario is null) + { + continue; + } + + // Set scenario start + if (!_options.Scenarios.ContainsKey(mapping.Scenario) && mapping.IsStartState) { - return InvokeInternalAsync(ctx); + _options.Scenarios.TryAdd(mapping.Scenario, new ScenarioState + { + Name = mapping.Scenario + }); } } - return InvokeInternalAsync(ctx); - } + result = _mappingMatcher.FindBestMatch(request); - private async Task InvokeInternalAsync(IContext ctx) - { - var request = await _requestMapper.MapAsync(ctx.Request, _options).ConfigureAwait(false); + var targetMapping = result.Match?.Mapping; + if (targetMapping == null) + { + logRequest = true; + _options.Logger.Warn("HttpStatusCode set to 404 : No matching mapping found"); + response = ResponseMessageBuilder.Create(HttpStatusCode.NotFound, WireMockConstants.NoMatchingFound); + return; + } - var logRequest = false; - IResponseMessage? response = null; - (MappingMatcherResult? Match, MappingMatcherResult? Partial) result = (null, null); + logRequest = targetMapping.LogMapping; - try + if (targetMapping.IsAdminInterface && _options.AuthenticationMatcher != null && request.Headers != null) { - foreach (var mapping in _options.Mappings.Values) + var authorizationHeaderPresent = request.Headers.TryGetValue(HttpKnownHeaderNames.Authorization, out var authorization); + if (!authorizationHeaderPresent) { - if (mapping.Scenario is null) - { - continue; - } - - // Set scenario start - if (!_options.Scenarios.ContainsKey(mapping.Scenario) && mapping.IsStartState) - { - _options.Scenarios.TryAdd(mapping.Scenario, new ScenarioState - { - Name = mapping.Scenario - }); - } + _options.Logger.Error("HttpStatusCode set to 401, authorization header is missing."); + response = ResponseMessageBuilder.Create(HttpStatusCode.Unauthorized, null); + return; } - result = _mappingMatcher.FindBestMatch(request); - - var targetMapping = result.Match?.Mapping; - if (targetMapping == null) + var authorizationHeaderMatchResult = _options.AuthenticationMatcher.IsMatch(authorization!.ToString()); + if (!MatchScores.IsPerfect(authorizationHeaderMatchResult.Score)) { - logRequest = true; - _options.Logger.Warn("HttpStatusCode set to 404 : No matching mapping found"); - response = ResponseMessageBuilder.Create(HttpStatusCode.NotFound, WireMockConstants.NoMatchingFound); + _options.Logger.Error("HttpStatusCode set to 401, authentication failed.", authorizationHeaderMatchResult.Exception ?? throw new WireMockException("Authentication failed")); + response = ResponseMessageBuilder.Create(HttpStatusCode.Unauthorized, null); return; } + } - logRequest = targetMapping.LogMapping; + if (!targetMapping.IsAdminInterface && _options.RequestProcessingDelay > TimeSpan.Zero) + { + await Task.Delay(_options.RequestProcessingDelay.Value).ConfigureAwait(false); + } - if (targetMapping.IsAdminInterface && _options.AuthenticationMatcher != null && request.Headers != null) - { - var authorizationHeaderPresent = request.Headers.TryGetValue(HttpKnownHeaderNames.Authorization, out var authorization); - if (!authorizationHeaderPresent) - { - _options.Logger.Error("HttpStatusCode set to 401, authorization header is missing."); - response = ResponseMessageBuilder.Create(HttpStatusCode.Unauthorized, null); - return; - } + var (theResponse, theOptionalNewMapping) = await targetMapping.ProvideResponseAsync(request).ConfigureAwait(false); + response = theResponse; - var authorizationHeaderMatchResult = _options.AuthenticationMatcher.IsMatch(authorization!.ToString()); - if (!MatchScores.IsPerfect(authorizationHeaderMatchResult.Score)) - { - _options.Logger.Error("HttpStatusCode set to 401, authentication failed.", authorizationHeaderMatchResult.Exception ?? throw new WireMockException("Authentication failed")); - response = ResponseMessageBuilder.Create(HttpStatusCode.Unauthorized, null); - return; - } - } + var responseBuilder = targetMapping.Provider as Response; - if (!targetMapping.IsAdminInterface && _options.RequestProcessingDelay > TimeSpan.Zero) + if (!targetMapping.IsAdminInterface && theOptionalNewMapping != null) + { + if (responseBuilder?.ProxyAndRecordSettings?.SaveMapping == true || targetMapping.Settings.ProxyAndRecordSettings?.SaveMapping == true) { - await Task.Delay(_options.RequestProcessingDelay.Value).ConfigureAwait(false); + _options.Mappings.TryAdd(theOptionalNewMapping.Guid, theOptionalNewMapping); } - var (theResponse, theOptionalNewMapping) = await targetMapping.ProvideResponseAsync(request).ConfigureAwait(false); - response = theResponse; + if (responseBuilder?.ProxyAndRecordSettings?.SaveMappingToFile == true || targetMapping.Settings.ProxyAndRecordSettings?.SaveMappingToFile == true) + { + var matcherMapper = new MatcherMapper(targetMapping.Settings); + var mappingConverter = new MappingConverter(matcherMapper); + var mappingToFileSaver = new MappingToFileSaver(targetMapping.Settings, mappingConverter); - var responseBuilder = targetMapping.Provider as Response; + mappingToFileSaver.SaveMappingToFile(theOptionalNewMapping); + } + } - if (!targetMapping.IsAdminInterface && theOptionalNewMapping != null) - { - if (responseBuilder?.ProxyAndRecordSettings?.SaveMapping == true || targetMapping.Settings.ProxyAndRecordSettings?.SaveMapping == true) - { - _options.Mappings.TryAdd(theOptionalNewMapping.Guid, theOptionalNewMapping); - } + if (targetMapping.Scenario != null) + { + UpdateScenarioState(targetMapping); + } - if (responseBuilder?.ProxyAndRecordSettings?.SaveMappingToFile == true || targetMapping.Settings.ProxyAndRecordSettings?.SaveMappingToFile == true) - { - var matcherMapper = new MatcherMapper(targetMapping.Settings); - var mappingConverter = new MappingConverter(matcherMapper); - var mappingToFileSaver = new MappingToFileSaver(targetMapping.Settings, mappingConverter); + if (!targetMapping.IsAdminInterface && targetMapping.Webhooks?.Length > 0) + { + await SendToWebhooksAsync(targetMapping, request, response).ConfigureAwait(false); + } + } + catch (Exception ex) + { + _options.Logger.Error($"Providing a Response for Mapping '{result.Match?.Mapping.Guid}' failed. HttpStatusCode set to 500. Exception: {ex}"); + response = ResponseMessageBuilder.Create(500, ex.Message); + } + finally + { + var log = new LogEntry + { + Guid = _guidUtils.NewGuid(), + RequestMessage = request, + ResponseMessage = response, - mappingToFileSaver.SaveMappingToFile(theOptionalNewMapping); - } - } + MappingGuid = result.Match?.Mapping?.Guid, + MappingTitle = result.Match?.Mapping?.Title, + RequestMatchResult = result.Match?.RequestMatchResult, - if (targetMapping.Scenario != null) - { - UpdateScenarioState(targetMapping); - } + PartialMappingGuid = result.Partial?.Mapping?.Guid, + PartialMappingTitle = result.Partial?.Mapping?.Title, + PartialMatchResult = result.Partial?.RequestMatchResult + }; + + LogRequest(log, logRequest); - if (!targetMapping.IsAdminInterface && targetMapping.Webhooks?.Length > 0) + try + { + if (_options.SaveUnmatchedRequests == true && result.Match?.RequestMatchResult is not { IsPerfectMatch: true }) { - await SendToWebhooksAsync(targetMapping, request, response).ConfigureAwait(false); + var filename = $"{log.Guid}.LogEntry.json"; + _options.FileSystemHandler?.WriteUnmatchedRequest(filename, JsonUtils.Serialize(log)); } } - catch (Exception ex) + catch + { + // Empty catch + } + + try { - _options.Logger.Error($"Providing a Response for Mapping '{result.Match?.Mapping.Guid}' failed. HttpStatusCode set to 500. Exception: {ex}"); - response = ResponseMessageBuilder.Create(500, ex.Message); + await _responseMapper.MapAsync(response, ctx.Response).ConfigureAwait(false); } - finally + catch (Exception ex) { - var log = new LogEntry - { - Guid = _guidUtils.NewGuid(), - RequestMessage = request, - ResponseMessage = response, + _options.Logger.Error("HttpStatusCode set to 404 : No matching mapping found", ex); - MappingGuid = result.Match?.Mapping?.Guid, - MappingTitle = result.Match?.Mapping?.Title, - RequestMatchResult = result.Match?.RequestMatchResult, + var notFoundResponse = ResponseMessageBuilder.Create(HttpStatusCode.NotFound, WireMockConstants.NoMatchingFound); + await _responseMapper.MapAsync(notFoundResponse, ctx.Response).ConfigureAwait(false); + } + } - PartialMappingGuid = result.Partial?.Mapping?.Guid, - PartialMappingTitle = result.Partial?.Mapping?.Title, - PartialMatchResult = result.Partial?.RequestMatchResult - }; + await CompletedTask.ConfigureAwait(false); + } - LogRequest(log, logRequest); + private async Task SendToWebhooksAsync(IMapping mapping, IRequestMessage request, IResponseMessage response) + { + var tasks = new List>(); + for (int index = 0; index < mapping.Webhooks?.Length; index++) + { + var httpClientForWebhook = HttpClientBuilder.Build(mapping.Settings.WebhookSettings ?? new WebhookSettings()); + var webhookSender = new WebhookSender(mapping.Settings); + var webhookRequest = mapping.Webhooks[index].Request; + var webHookIndex = index; + tasks.Add(async () => + { try { - if (_options.SaveUnmatchedRequests == true && result.Match?.RequestMatchResult is not { IsPerfectMatch: true }) + var result = await webhookSender.SendAsync(httpClientForWebhook, mapping, webhookRequest, request, response).ConfigureAwait(false); + if (!result.IsSuccessStatusCode) { - var filename = $"{log.Guid}.LogEntry.json"; - _options.FileSystemHandler?.WriteUnmatchedRequest(filename, JsonUtils.Serialize(log)); + var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false); + _options.Logger.Warn($"Sending message to Webhook [{webHookIndex}] from Mapping '{mapping.Guid}' failed. HttpStatusCode: {result.StatusCode} Content: {content}"); } } - catch - { - // Empty catch - } - - try - { - await _responseMapper.MapAsync(response, ctx.Response).ConfigureAwait(false); - } catch (Exception ex) { - _options.Logger.Error("HttpStatusCode set to 404 : No matching mapping found", ex); - - var notFoundResponse = ResponseMessageBuilder.Create(HttpStatusCode.NotFound, WireMockConstants.NoMatchingFound); - await _responseMapper.MapAsync(notFoundResponse, ctx.Response).ConfigureAwait(false); + _options.Logger.Error($"Sending message to Webhook [{webHookIndex}] from Mapping '{mapping.Guid}' failed. Exception: {ex}"); } - } - - await CompletedTask.ConfigureAwait(false); + }); } - private async Task SendToWebhooksAsync(IMapping mapping, IRequestMessage request, IResponseMessage response) + if (mapping.UseWebhooksFireAndForget == true) { - var tasks = new List>(); - for (int index = 0; index < mapping.Webhooks?.Length; index++) + try { - var httpClientForWebhook = HttpClientBuilder.Build(mapping.Settings.WebhookSettings ?? new WebhookSettings()); - var webhookSender = new WebhookSender(mapping.Settings); - var webhookRequest = mapping.Webhooks[index].Request; - var webHookIndex = index; - - tasks.Add(async () => + // Do not wait + await Task.Run(() => { - try - { - var result = await webhookSender.SendAsync(httpClientForWebhook, mapping, webhookRequest, request, response).ConfigureAwait(false); - if (!result.IsSuccessStatusCode) - { - var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false); - _options.Logger.Warn($"Sending message to Webhook [{webHookIndex}] from Mapping '{mapping.Guid}' failed. HttpStatusCode: {result.StatusCode} Content: {content}"); - } - } - catch (Exception ex) - { - _options.Logger.Error($"Sending message to Webhook [{webHookIndex}] from Mapping '{mapping.Guid}' failed. Exception: {ex}"); - } + Task.WhenAll(tasks.Select(async task => await task.Invoke())).ConfigureAwait(false); }); } - - if (mapping.UseWebhooksFireAndForget == true) - { - try - { - // Do not wait - await Task.Run(() => - { - Task.WhenAll(tasks.Select(async task => await task.Invoke())).ConfigureAwait(false); - }); - } - catch - { - // Ignore - } - } - else + catch { - await Task.WhenAll(tasks.Select(async task => await task.Invoke())).ConfigureAwait(false); + // Ignore } } - - private void UpdateScenarioState(IMapping mapping) + else { - var scenario = _options.Scenarios[mapping.Scenario!]; + await Task.WhenAll(tasks.Select(async task => await task.Invoke())).ConfigureAwait(false); + } + } - // Increase the number of times this state has been executed - scenario.Counter++; + private void UpdateScenarioState(IMapping mapping) + { + var scenario = _options.Scenarios[mapping.Scenario!]; - // Only if the number of times this state is executed equals the required StateTimes, proceed to next state and reset the counter to 0 - if (scenario.Counter == (mapping.TimesInSameState ?? 1)) - { - scenario.NextState = mapping.NextState; - scenario.Counter = 0; - } + // Increase the number of times this state has been executed + scenario.Counter++; - // Else just update Started and Finished - scenario.Started = true; - scenario.Finished = mapping.NextState == null; + // Only if the number of times this state is executed equals the required StateTimes, proceed to next state and reset the counter to 0 + if (scenario.Counter == (mapping.TimesInSameState ?? 1)) + { + scenario.NextState = mapping.NextState; + scenario.Counter = 0; } - private void LogRequest(LogEntry entry, bool addRequest) - { - _options.Logger.DebugRequestResponse(_logEntryMapper.Map(entry), entry.RequestMessage.Path.StartsWith("/__admin/")); + // Else just update Started and Finished + scenario.Started = true; + scenario.Finished = mapping.NextState == null; + } - // If addRequest is set to true and MaxRequestLogCount is null or does have a value greater than 0, try to add a new request log. - if (addRequest && _options.MaxRequestLogCount is null or > 0) - { - TryAddLogEntry(entry); - } + private void LogRequest(LogEntry entry, bool addRequest) + { + _options.Logger.DebugRequestResponse(_logEntryMapper.Map(entry), entry.RequestMessage.Path.StartsWith("/__admin/")); - // In case MaxRequestLogCount has a value greater than 0, try to delete existing request logs based on the count. - if (_options.MaxRequestLogCount is > 0) - { - var logEntries = _options.LogEntries.ToList(); - foreach (var logEntry in logEntries.OrderBy(le => le.RequestMessage.DateTime).Take(logEntries.Count - _options.MaxRequestLogCount.Value)) - { - TryRemoveLogEntry(logEntry); - } - } + // If addRequest is set to true and MaxRequestLogCount is null or does have a value greater than 0, try to add a new request log. + if (addRequest && _options.MaxRequestLogCount is null or > 0) + { + TryAddLogEntry(entry); + } - // In case RequestLogExpirationDuration has a value greater than 0, try to delete existing request logs based on the date. - if (_options.RequestLogExpirationDuration is > 0) + // In case MaxRequestLogCount has a value greater than 0, try to delete existing request logs based on the count. + if (_options.MaxRequestLogCount is > 0) + { + var logEntries = _options.LogEntries.ToList(); + foreach (var logEntry in logEntries.OrderBy(le => le.RequestMessage.DateTime).Take(logEntries.Count - _options.MaxRequestLogCount.Value)) { - var checkTime = DateTime.UtcNow.AddHours(-_options.RequestLogExpirationDuration.Value); - foreach (var logEntry in _options.LogEntries.ToList().Where(le => le.RequestMessage.DateTime < checkTime)) - { - TryRemoveLogEntry(logEntry); - } + TryRemoveLogEntry(logEntry); } } - private void TryAddLogEntry(LogEntry logEntry) + // In case RequestLogExpirationDuration has a value greater than 0, try to delete existing request logs based on the date. + if (_options.RequestLogExpirationDuration is > 0) { - try + var checkTime = DateTime.UtcNow.AddHours(-_options.RequestLogExpirationDuration.Value); + foreach (var logEntry in _options.LogEntries.ToList().Where(le => le.RequestMessage.DateTime < checkTime)) { - _options.LogEntries.Add(logEntry); - } - catch - { - // Ignore exception (can happen during stress testing) + TryRemoveLogEntry(logEntry); } } + } - private void TryRemoveLogEntry(LogEntry logEntry) + private void TryAddLogEntry(LogEntry logEntry) + { + try { - try - { - _options.LogEntries.Remove(logEntry); - } - catch - { - // Ignore exception (can happen during stress testing) - } + _options.LogEntries.Add(logEntry); + } + catch + { + // Ignore exception (can happen during stress testing) + } + } + + private void TryRemoveLogEntry(LogEntry logEntry) + { + try + { + _options.LogEntries.Remove(logEntry); + } + catch + { + // Ignore exception (can happen during stress testing) } } -} +} \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Owin/WireMockMiddlewareOptions.cs b/src/WireMock.Net.Minimal/Owin/WireMockMiddlewareOptions.cs index 6f675459e..bfbc97d29 100644 --- a/src/WireMock.Net.Minimal/Owin/WireMockMiddlewareOptions.cs +++ b/src/WireMock.Net.Minimal/Owin/WireMockMiddlewareOptions.cs @@ -8,13 +8,17 @@ using WireMock.Types; using WireMock.Util; using System.Security.Cryptography.X509Certificates; - -#if !USE_ASPNETCORE -using Owin; -#else -using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Server.Kestrel.Https; using Microsoft.Extensions.DependencyInjection; -#endif +using ClientCertificateMode = Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode; + +//#if !USE_ASPNETCORE +//using Owin; +//#else +//using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder; +//using Microsoft.Extensions.DependencyInjection; +//#endif namespace WireMock.Owin; @@ -38,11 +42,11 @@ internal class WireMockMiddlewareOptions : IWireMockMiddlewareOptions public int? MaxRequestLogCount { get; set; } - public Action? PreWireMockMiddlewareInit { get; set; } + public Action? PreWireMockMiddlewareInit { get; set; } - public Action? PostWireMockMiddlewareInit { get; set; } + public Action? PostWireMockMiddlewareInit { get; set; } -#if USE_ASPNETCORE +//#if USE_ASPNETCORE public Action? AdditionalServiceRegistration { get; set; } public CorsPolicyOptions? CorsPolicyOptions { get; set; } @@ -51,7 +55,7 @@ internal class WireMockMiddlewareOptions : IWireMockMiddlewareOptions /// public bool AcceptAnyClientCertificate { get; set; } -#endif + //#endif /// public IFileSystemHandler? FileSystemHandler { get; set; } diff --git a/src/WireMock.Net.Minimal/RequestMessage.cs b/src/WireMock.Net.Minimal/RequestMessage.cs index eccaf654f..9a8aafaa9 100644 --- a/src/WireMock.Net.Minimal/RequestMessage.cs +++ b/src/WireMock.Net.Minimal/RequestMessage.cs @@ -6,9 +6,10 @@ using System.Collections.Generic; using System.Linq; using System.Net; -#if USE_ASPNETCORE using System.Security.Cryptography.X509Certificates; -#endif +//#if USE_ASPNETCORE +//using System.Security.Cryptography.X509Certificates; +//#endif using Stef.Validation; using WireMock.Models; using WireMock.Owin; @@ -82,11 +83,11 @@ public class RequestMessage : IRequestMessage /// public byte[]? BodyAsBytes { get; } -#if MIMEKIT +//#if MIMEKIT /// [Newtonsoft.Json.JsonIgnore] // Issue 1001 public Models.Mime.IMimeMessageData? BodyAsMimeMessage { get; } -#endif +//#endif /// public string? DetectedBodyType { get; } @@ -109,10 +110,10 @@ public class RequestMessage : IRequestMessage /// public string Origin { get; } -#if USE_ASPNETCORE +//#if USE_ASPNETCORE /// public X509Certificate2? ClientCertificate { get; } -#endif +//#endif /// /// Used for Unit Testing @@ -136,9 +137,9 @@ internal RequestMessage( IDictionary? headers = null, IDictionary? cookies = null, string httpVersion = "1.1" -#if USE_ASPNETCORE +//#if USE_ASPNETCORE , X509Certificate2? clientCertificate = null -#endif +//#endif ) { Guard.NotNull(urlDetails); @@ -178,16 +179,16 @@ internal RequestMessage( Query = QueryStringParser.Parse(RawQuery, options?.QueryParameterMultipleValueSupport); QueryIgnoreCase = new Dictionary>(Query, StringComparer.OrdinalIgnoreCase); -#if USE_ASPNETCORE +//#if USE_ASPNETCORE ClientCertificate = clientCertificate; -#endif +//#endif -#if MIMEKIT +//#if MIMEKIT if (TypeLoader.TryLoadStaticInstance(out var mimeKitUtils) && mimeKitUtils.TryGetMimeMessage(this, out var mimeMessage)) { BodyAsMimeMessage = mimeMessage; } -#endif +//#endif } /// @@ -199,7 +200,6 @@ internal RequestMessage( } var query = !ignoreCase ? Query : new Dictionary>(Query, StringComparer.OrdinalIgnoreCase); - - return query.ContainsKey(key) ? query[key] : null; + return query.TryGetValue(key, out var value) ? value : null; } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Serialization/MatcherMapper.cs b/src/WireMock.Net.Minimal/Serialization/MatcherMapper.cs index 39ad8fa4f..4a1b893ad 100644 --- a/src/WireMock.Net.Minimal/Serialization/MatcherMapper.cs +++ b/src/WireMock.Net.Minimal/Serialization/MatcherMapper.cs @@ -218,7 +218,7 @@ public MatcherMapper(WireMockServerSettings settings) model.ContentTypeMatcher = Map(mimePartMatcher.ContentTypeMatcher); break; -#if PROTOBUF +//#if PROTOBUF case IProtoBufMatcher protoBufMatcher: protoBufMatcher.ProtoDefinition().Value(id => model.Pattern = id, texts => { @@ -235,7 +235,7 @@ public MatcherMapper(WireMockServerSettings settings) model.ProtoBufMessageType = protoBufMatcher.MessageType; model.ContentMatcher = Map(protoBufMatcher.Matcher); break; -#endif +//#endif } afterMap?.Invoke(model); diff --git a/src/WireMock.Net.Minimal/Server/WireMockServer.Admin.cs b/src/WireMock.Net.Minimal/Server/WireMockServer.Admin.cs index 5c248a26c..f44348113 100644 --- a/src/WireMock.Net.Minimal/Server/WireMockServer.Admin.cs +++ b/src/WireMock.Net.Minimal/Server/WireMockServer.Admin.cs @@ -295,11 +295,9 @@ private IResponseMessage SettingsGet(IRequestMessage requestMessage) WatchStaticMappings = _settings.WatchStaticMappings, WatchStaticMappingsInSubdirectories = _settings.WatchStaticMappingsInSubdirectories, -#if USE_ASPNETCORE AcceptAnyClientCertificate = _settings.AcceptAnyClientCertificate, ClientCertificateMode = _settings.ClientCertificateMode, CorsPolicyOptions = _settings.CorsPolicyOptions?.ToString() -#endif }; model.ProxyAndRecordSettings = TinyMapperUtils.Instance.Map(_settings.ProxyAndRecordSettings); @@ -333,12 +331,12 @@ private IResponseMessage SettingsUpdate(IRequestMessage requestMessage) InitSettings(_settings); -#if USE_ASPNETCORE +//#if USE_ASPNETCORE if (Enum.TryParse(settings.CorsPolicyOptions, true, out var corsPolicyOptions)) { _settings.CorsPolicyOptions = corsPolicyOptions; } -#endif +//#endif WireMockMiddlewareOptionsHelper.InitFromSettings(_settings, _options, o => { @@ -347,11 +345,11 @@ private IResponseMessage SettingsUpdate(IRequestMessage requestMessage) o.RequestProcessingDelay = TimeSpan.FromMilliseconds(settings.GlobalProcessingDelay.Value); } -#if USE_ASPNETCORE +//#if USE_ASPNETCORE o.CorsPolicyOptions = corsPolicyOptions; - o.ClientCertificateMode = _settings.ClientCertificateMode; + o.ClientCertificateMode = (Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode) _settings.ClientCertificateMode; o.AcceptAnyClientCertificate = _settings.AcceptAnyClientCertificate; -#endif +//#endif }); return ResponseMessageBuilder.Create(200, "Settings updated"); @@ -900,6 +898,6 @@ private static T[] DeserializeObjectToArray(object value) } var singleResult = ((JObject)value).ToObject(); - return new[] { singleResult! }; + return [singleResult!]; } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Server/WireMockServer.OpenApiParser.cs b/src/WireMock.Net.Minimal/Server/WireMockServer.OpenApiParser.cs index a56e8de92..e5752e08c 100644 --- a/src/WireMock.Net.Minimal/Server/WireMockServer.OpenApiParser.cs +++ b/src/WireMock.Net.Minimal/Server/WireMockServer.OpenApiParser.cs @@ -1,11 +1,11 @@ // Copyright © WireMock.Net using System.Net; -#if OPENAPIPARSER +//#if OPENAPIPARSER using System; using System.Linq; using WireMock.Net.OpenApiParser; -#endif +//#endif namespace WireMock.Server; @@ -13,7 +13,7 @@ public partial class WireMockServer { private IResponseMessage OpenApiConvertToMappings(IRequestMessage requestMessage) { -#if OPENAPIPARSER +//#if OPENAPIPARSER try { var mappingModels = new WireMockOpenApiParser().FromText(requestMessage.Body!, out var diagnostic); @@ -24,14 +24,14 @@ private IResponseMessage OpenApiConvertToMappings(IRequestMessage requestMessage _settings.Logger.Error("HttpStatusCode set to {0} {1}", HttpStatusCode.BadRequest, e); return ResponseMessageBuilder.Create(HttpStatusCode.BadRequest, e.Message); } -#else - return ResponseMessageBuilder.Create(HttpStatusCode.BadRequest, "Not supported for .NETStandard 1.3 and .NET 4.6.x or lower."); -#endif +//#else +// return ResponseMessageBuilder.Create(HttpStatusCode.BadRequest, "Not supported for .NETStandard 1.3 and .NET 4.6.x or lower."); +//#endif } private IResponseMessage OpenApiSaveToMappings(IRequestMessage requestMessage) { -#if OPENAPIPARSER +//#if OPENAPIPARSER try { var mappingModels = new WireMockOpenApiParser().FromText(requestMessage.Body!, out var diagnostic); @@ -49,8 +49,8 @@ private IResponseMessage OpenApiSaveToMappings(IRequestMessage requestMessage) _settings.Logger.Error("HttpStatusCode set to {0} {1}", HttpStatusCode.BadRequest, e); return ResponseMessageBuilder.Create(HttpStatusCode.BadRequest, e.Message); } -#else - return ResponseMessageBuilder.Create(HttpStatusCode.BadRequest, "Not supported for .NETStandard 1.3 and .NET 4.6.x or lower."); -#endif +//#else +// return ResponseMessageBuilder.Create(HttpStatusCode.BadRequest, "Not supported for .NETStandard 1.3 and .NET 4.6.x or lower."); +//#endif } } \ No newline at end of file diff --git a/src/WireMock.Net.Minimal/Server/WireMockServer.cs b/src/WireMock.Net.Minimal/Server/WireMockServer.cs index b7d46738d..6b1e6b42a 100644 --- a/src/WireMock.Net.Minimal/Server/WireMockServer.cs +++ b/src/WireMock.Net.Minimal/Server/WireMockServer.cs @@ -62,7 +62,7 @@ public partial class WireMockServer : IWireMockServer /// [PublicAPI] - public int Port => Ports?.FirstOrDefault() ?? default; + public int Port => Ports?.FirstOrDefault() ?? 0; /// [PublicAPI] @@ -411,16 +411,16 @@ protected WireMockServer(WireMockServerSettings settings) _dateTimeUtils ); -#if USE_ASPNETCORE + //#if USE_ASPNETCORE _options.AdditionalServiceRegistration = _settings.AdditionalServiceRegistration; _options.CorsPolicyOptions = _settings.CorsPolicyOptions; - _options.ClientCertificateMode = _settings.ClientCertificateMode; + _options.ClientCertificateMode = (Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode)_settings.ClientCertificateMode; _options.AcceptAnyClientCertificate = _settings.AcceptAnyClientCertificate; _httpServer = new AspNetCoreSelfHost(_options, urlOptions); -#else - _httpServer = new OwinSelfHost(_options, urlOptions); -#endif + //#else + // _httpServer = new OwinSelfHost(_options, urlOptions); + //#endif var startTask = _httpServer.StartAsync(); using (var ctsStartTimeout = new CancellationTokenSource(settings.StartTimeout)) @@ -541,15 +541,15 @@ public void SetAzureADAuthentication(string tenant, string audience) Guard.NotNull(tenant); Guard.NotNull(audience); -#if NETSTANDARD1_3 - throw new NotSupportedException("AzureADAuthentication is not supported for NETStandard 1.3"); -#else +//#if NETSTANDARD1_3 +// throw new NotSupportedException("AzureADAuthentication is not supported for NETStandard 1.3"); +//#else _options.AuthenticationMatcher = new AzureADAuthenticationMatcher( new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler(), new Microsoft.IdentityModel.Protocols.ConfigurationManager($"https://login.microsoftonline.com/{tenant}/.well-known/openid-configuration", new Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever()), tenant, audience); -#endif +//#endif } /// diff --git a/src/WireMock.Net.Minimal/Transformers/Handlebars/WireMockHandlebarsHelpers.cs b/src/WireMock.Net.Minimal/Transformers/Handlebars/WireMockHandlebarsHelpers.cs index c270b15d3..06216920e 100644 --- a/src/WireMock.Net.Minimal/Transformers/Handlebars/WireMockHandlebarsHelpers.cs +++ b/src/WireMock.Net.Minimal/Transformers/Handlebars/WireMockHandlebarsHelpers.cs @@ -24,7 +24,7 @@ internal static void Register(IHandlebars handlebarsContext, WireMockServerSetti GetBaseDirectory(), }; -#if !NETSTANDARD1_3_OR_GREATER +//#if !NETSTANDARD1_3_OR_GREATER void Add(string? path, ICollection customHelperPaths) { if (!string.IsNullOrEmpty(path)) @@ -36,7 +36,7 @@ void Add(string? path, ICollection customHelperPaths) Add(Path.GetDirectoryName(System.Reflection.Assembly.GetCallingAssembly().Location), paths); Add(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), paths); Add(Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule?.FileName), paths); -#endif +//#endif o.CustomHelperPaths = paths; o.CustomHelpers = new Dictionary(); @@ -49,7 +49,7 @@ void Add(string? path, ICollection customHelperPaths) private static string GetBaseDirectory() { -#if NETSTANDARD1_3_OR_GREATER || NET6_0_OR_GREATER +#if NET8_0_OR_GREATER return AppContext.BaseDirectory.TrimEnd(Path.DirectorySeparatorChar); #else return AppDomain.CurrentDomain.BaseDirectory.TrimEnd(Path.DirectorySeparatorChar); diff --git a/src/WireMock.Net.Minimal/Util/CultureInfoExtensions.cs b/src/WireMock.Net.Minimal/Util/CultureInfoExtensions.cs index e32570d0e..4f6bce2c3 100644 --- a/src/WireMock.Net.Minimal/Util/CultureInfoExtensions.cs +++ b/src/WireMock.Net.Minimal/Util/CultureInfoExtensions.cs @@ -18,12 +18,12 @@ public static CultureInfo Parse(string? value) try { -#if !NETSTANDARD1_3 +//#if !NETSTANDARD1_3 if (int.TryParse(value, out var culture)) { return new CultureInfo(culture); } -#endif +//#endif if (string.Equals(value, nameof(CultureInfo.CurrentCulture), StringComparison.OrdinalIgnoreCase)) { return CultureInfo.CurrentCulture; diff --git a/src/WireMock.Net.Minimal/Util/PortUtils.cs b/src/WireMock.Net.Minimal/Util/PortUtils.cs index 1cc2aad8d..fecadf75e 100644 --- a/src/WireMock.Net.Minimal/Util/PortUtils.cs +++ b/src/WireMock.Net.Minimal/Util/PortUtils.cs @@ -37,9 +37,9 @@ public static int FindFreeTcpPort() } finally { -#if !NETSTANDARD1_3 +//#if !NETSTANDARD1_3 portSocket.Close(); -#endif +//#endif portSocket.Dispose(); } } @@ -75,9 +75,9 @@ public static IReadOnlyList FindFreeTcpPorts(int count) { foreach (var socket in sockets) { -#if !NETSTANDARD1_3 +//#if !NETSTANDARD1_3 socket.Close(); -#endif +//#endif socket.Dispose(); } } diff --git a/src/WireMock.Net.Minimal/Util/UrlUtils.cs b/src/WireMock.Net.Minimal/Util/UrlUtils.cs index 6c5eefad0..c9d73e77e 100644 --- a/src/WireMock.Net.Minimal/Util/UrlUtils.cs +++ b/src/WireMock.Net.Minimal/Util/UrlUtils.cs @@ -1,13 +1,14 @@ // Copyright © WireMock.Net using System; +using Microsoft.AspNetCore.Http; using WireMock.Models; using Stef.Validation; -#if !USE_ASPNETCORE -using Microsoft.Owin; -#else -using Microsoft.AspNetCore.Http; -#endif +//#if !USE_ASPNETCORE +//using Microsoft.Owin; +//#else +//using Microsoft.AspNetCore.Http; +//#endif namespace WireMock.Util; diff --git a/src/WireMock.Net.Minimal/WireMock.Net.Minimal.csproj b/src/WireMock.Net.Minimal/WireMock.Net.Minimal.csproj index 6d245c539..ca2dbeb1e 100644 --- a/src/WireMock.Net.Minimal/WireMock.Net.Minimal.csproj +++ b/src/WireMock.Net.Minimal/WireMock.Net.Minimal.csproj @@ -3,7 +3,8 @@ Minimal version from the lightweight Http Mocking Server for .NET WireMock.Net.Minimal Stef Heyenrath - net451;net452;net46;net461;netstandard1.3;netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + + net48;net8.0 true WireMock.Net.Minimal WireMock.Net.Minimal @@ -28,105 +29,31 @@ ../WireMock.Net/WireMock.Net.ruleset - - $(DefineConstants);NETSTANDARD;USE_ASPNETCORE - - - - $(DefineConstants);USE_ASPNETCORE - - - - $(DefineConstants);USE_ASPNETCORE;NET46 - - - - $(DefineConstants);OPENAPIPARSER - - - - $(DefineConstants);GRAPHQL;MIMEKIT;PROTOBUF - - - + $(DefineConstants);TRAILINGHEADERS - + - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + @@ -147,21 +74,10 @@ - - - - - - - - - + \ No newline at end of file diff --git a/src/WireMock.Net.OpenApiParser/Extensions/OpenApiSchemaExtensions.cs b/src/WireMock.Net.OpenApiParser/Extensions/OpenApiSchemaExtensions.cs index 51da19f37..dc17200cf 100644 --- a/src/WireMock.Net.OpenApiParser/Extensions/OpenApiSchemaExtensions.cs +++ b/src/WireMock.Net.OpenApiParser/Extensions/OpenApiSchemaExtensions.cs @@ -5,9 +5,7 @@ using System.Reflection; using System.Text.Json; using System.Text.Json.Nodes; -using Microsoft.OpenApi.Interfaces; -using Microsoft.OpenApi.Models; -using Microsoft.OpenApi.Models.Interfaces; +using Microsoft.OpenApi; using WireMock.Net.OpenApiParser.Types; namespace WireMock.Net.OpenApiParser.Extensions; diff --git a/src/WireMock.Net.OpenApiParser/Mappers/OpenApiPathsMapper.cs b/src/WireMock.Net.OpenApiParser/Mappers/OpenApiPathsMapper.cs index fae8b50e9..a4b3e8a52 100644 --- a/src/WireMock.Net.OpenApiParser/Mappers/OpenApiPathsMapper.cs +++ b/src/WireMock.Net.OpenApiParser/Mappers/OpenApiPathsMapper.cs @@ -6,8 +6,7 @@ using System.Linq; using System.Text.Json; using System.Text.Json.Nodes; -using Microsoft.OpenApi.Models; -using Microsoft.OpenApi.Models.Interfaces; +using Microsoft.OpenApi; using Newtonsoft.Json; using Stef.Validation; using WireMock.Admin.Mappings; diff --git a/src/WireMock.Net.OpenApiParser/Settings/IWireMockOpenApiParserExampleValues.cs b/src/WireMock.Net.OpenApiParser/Settings/IWireMockOpenApiParserExampleValues.cs index 5d3351446..6c3b39538 100644 --- a/src/WireMock.Net.OpenApiParser/Settings/IWireMockOpenApiParserExampleValues.cs +++ b/src/WireMock.Net.OpenApiParser/Settings/IWireMockOpenApiParserExampleValues.cs @@ -1,7 +1,7 @@ // Copyright © WireMock.Net using System; -using Microsoft.OpenApi.Models.Interfaces; +using Microsoft.OpenApi; namespace WireMock.Net.OpenApiParser.Settings; diff --git a/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserDynamicExampleValues.cs b/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserDynamicExampleValues.cs index 194762c51..0f27bf31b 100644 --- a/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserDynamicExampleValues.cs +++ b/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserDynamicExampleValues.cs @@ -1,7 +1,7 @@ // Copyright © WireMock.Net using System; -using Microsoft.OpenApi.Models.Interfaces; +using Microsoft.OpenApi; using RandomDataGenerator.FieldOptions; using RandomDataGenerator.Randomizers; diff --git a/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserExampleValues.cs b/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserExampleValues.cs index 3b3c6fea9..5acec53a5 100644 --- a/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserExampleValues.cs +++ b/src/WireMock.Net.OpenApiParser/Settings/WireMockOpenApiParserExampleValues.cs @@ -1,8 +1,7 @@ // Copyright © WireMock.Net using System; -using Microsoft.OpenApi.Models; -using Microsoft.OpenApi.Models.Interfaces; +using Microsoft.OpenApi; namespace WireMock.Net.OpenApiParser.Settings; diff --git a/src/WireMock.Net.OpenApiParser/Utils/ExampleValueGenerator.cs b/src/WireMock.Net.OpenApiParser/Utils/ExampleValueGenerator.cs index 153d4c67d..2560873f7 100644 --- a/src/WireMock.Net.OpenApiParser/Utils/ExampleValueGenerator.cs +++ b/src/WireMock.Net.OpenApiParser/Utils/ExampleValueGenerator.cs @@ -3,8 +3,7 @@ using System; using System.Linq; using System.Text.Json.Nodes; -using Microsoft.OpenApi.Models; -using Microsoft.OpenApi.Models.Interfaces; +using Microsoft.OpenApi; using Stef.Validation; using WireMock.Net.OpenApiParser.Extensions; using WireMock.Net.OpenApiParser.Settings; diff --git a/src/WireMock.Net.OpenApiParser/WireMock.Net.OpenApiParser.csproj b/src/WireMock.Net.OpenApiParser/WireMock.Net.OpenApiParser.csproj index fb4547568..b12b1b28f 100644 --- a/src/WireMock.Net.OpenApiParser/WireMock.Net.OpenApiParser.csproj +++ b/src/WireMock.Net.OpenApiParser/WireMock.Net.OpenApiParser.csproj @@ -2,17 +2,20 @@ An OpenApi (swagger) parser to generate MappingModel or mapping.json file. - netstandard2.0;net8.0 + + net48;net8.0 true wiremock;openapi;OAS;raml;converter;parser;openapiparser {E5B03EEF-822C-4295-952B-4479AD30082B} true - MIT + + true + ../WireMock.Net/WireMock.Net.snk + + ../WireMock.Net/WireMock.Net.ruleset @@ -23,26 +26,28 @@ - - all - runtime; build; native; contentfiles; analyzers; buildtransitive + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + + + - + - - - - - + + + + diff --git a/src/WireMock.Net.OpenApiParser/WireMockOpenApiParser.cs b/src/WireMock.Net.OpenApiParser/WireMockOpenApiParser.cs index c4f16dcd7..3ef512477 100644 --- a/src/WireMock.Net.OpenApiParser/WireMockOpenApiParser.cs +++ b/src/WireMock.Net.OpenApiParser/WireMockOpenApiParser.cs @@ -5,7 +5,7 @@ using System.IO; using System.Text; using JetBrains.Annotations; -using Microsoft.OpenApi.Models; +using Microsoft.OpenApi; using Microsoft.OpenApi.Reader; using Microsoft.OpenApi.YamlReader; using RamlToOpenApiConverter; diff --git a/src/WireMock.Net.ProtoBuf/Util/ProtoDefinitionDataHelper.cs b/src/WireMock.Net.ProtoBuf/Util/ProtoDefinitionDataHelper.cs index 1ba3c06f8..01f827afb 100644 --- a/src/WireMock.Net.ProtoBuf/Util/ProtoDefinitionDataHelper.cs +++ b/src/WireMock.Net.ProtoBuf/Util/ProtoDefinitionDataHelper.cs @@ -40,7 +40,7 @@ public static async Task FromDirectory(string directory, Ca // Build comment and get content from file. var comment = $"// {protoRelativePath}"; -#if NETSTANDARD2_0 || NET462 +#if NETSTANDARD2_0 || NET462 || NET48 var content = File.ReadAllText(filePath); #else var content = await File.ReadAllTextAsync(filePath, cancellationToken); diff --git a/src/WireMock.Net.ProtoBuf/WireMock.Net.ProtoBuf.csproj b/src/WireMock.Net.ProtoBuf/WireMock.Net.ProtoBuf.csproj index 23fb98aa2..47710e3dd 100644 --- a/src/WireMock.Net.ProtoBuf/WireMock.Net.ProtoBuf.csproj +++ b/src/WireMock.Net.ProtoBuf/WireMock.Net.ProtoBuf.csproj @@ -4,7 +4,8 @@ ProtoBuf and gRPC support for WireMock.Net WireMock.Net.ProtoBuf Stef Heyenrath - netstandard2.1;net462;net6.0;net8.0 + + net48;net8.0 true wiremock;matchers;matcher;protobuf;grpc WireMock @@ -26,7 +27,7 @@ - + diff --git a/src/WireMock.Net.RestClient/WireMock.Net.RestClient.csproj b/src/WireMock.Net.RestClient/WireMock.Net.RestClient.csproj index 3baecc439..e8175561e 100644 --- a/src/WireMock.Net.RestClient/WireMock.Net.RestClient.csproj +++ b/src/WireMock.Net.RestClient/WireMock.Net.RestClient.csproj @@ -4,7 +4,8 @@ A RestClient using RestEase to access the admin interface. WireMock.Net.RestClient Stef Heyenrath - net45;netstandard1.3;netstandard2.0;netstandard2.1 + + net48;net8.0 true WireMock.Net.RestClient WireMock.Net.RestClient @@ -33,9 +34,9 @@ - + - + diff --git a/src/WireMock.Net.Shared/IMapping.cs b/src/WireMock.Net.Shared/IMapping.cs index 8fba4ab0b..764ed4d3a 100644 --- a/src/WireMock.Net.Shared/IMapping.cs +++ b/src/WireMock.Net.Shared/IMapping.cs @@ -147,7 +147,7 @@ public interface IMapping /// ProvideResponseAsync /// /// The request message. - /// The including a new (optional) . + /// The including a new (optional) . Task<(IResponseMessage Message, IMapping? Mapping)> ProvideResponseAsync(IRequestMessage requestMessage); /// diff --git a/src/WireMock.Net.Shared/RegularExpressions/RegexExtended.cs b/src/WireMock.Net.Shared/RegularExpressions/RegexExtended.cs index 529e39e8f..04569e5c3 100644 --- a/src/WireMock.Net.Shared/RegularExpressions/RegexExtended.cs +++ b/src/WireMock.Net.Shared/RegularExpressions/RegexExtended.cs @@ -10,9 +10,9 @@ namespace WireMock.RegularExpressions; /// /// Extension to the object, adding support for GUID tokens for matching on. /// -#if !NETSTANDARD1_3 +//#if !NETSTANDARD1_3 [Serializable] -#endif +//#endif internal class RegexExtended : Regex { /// @@ -32,7 +32,7 @@ public RegexExtended(string pattern, RegexOptions options, TimeSpan matchTimeout { } -#if !NETSTANDARD1_3 && !NET8_0_OR_GREATER +#if !NET8_0_OR_GREATER /// protected RegexExtended(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) diff --git a/src/WireMock.Net.Shared/Settings/WireMockServerSettings.cs b/src/WireMock.Net.Shared/Settings/WireMockServerSettings.cs index 86f99f382..dbe357f89 100644 --- a/src/WireMock.Net.Shared/Settings/WireMockServerSettings.cs +++ b/src/WireMock.Net.Shared/Settings/WireMockServerSettings.cs @@ -14,10 +14,7 @@ using WireMock.Types; using System.Globalization; using WireMock.Models; - -#if USE_ASPNETCORE using Microsoft.Extensions.DependencyInjection; -#endif namespace WireMock.Settings; @@ -151,7 +148,7 @@ public class WireMockServerSettings [JsonIgnore] public Action? PostWireMockMiddlewareInit { get; set; } -#if USE_ASPNETCORE +//#if USE_ASPNETCORE /// /// Action which is called with IServiceCollection when ASP.NET Core DI is being configured. [Optional] /// @@ -164,7 +161,7 @@ public class WireMockServerSettings /// [PublicAPI] public CorsPolicyOptions? CorsPolicyOptions { get; set; } -#endif +//#endif /// /// The IWireMockLogger which logs Debug, Info, Warning or Error @@ -249,7 +246,7 @@ public class WireMockServerSettings [PublicAPI] public bool CustomCertificateDefined => CertificateSettings?.IsDefined == true; -#if USE_ASPNETCORE +//#if USE_ASPNETCORE /// /// Client certificate mode for the server /// @@ -260,7 +257,7 @@ public class WireMockServerSettings /// Whether to accept any client certificate /// public bool AcceptAnyClientCertificate { get; set; } -#endif +//#endif /// /// Defines the global IWebhookSettings to use. diff --git a/src/WireMock.Net.Shared/Util/CompressionUtils.cs b/src/WireMock.Net.Shared/Util/CompressionUtils.cs index 290ff9c82..3388617fc 100644 --- a/src/WireMock.Net.Shared/Util/CompressionUtils.cs +++ b/src/WireMock.Net.Shared/Util/CompressionUtils.cs @@ -23,9 +23,9 @@ public static byte[] Compress(string contentEncoding, byte[] data) using var zipStream = Create(contentEncoding, compressedStream, CompressionMode.Compress); zipStream.Write(data, 0, data.Length); -#if !NETSTANDARD1_3 +//#if !NETSTANDARD1_3 zipStream.Close(); -#endif +//#endif return compressedStream.ToArray(); } diff --git a/src/WireMock.Net.Shared/Util/TypeLoader.cs b/src/WireMock.Net.Shared/Util/TypeLoader.cs index dabd8e9b9..c2dda6ffb 100644 --- a/src/WireMock.Net.Shared/Util/TypeLoader.cs +++ b/src/WireMock.Net.Shared/Util/TypeLoader.cs @@ -142,16 +142,16 @@ private static bool TryGetPluginTypeByFullName(string implementation private static bool TryFindTypeInDlls(string? implementationTypeFullName, [NotNullWhen(true)] out Type? pluginType) where TInterface : class { -#if NETSTANDARD1_3 - var directoriesToSearch = new[] { AppContext.BaseDirectory }; -#else +//#if NETSTANDARD1_3 +// var directoriesToSearch = new[] { AppContext.BaseDirectory }; +//#else var processDirectory = Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule?.FileName); var assemblyDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var directoriesToSearch = new[] { processDirectory, assemblyDirectory } .Where(d => !string.IsNullOrEmpty(d)) .Distinct() .ToArray(); -#endif +//#endif foreach (var directory in directoriesToSearch) { foreach (var file in Directory.GetFiles(directory!, "*.dll")) diff --git a/src/WireMock.Net.Shared/WireMock.Net.Shared.csproj b/src/WireMock.Net.Shared/WireMock.Net.Shared.csproj index 2b01dd010..76d36db46 100644 --- a/src/WireMock.Net.Shared/WireMock.Net.Shared.csproj +++ b/src/WireMock.Net.Shared/WireMock.Net.Shared.csproj @@ -2,7 +2,8 @@ Shared interfaces, models, enumerations and types. Stef Heyenrath - net451;net452;net46;net461;netstandard1.3;netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + + net48;net8.0 true tdd;mock;http;wiremock;test;server;shared WireMock @@ -16,10 +17,6 @@ true - - - - ../WireMock.Net/WireMock.Net.ruleset @@ -29,28 +26,17 @@ true - - $(DefineConstants);NETSTANDARD;USE_ASPNETCORE - - - - $(DefineConstants);USE_ASPNETCORE - - - - $(DefineConstants);USE_ASPNETCORE;NET46 - - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - + + @@ -61,10 +47,7 @@ - - - - + diff --git a/src/WireMock.Net.StandAlone/WireMock.Net.StandAlone.csproj b/src/WireMock.Net.StandAlone/WireMock.Net.StandAlone.csproj index c1715a86c..c0e7aca87 100644 --- a/src/WireMock.Net.StandAlone/WireMock.Net.StandAlone.csproj +++ b/src/WireMock.Net.StandAlone/WireMock.Net.StandAlone.csproj @@ -1,9 +1,10 @@ - + Lightweight StandAlone Http Mocking Server for .Net. WireMock.Net.StandAlone Stef Heyenrath - net451;net452;net46;net461;netstandard1.3;netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + + net48;net8.0 true WireMock.Net.StandAlone WireMock.Net.StandAlone @@ -27,19 +28,14 @@ true - - NETSTANDARD;USE_ASPNETCORE - - - - USE_ASPNETCORE;NET46 - - - + all runtime; build; native; contentfiles; analyzers; buildtransitive + + + \ No newline at end of file diff --git a/src/WireMock.Net.TUnit/WireMock.Net.TUnit.csproj b/src/WireMock.Net.TUnit/WireMock.Net.TUnit.csproj index 71d6bedb9..73e9be9e5 100644 --- a/src/WireMock.Net.TUnit/WireMock.Net.TUnit.csproj +++ b/src/WireMock.Net.TUnit/WireMock.Net.TUnit.csproj @@ -27,8 +27,8 @@ - - + + diff --git a/src/WireMock.Net.Testcontainers/WireMock.Net.Testcontainers.csproj b/src/WireMock.Net.Testcontainers/WireMock.Net.Testcontainers.csproj index f574e7443..72bf08e96 100644 --- a/src/WireMock.Net.Testcontainers/WireMock.Net.Testcontainers.csproj +++ b/src/WireMock.Net.Testcontainers/WireMock.Net.Testcontainers.csproj @@ -38,7 +38,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/WireMock.Net.xUnit/WireMock.Net.xUnit.csproj b/src/WireMock.Net.xUnit/WireMock.Net.xUnit.csproj index 48496be15..31b3f3f57 100644 --- a/src/WireMock.Net.xUnit/WireMock.Net.xUnit.csproj +++ b/src/WireMock.Net.xUnit/WireMock.Net.xUnit.csproj @@ -3,7 +3,8 @@ Some extensions for xUnit (ITestOutputHelper) WireMock.Net.xUnit Stef Heyenrath - net45;net451;netstandard1.3;netstandard2.0;netstandard2.1 + + net48;net8.0 true WireMock.Net.xUnit WireMock.Net.Xunit @@ -26,7 +27,7 @@ - + diff --git a/src/WireMock.Net/WireMock.Net.csproj b/src/WireMock.Net/WireMock.Net.csproj index f07348a06..6b47c25a5 100644 --- a/src/WireMock.Net/WireMock.Net.csproj +++ b/src/WireMock.Net/WireMock.Net.csproj @@ -3,7 +3,8 @@ Lightweight Http Mocking Server for .NET, inspired by WireMock from the Java landscape. WireMock.Net Stef Heyenrath - net451;net452;net46;net461;netstandard1.3;netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + + net48;net8.0 true WireMock.Net WireMock.Net @@ -30,11 +31,9 @@ - - - + \ No newline at end of file diff --git a/src/WireMock.Org.Abstractions/WireMock.Org.Abstractions.csproj b/src/WireMock.Org.Abstractions/WireMock.Org.Abstractions.csproj index bd776b0bf..9cc41ba65 100644 --- a/src/WireMock.Org.Abstractions/WireMock.Org.Abstractions.csproj +++ b/src/WireMock.Org.Abstractions/WireMock.Org.Abstractions.csproj @@ -4,7 +4,8 @@ Commonly used interfaces, models, enumerations and types. WireMock.Org.Abstractions Stef Heyenrath - net45;netstandard1.0;netstandard2.0;netstandard2.1 + + net48;net8.0 true $(NoWarn);1591;8603 WireMock.Org.Abstractions diff --git a/src/WireMock.Org.RestClient/WireMock.Org.RestClient.csproj b/src/WireMock.Org.RestClient/WireMock.Org.RestClient.csproj index 34a7796ef..457c7b2e8 100644 --- a/src/WireMock.Org.RestClient/WireMock.Org.RestClient.csproj +++ b/src/WireMock.Org.RestClient/WireMock.Org.RestClient.csproj @@ -4,7 +4,8 @@ A WireMock.org RestClient using RestEase to access the admin interface. WireMock.Org.RestClient Stef Heyenrath - net45;netstandard1.1;netstandard2.0;netstandard2.1 + + net48;net8.0 true WireMock.Org.RestClient WireMock.Org.RestClient @@ -33,7 +34,7 @@ - + diff --git a/src/dotnet-WireMock.Net/Json/SourceGenerationContext.cs b/src/dotnet-WireMock.Net/Json/SourceGenerationContext.cs new file mode 100644 index 000000000..ba7312fff --- /dev/null +++ b/src/dotnet-WireMock.Net/Json/SourceGenerationContext.cs @@ -0,0 +1,19 @@ +// Copyright © WireMock.Net + +using System.Text.Json.Serialization; +using WireMock.Admin.Mappings; +using WireMock.Admin.Requests; +using WireMock.Types; + +namespace WireMock.Net.Json; + +[JsonSourceGenerationOptions(WriteIndented = true)] +[JsonSerializable(typeof(EncodingModel))] +[JsonSerializable(typeof(LogEntryModel))] +[JsonSerializable(typeof(LogRequestModel))] +[JsonSerializable(typeof(LogResponseModel))] +[JsonSerializable(typeof(LogRequestMatchModel))] +[JsonSerializable(typeof(WireMockList))] +internal partial class SourceGenerationContext : JsonSerializerContext +{ +} \ No newline at end of file diff --git a/src/dotnet-WireMock.Net/WireMockLogger.cs b/src/dotnet-WireMock.Net/WireMockLogger.cs index 29a03b70f..08398facd 100644 --- a/src/dotnet-WireMock.Net/WireMockLogger.cs +++ b/src/dotnet-WireMock.Net/WireMockLogger.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Logging; using WireMock.Admin.Requests; using WireMock.Logging; +using WireMock.Net.Json; namespace WireMock.Net; @@ -55,7 +56,7 @@ public void Error(string message, Exception exception) /// public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest) { - string message = JsonSerializer.Serialize(logEntryModel, _options); + string message = JsonSerializer.Serialize(logEntryModel, SourceGenerationContext.Default.LogEntryModel); _logger.LogDebug("Admin[{IsAdmin}] {Message}", isAdminRequest, message); } diff --git a/src/dotnet-WireMock.Net/dotnet-WireMock.csproj b/src/dotnet-WireMock.Net/dotnet-WireMock.csproj index 68e4db873..f4e989936 100644 --- a/src/dotnet-WireMock.Net/dotnet-WireMock.csproj +++ b/src/dotnet-WireMock.Net/dotnet-WireMock.csproj @@ -1,27 +1,27 @@ - + - - Exe - net8.0 - true - dotnet-wiremock - A dotnet commandline tool for WireMock.Net (A Lightweight Http Mocking Server for .NET) - tdd;mock;http;wiremock;test;server;unittest;dotnet;tool;dotnet-tool - MIT - Stef Heyenrath - + + Exe + net8.0 + true + WireMock.Net + dotnet-wiremock + A dotnet commandline tool for WireMock.Net (A Lightweight Http Mocking Server for .NET) + tdd;mock;http;wiremock;test;server;unittest;dotnet;tool;dotnet-tool + MIT + Stef Heyenrath + - - true - + + true + - - - - + + + - - - + + + \ No newline at end of file diff --git a/test/Directory.Build.props b/test/Directory.Build.props index c60702799..e42f8a67c 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -1,7 +1,7 @@ - + diff --git a/test/WireMock.Net.Aspire.Tests/IntegrationTests.cs b/test/WireMock.Net.Aspire.Tests/IntegrationTests.cs index e51c2d9b7..1470c8369 100644 --- a/test/WireMock.Net.Aspire.Tests/IntegrationTests.cs +++ b/test/WireMock.Net.Aspire.Tests/IntegrationTests.cs @@ -1,7 +1,7 @@ // Copyright © WireMock.Net using System.Net.Http.Json; -using FluentAssertions; +using AwesomeAssertions; using Projects; using WireMock.Net.Aspire.Tests.Facts; using Xunit.Abstractions; diff --git a/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj b/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj index 51a115cfb..6b11ee4ca 100644 --- a/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj +++ b/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj @@ -19,15 +19,15 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/WireMock.Net.Aspire.Tests/WireMockServerArgumentsTests.cs b/test/WireMock.Net.Aspire.Tests/WireMockServerArgumentsTests.cs index 15a4ca3c0..8e20284bd 100644 --- a/test/WireMock.Net.Aspire.Tests/WireMockServerArgumentsTests.cs +++ b/test/WireMock.Net.Aspire.Tests/WireMockServerArgumentsTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -using FluentAssertions; +using AwesomeAssertions; namespace WireMock.Net.Aspire.Tests; diff --git a/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs b/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs index a2c1f15d4..afa42e3e6 100644 --- a/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs +++ b/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs @@ -1,7 +1,7 @@ // Copyright © WireMock.Net using System.Net.Sockets; -using FluentAssertions; +using AwesomeAssertions; using Moq; namespace WireMock.Net.Aspire.Tests; diff --git a/test/WireMock.Net.Extensions.Routing.Tests/WireMock.Net.Extensions.Routing.Tests.csproj b/test/WireMock.Net.Extensions.Routing.Tests/WireMock.Net.Extensions.Routing.Tests.csproj index cd5de199f..0f9d0c22c 100644 --- a/test/WireMock.Net.Extensions.Routing.Tests/WireMock.Net.Extensions.Routing.Tests.csproj +++ b/test/WireMock.Net.Extensions.Routing.Tests/WireMock.Net.Extensions.Routing.Tests.csproj @@ -21,7 +21,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/WireMock.Net.Middleware.Tests/IntegrationTests.cs b/test/WireMock.Net.Middleware.Tests/IntegrationTests.cs index 8cac376ed..9326f43c9 100644 --- a/test/WireMock.Net.Middleware.Tests/IntegrationTests.cs +++ b/test/WireMock.Net.Middleware.Tests/IntegrationTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -using FluentAssertions; +using AwesomeAssertions; using WireMock.Net.TestWebApplication; namespace WireMock.Net.Middleware.Tests; diff --git a/test/WireMock.Net.Middleware.Tests/WireMock.Net.Middleware.Tests.csproj b/test/WireMock.Net.Middleware.Tests/WireMock.Net.Middleware.Tests.csproj index fec8bdf68..8d7b7dab2 100644 --- a/test/WireMock.Net.Middleware.Tests/WireMock.Net.Middleware.Tests.csproj +++ b/test/WireMock.Net.Middleware.Tests/WireMock.Net.Middleware.Tests.csproj @@ -17,16 +17,16 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj b/test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj index ac4bf011a..7f4c621dc 100644 --- a/test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj +++ b/test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj @@ -9,7 +9,7 @@ - + diff --git a/test/WireMock.Net.Tests.UsingNuGet/WireMock.Net.Tests.UsingNuGet.csproj b/test/WireMock.Net.Tests.UsingNuGet/WireMock.Net.Tests.UsingNuGet.csproj index 4facbda3e..dc984f929 100644 --- a/test/WireMock.Net.Tests.UsingNuGet/WireMock.Net.Tests.UsingNuGet.csproj +++ b/test/WireMock.Net.Tests.UsingNuGet/WireMock.Net.Tests.UsingNuGet.csproj @@ -9,20 +9,16 @@ true - - $(DefineConstants);GRAPHQL;MIMEKIT;PROTOBUF - - - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.GetMappings.cs b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.GetMappings.cs index a98b2cf54..725570bb9 100644 --- a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.GetMappings.cs +++ b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.GetMappings.cs @@ -41,7 +41,7 @@ public async Task IWireMockAdminApi_GetMappingsAsync_WithBodyAsProtoBuf_ShouldRe // Act var api = RestClient.For(server.Url); - var getMappingsResult = await api.GetMappingsAsync().ConfigureAwait(false); + var getMappingsResult = await api.GetMappingsAsync(); await Verifier.Verify(getMappingsResult, VerifySettings); } @@ -54,7 +54,7 @@ public async Task HttpClient_GetMappingsAsync_WithBodyAsProtoBuf_ShouldReturnCor // Act var client = server.CreateClient(); - var getMappingsResult = await client.GetStringAsync("/__admin/mappings").ConfigureAwait(false); + var getMappingsResult = await client.GetStringAsync("/__admin/mappings"); await Verifier.VerifyJson(getMappingsResult, VerifySettings); } diff --git a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.IWireMockAdminApi_GetMappingsCode.verified.txt b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.IWireMockAdminApi_GetMappingsCode.verified.txt index 764576f75..8179e1816 100644 --- a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.IWireMockAdminApi_GetMappingsCode.verified.txt +++ b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.IWireMockAdminApi_GetMappingsCode.verified.txt @@ -59,7 +59,7 @@ server ) .WithGuid("c9929240-7ae8-4a5d-8ed8-0913479f6eeb") .RespondWith(Response.Create() - .WithStatusCode(208) + .WithStatusCode(306) .WithBodyAsJson(new { @as = 1, diff --git a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.PostMappings.cs b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.PostMappings.cs index 0d0436c31..cc7727617 100644 --- a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.PostMappings.cs +++ b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.PostMappings.cs @@ -72,7 +72,7 @@ public async Task IWireMockAdminApi_PostMappingsAsync() Title = "test 2", Description = "description 2" }; - var result = await api.PostMappingsAsync(new[] { model1, model2 }).ConfigureAwait(false); + var result = await api.PostMappingsAsync(new[] { model1, model2 }); // Assert Check.That(result).IsNotNull(); @@ -105,7 +105,7 @@ public async Task IWireMockAdminApi_PostMappingAsync_WithStatusCode(object statu Priority = 500, Title = "test" }; - var result = await api.PostMappingAsync(model).ConfigureAwait(false); + var result = await api.PostMappingAsync(model); // Assert Check.That(result).IsNotNull(); @@ -116,7 +116,7 @@ public async Task IWireMockAdminApi_PostMappingAsync_WithStatusCode(object statu Check.That(mapping).IsNotNull(); Check.That(mapping.Title).Equals("test"); - var response = await mapping.ProvideResponseAsync(new RequestMessage(new UrlDetails("http://localhost/1"), "GET", "")).ConfigureAwait(false); + var response = await mapping.ProvideResponseAsync(new RequestMessage(new UrlDetails("http://localhost/1"), "GET", "")); Check.That(response.Message.StatusCode).Equals(expectedStatusCode); server.Stop(); diff --git a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.cs b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.cs index 257cca894..6e5e9b236 100644 --- a/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.cs +++ b/test/WireMock.Net.Tests/AdminApi/WireMockAdminApiTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if !(NET452 || NET461 || NETCOREAPP3_1) +//#if !(NET452 || NET461 || NETCOREAPP3_1) using System; using System.Collections.Generic; using System.IO; @@ -69,10 +69,10 @@ public async Task IWireMockAdminApi_WaitForHealthAsync_AndCall_GetHealthAsync_OK .WithAuthorization(adminUsername, adminPassword); // Act 1 - await api.WaitForHealthAsync().ConfigureAwait(false); + await api.WaitForHealthAsync(); // Act 2 - var status = await api.GetHealthAsync().ConfigureAwait(false); + var status = await api.GetHealthAsync(); status.Should().Be("Healthy"); } @@ -102,7 +102,7 @@ public async Task IWireMockAdminApi_GetSettingsAsync() var api = RestClient.For(server.Urls[0]); // Act - var settings = await api.GetSettingsAsync().ConfigureAwait(false); + var settings = await api.GetSettingsAsync(); Check.That(settings).IsNotNull(); } @@ -118,7 +118,7 @@ public async Task IWireMockAdminApi_GetSettingsAsync_ForDifferentAdminPath() var api = RestClient.For(server.Urls[0] + "/foo"); // Act - var settings = await api.GetSettingsAsync().ConfigureAwait(false); + var settings = await api.GetSettingsAsync(); // Assert Check.That(settings).IsNotNull(); @@ -137,7 +137,7 @@ public async Task IWireMockAdminApi_PostSettingsAsync() // Act var settings = new SettingsModel(); - var status = await api.PostSettingsAsync(settings).ConfigureAwait(false); + var status = await api.PostSettingsAsync(settings); Check.That(status.Status).Equals("Settings updated"); } @@ -150,7 +150,7 @@ public async Task IWireMockAdminApi_PutSettingsAsync() // Act var settings = new SettingsModel(); - var status = await api.PutSettingsAsync(settings).ConfigureAwait(false); + var status = await api.PutSettingsAsync(settings); Check.That(status.Status).Equals("Settings updated"); } @@ -170,7 +170,7 @@ public async Task IWireMockAdminApi_PutMappingAsync() Priority = 500, Title = "test" }; - var result = await api.PutMappingAsync(new Guid("a0000000-0000-0000-0000-000000000000"), model).ConfigureAwait(false); + var result = await api.PutMappingAsync(new Guid("a0000000-0000-0000-0000-000000000000"), model); // Assert Check.That(result).IsNotNull(); @@ -200,11 +200,11 @@ public async Task IWireMockAdminApi_FindRequestsAsync() .RespondWith(Response.Create()); var serverUrl = "http://localhost:" + server.Ports[0]; - await new HttpClient().GetAsync(serverUrl + "/foo").ConfigureAwait(false); + await new HttpClient().GetAsync(serverUrl + "/foo"); var api = RestClient.For(serverUrl); // Act - var requests = await api.FindRequestsAsync(new RequestModel { Methods = new[] { "GET" } }).ConfigureAwait(false); + var requests = await api.FindRequestsAsync(new RequestModel { Methods = new[] { "GET" } }); // Assert requests.Should().HaveCount(1); @@ -231,12 +231,12 @@ public async Task IWireMockAdminApi_FindRequestsByMappingGuidAsync_Found() var serverUrl = "http://localhost:" + server.Ports[0]; using var client = new HttpClient(); - await client.GetAsync(serverUrl + "/foo").ConfigureAwait(false); - await client.GetAsync(serverUrl + "/foo?bar=baz").ConfigureAwait(false); + await client.GetAsync(serverUrl + "/foo"); + await client.GetAsync(serverUrl + "/foo?bar=baz"); var api = RestClient.For(serverUrl); // Act - var logEntryModels = await api.FindRequestsByMappingGuidAsync(mappingGuid).ConfigureAwait(false); + var logEntryModels = await api.FindRequestsByMappingGuidAsync(mappingGuid); // Assert logEntryModels.Should().HaveCount(2); @@ -270,11 +270,11 @@ public async Task IWireMockAdminApi_FindRequestsByMappingGuidAsync_NotFound() .RespondWith(Response.Create()); var serverUrl = "http://localhost:" + server.Ports[0]; - await new HttpClient().GetAsync(serverUrl + "/foo").ConfigureAwait(false); + await new HttpClient().GetAsync(serverUrl + "/foo"); var api = RestClient.For(serverUrl); // Act - var logEntryModels = await api.FindRequestsByMappingGuidAsync(Guid.NewGuid()).ConfigureAwait(false); + var logEntryModels = await api.FindRequestsByMappingGuidAsync(Guid.NewGuid()); // Assert logEntryModels.Should().BeEmpty(); @@ -307,11 +307,11 @@ public async Task IWireMockAdminApi_GetRequestsAsync() Logger = new WireMockNullLogger() }); var serverUrl = "http://localhost:" + server.Ports[0]; - await new HttpClient().GetAsync(serverUrl + "/foo").ConfigureAwait(false); + await new HttpClient().GetAsync(serverUrl + "/foo"); var api = RestClient.For(serverUrl); // Act - var requests = await api.GetRequestsAsync().ConfigureAwait(false); + var requests = await api.GetRequestsAsync(); // Assert Check.That(requests).HasSize(1); @@ -347,7 +347,7 @@ public async Task IWireMockAdminApi_GetRequestsAsync_JsonApi() var api = RestClient.For(serverUrl); // Act - var requests = await api.GetRequestsAsync().ConfigureAwait(false); + var requests = await api.GetRequestsAsync(); // Assert Check.That(requests).HasSize(1); @@ -384,7 +384,7 @@ public async Task IWireMockAdminApi_GetMappingAsync_WithBodyModelMatcherModel_Wi }, Response = new ResponseModel { Body = "world" } }; - var postMappingResult = await api.PostMappingAsync(model).ConfigureAwait(false); + var postMappingResult = await api.PostMappingAsync(model); // Assert postMappingResult.Should().NotBeNull(); @@ -392,7 +392,7 @@ public async Task IWireMockAdminApi_GetMappingAsync_WithBodyModelMatcherModel_Wi var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); mapping.Should().NotBeNull(); - var getMappingResult = await api.GetMappingAsync(guid).ConfigureAwait(false); + var getMappingResult = await api.GetMappingAsync(guid); await Verifier.Verify(getMappingResult, VerifySettings).DontScrubGuids(); @@ -435,7 +435,7 @@ public async Task IWireMockAdminApi_GetMappingAsync_WithProxy_And_ProxyUrlReplac } } }; - var postMappingResult = await api.PostMappingAsync(model).ConfigureAwait(false); + var postMappingResult = await api.PostMappingAsync(model); // Assert postMappingResult.Should().NotBeNull(); @@ -443,7 +443,7 @@ public async Task IWireMockAdminApi_GetMappingAsync_WithProxy_And_ProxyUrlReplac var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); mapping.Should().NotBeNull(); - var getMappingResult = await api.GetMappingAsync(guid).ConfigureAwait(false); + var getMappingResult = await api.GetMappingAsync(guid); await Verifier.Verify(getMappingResult, VerifySettings).DontScrubGuids(); @@ -524,7 +524,7 @@ public async Task IWireMockAdminApi_GetRequestsAsync_Json() var api = RestClient.For(serverUrl); // Act - var requests = await api.GetRequestsAsync().ConfigureAwait(false); + var requests = await api.GetRequestsAsync(); // Assert Check.That(requests).HasSize(1); @@ -553,7 +553,7 @@ public async Task IWireMockAdminApi_PostFileAsync_Ascii() var api = RestClient.For(server.Urls[0]); // Act - var request = await api.PostFileAsync("filename.txt", "abc").ConfigureAwait(false); + var request = await api.PostFileAsync("filename.txt", "abc"); // Assert Check.That(request.Guid).IsNull(); @@ -586,7 +586,7 @@ public async Task IWireMockAdminApi_PutFileAsync_Ascii() var api = RestClient.For(server.Urls[0]); // Act - var request = await api.PutFileAsync("filename.txt", "abc-abc").ConfigureAwait(false); + var request = await api.PutFileAsync("filename.txt", "abc-abc"); // Assert Check.That(request.Guid).IsNull(); @@ -617,7 +617,7 @@ public void IWireMockAdminApi_PutFileAsync_NotFound() var api = RestClient.For(server.Urls[0]); // Act and Assert - Check.ThatAsyncCode(() => api.PutFileAsync("filename.txt", "xxx")).Throws(); + Check.ThatCode(() => api.PutFileAsync("filename.txt", "xxx")).Throws(); // Verify filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is(p => p == "filename.txt")), Times.Once); @@ -644,7 +644,7 @@ public void IWireMockAdminApi_GetFileAsync_NotFound() var api = RestClient.For(server.Urls[0]); // Act and Assert - Check.ThatAsyncCode(() => api.GetFileAsync("filename.txt")).Throws(); + Check.ThatCode(() => api.GetFileAsync("filename.txt")).Throws(); // Verify filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is(p => p == "filename.txt")), Times.Once); @@ -672,7 +672,7 @@ public async Task IWireMockAdminApi_GetFileAsync_Found() var api = RestClient.For(server.Urls[0]); // Act - string file = await api.GetFileAsync("filename.txt").ConfigureAwait(false); + string file = await api.GetFileAsync("filename.txt"); // Assert Check.That(file).Equals(data); @@ -703,7 +703,7 @@ public async Task IWireMockAdminApi_DeleteFileAsync_Ok() var api = RestClient.For(server.Urls[0]); // Act - await api.DeleteFileAsync("filename.txt").ConfigureAwait(false); + await api.DeleteFileAsync("filename.txt"); // Verify filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is(p => p == "filename.txt")), Times.Once); @@ -731,7 +731,7 @@ public void IWireMockAdminApi_DeleteFileAsync_NotFound() var api = RestClient.For(server.Urls[0]); // Act and Assert - Check.ThatAsyncCode(() => api.DeleteFileAsync("filename.txt")).Throws(); + Check.ThatCode(() => api.DeleteFileAsync("filename.txt")).Throws(); // Verify filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is(p => p == "filename.txt")), Times.Once); @@ -757,7 +757,7 @@ public void IWireMockAdminApi_FileExistsAsync_NotFound() var api = RestClient.For(server.Urls[0]); // Act and Assert - Check.ThatAsyncCode(() => api.FileExistsAsync("filename.txt")).Throws(); + Check.ThatCode(() => api.FileExistsAsync("filename.txt")).Throws(); // Verify filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is(p => p == "filename.txt")), Times.Once); @@ -775,7 +775,7 @@ public async Task IWireMockAdminApi_DeleteScenarioUsingDeleteAsync() var api = RestClient.For(server.Urls[0]); // Act - var status = await api.DeleteScenarioAsync(name).ConfigureAwait(false); + var status = await api.DeleteScenarioAsync(name); status.Status.Should().Be("No scenario found by name 'x'."); } @@ -788,7 +788,7 @@ public async Task IWireMockAdminApi_DeleteScenarioUsingPostAsync() var api = RestClient.For(server.Urls[0]); // Act - var status = await api.ResetScenarioAsync(name).ConfigureAwait(false); + var status = await api.ResetScenarioAsync(name); status.Status.Should().Be("No scenario found by name 'x'."); } @@ -805,7 +805,7 @@ public async Task IWireMockAdminApi_UpdateNonExistingScenarioState() { State = null }; - var status = await api.PutScenarioStateAsync("x", update).ConfigureAwait(false); + var status = await api.PutScenarioStateAsync("x", update); status.Status.Should().Be("No scenario found by name 'x'."); } @@ -839,7 +839,7 @@ public async Task IWireMockAdminApi_UpdateScenarioState() { State = null }; - var status = await api.PutScenarioStateAsync("s1", update).ConfigureAwait(false); + var status = await api.PutScenarioStateAsync("s1", update); status.Status.Should().Be("Scenario state set to ''"); } @@ -866,7 +866,7 @@ public async Task IWireMockAdminApi_GetMappingByGuidAsync() // Act var api = RestClient.For(server.Url); - var getMappingResult = await api.GetMappingAsync(guid).ConfigureAwait(false); + var getMappingResult = await api.GetMappingAsync(guid); // Assert var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); @@ -901,10 +901,10 @@ public async Task IWireMockAdminApi_GetMappingCodeByGuidAsync() // Act var api = RestClient.For(server.Url); - var mappings = await api.GetMappingsAsync().ConfigureAwait(false); + var mappings = await api.GetMappingsAsync(); mappings.Should().HaveCount(1); - var code = await api.GetMappingCodeAsync(guid).ConfigureAwait(false); + var code = await api.GetMappingCodeAsync(guid); // Assert await Verifier.Verify(code).DontScrubDateTimes().DontScrubGuids(); @@ -991,7 +991,7 @@ public async Task IWireMockAdminApi_GetMappingsCode() .WithGuid(guid5) .RespondWith( Response.Create() - .WithStatusCode(HttpStatusCode.AlreadyReported) + .WithStatusCode(HttpStatusCode.Unused) .WithBodyAsJson(new { @as = 1, @@ -1023,10 +1023,10 @@ public async Task IWireMockAdminApi_GetMappingsCode() // Act var api = RestClient.For(server.Url); - var mappings = await api.GetMappingsAsync().ConfigureAwait(false); + var mappings = await api.GetMappingsAsync(); mappings.Should().HaveCount(5); - var code = await api.GetMappingsCodeAsync().ConfigureAwait(false); + var code = await api.GetMappingsCodeAsync(); // Assert await Verifier.Verify(code).DontScrubDateTimes().DontScrubGuids(); @@ -1038,13 +1038,13 @@ public async Task IWireMockAdminApi_GetMappingsCode() public async Task IWireMockAdminApi_OpenApiConvert_Yml() { // Arrange - var openApiDocument = await File.ReadAllTextAsync(Path.Combine("OpenApiParser", "petstore.yml")); + var openApiDocument = File.ReadAllText(Path.Combine("OpenApiParser", "petstore.yml")); var server = WireMockServer.StartWithAdminInterface(); var api = RestClient.For(server.Url); // Act - var mappings = await api.OpenApiConvertAsync(openApiDocument).ConfigureAwait(false); + var mappings = await api.OpenApiConvertAsync(openApiDocument); // Assert server.MappingModels.Should().BeEmpty(); @@ -1057,13 +1057,13 @@ public async Task IWireMockAdminApi_OpenApiConvert_Yml() public async Task IWireMockAdminApi_OpenApiConvert_Json() { // Arrange - var openApiDocument = await File.ReadAllTextAsync(Path.Combine("OpenApiParser", "petstore-openapi3.json")); + var openApiDocument = File.ReadAllText(Path.Combine("OpenApiParser", "petstore-openapi3.json")); var server = WireMockServer.StartWithAdminInterface(); var api = RestClient.For(server.Url); // Act - var mappings = await api.OpenApiConvertAsync(openApiDocument).ConfigureAwait(false); + var mappings = await api.OpenApiConvertAsync(openApiDocument); // Assert server.MappingModels.Should().BeEmpty(); @@ -1076,13 +1076,13 @@ public async Task IWireMockAdminApi_OpenApiConvert_Json() public async Task IWireMockAdminApi_OpenApiSave_Json() { // Arrange - var openApiDocument = await File.ReadAllTextAsync(Path.Combine("OpenApiParser", "petstore-openapi3.json")); + var openApiDocument = File.ReadAllText(Path.Combine("OpenApiParser", "petstore-openapi3.json")); var server = WireMockServer.StartWithAdminInterface(); var api = RestClient.For(server.Url); // Act - var statusModel = await api.OpenApiSaveAsync(openApiDocument).ConfigureAwait(false); + var statusModel = await api.OpenApiSaveAsync(openApiDocument); // Assert statusModel.Status.Should().Be("OpenApi document converted to Mappings"); @@ -1095,13 +1095,13 @@ public async Task IWireMockAdminApi_OpenApiSave_Json() public async Task IWireMockAdminApi_OpenApiSave_Yml() { // Arrange - var openApiDocument = await File.ReadAllTextAsync(Path.Combine("OpenApiParser", "petstore.yml")); + var openApiDocument = File.ReadAllText(Path.Combine("OpenApiParser", "petstore.yml")); var server = WireMockServer.StartWithAdminInterface(); var api = RestClient.For(server.Url); // Act - var mappings = await api.OpenApiConvertAsync(openApiDocument).ConfigureAwait(false); + var mappings = await api.OpenApiConvertAsync(openApiDocument); // Assert server.MappingModels.Should().BeEmpty(); @@ -1118,7 +1118,7 @@ public async Task IWireMockAdminApi_ReadStaticMappingsAsync() var api = RestClient.For(server.Url); // Act - var status = await api.ReloadStaticMappingsAsync().ConfigureAwait(false); + var status = await api.ReloadStaticMappingsAsync(); // Assert status.Status.Should().Be("Static Mappings reloaded"); @@ -1129,4 +1129,4 @@ private static string ReadMappingFile(string filename) return File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "__admin", "mappings", filename)); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Client/Builders/AdminApiMappingBuilderTests.cs b/test/WireMock.Net.Tests/Client/Builders/AdminApiMappingBuilderTests.cs index 2ca01dd2b..0133325f6 100644 --- a/test/WireMock.Net.Tests/Client/Builders/AdminApiMappingBuilderTests.cs +++ b/test/WireMock.Net.Tests/Client/Builders/AdminApiMappingBuilderTests.cs @@ -56,12 +56,12 @@ public async Task GetMappingBuilder_BuildAndPostAsync() ); // Act - var status = await mappingBuilder.BuildAndPostAsync().ConfigureAwait(false); + var status = await mappingBuilder.BuildAndPostAsync(); // Assert status.Status.Should().Be("Mapping added"); - var getMappingResult = await api.GetMappingAsync(guid).ConfigureAwait(false); + var getMappingResult = await api.GetMappingAsync(guid); await Verifier.Verify(getMappingResult, VerifySettings).DontScrubGuids(); diff --git a/test/WireMock.Net.Tests/FluentAssertions/WireMockAssertionsTests.cs b/test/WireMock.Net.Tests/FluentAssertions/WireMockAssertionsTests.cs index 6b152f08f..874b7c6a4 100644 --- a/test/WireMock.Net.Tests/FluentAssertions/WireMockAssertionsTests.cs +++ b/test/WireMock.Net.Tests/FluentAssertions/WireMockAssertionsTests.cs @@ -5,6 +5,7 @@ using System.Net; using System.Net.Http; using System.Net.Http.Headers; +using System.Net.Http.Json; using System.Threading.Tasks; using FluentAssertions; using WireMock.FluentAssertions; @@ -36,7 +37,7 @@ public WireMockAssertionsTests() [Fact] public async Task HaveReceivedNoCalls_AtAbsoluteUrl_WhenACallWasNotMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("xxx").ConfigureAwait(false); + await _httpClient.GetAsync("xxx"); _server.Should() .HaveReceivedNoCalls() @@ -46,7 +47,7 @@ public async Task HaveReceivedNoCalls_AtAbsoluteUrl_WhenACallWasNotMadeToAbsolut [Fact] public async Task HaveReceived0Calls_AtAbsoluteUrl_WhenACallWasNotMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("xxx").ConfigureAwait(false); + await _httpClient.GetAsync("xxx"); _server.Should() .HaveReceived(0).Calls() @@ -56,7 +57,7 @@ public async Task HaveReceived0Calls_AtAbsoluteUrl_WhenACallWasNotMadeToAbsolute [Fact] public async Task HaveReceived1Calls_AtAbsoluteUrl_WhenACallWasMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceived(1).Calls() @@ -66,7 +67,7 @@ public async Task HaveReceived1Calls_AtAbsoluteUrl_WhenACallWasMadeToAbsoluteUrl [Fact] public async Task HaveReceived1Calls_AtAbsoluteUrl2_WhenACallWasMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceived(1).Calls() @@ -76,7 +77,7 @@ public async Task HaveReceived1Calls_AtAbsoluteUrl2_WhenACallWasMadeToAbsoluteUr [Fact] public async Task HaveReceived1Calls_AtAbsoluteUrlUsingPost_WhenAPostCallWasMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.PostAsync("anyurl", new StringContent("")).ConfigureAwait(false); + await _httpClient.PostAsync("anyurl", new StringContent("")); _server.Should() .HaveReceived(1).Calls() @@ -88,9 +89,9 @@ public async Task HaveReceived1Calls_AtAbsoluteUrlUsingPost_WhenAPostCallWasMade [Fact] public async Task HaveReceived2Calls_AtAbsoluteUrl_WhenACallWasMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceived(2).Calls() @@ -100,7 +101,7 @@ public async Task HaveReceived2Calls_AtAbsoluteUrl_WhenACallWasMadeToAbsoluteUrl [Fact] public async Task HaveReceivedACall_AtAbsoluteUrl_WhenACallWasMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceivedACall() @@ -110,7 +111,7 @@ public async Task HaveReceivedACall_AtAbsoluteUrl_WhenACallWasMadeToAbsoluteUrl_ [Fact] public async Task HaveReceivedACall_AtAbsoluteUrlWildcardMatcher_WhenACallWasMadeToAbsoluteUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceivedACall() @@ -132,7 +133,7 @@ public void HaveReceivedACall_AtAbsoluteUrl_Should_ThrowWhenNoCallsWereMade() [Fact] public async Task HaveReceivedACall_AtAbsoluteUrl_Should_ThrowWhenNoCallsMatchingTheAbsoluteUrlWereMade() { - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -146,7 +147,7 @@ public async Task HaveReceivedACall_AtAbsoluteUrl_Should_ThrowWhenNoCallsMatchin [Fact] public async Task HaveReceivedNoCalls_AtAbsolutePath_WhenACallWasNotMadeToAbsolutePath_Should_BeOK() { - await _httpClient.GetAsync("xxx").ConfigureAwait(false); + await _httpClient.GetAsync("xxx"); _server.Should() .HaveReceivedNoCalls() @@ -156,7 +157,7 @@ public async Task HaveReceivedNoCalls_AtAbsolutePath_WhenACallWasNotMadeToAbsolu [Fact] public async Task HaveReceived0Calls_AtAbsolutePath_WhenACallWasNotMadeToAbsolutePath_Should_BeOK() { - await _httpClient.GetAsync("xxx").ConfigureAwait(false); + await _httpClient.GetAsync("xxx"); _server.Should() .HaveReceived(0).Calls() @@ -166,7 +167,7 @@ public async Task HaveReceived0Calls_AtAbsolutePath_WhenACallWasNotMadeToAbsolut [Fact] public async Task HaveReceived1Calls_AtAbsolutePath_WhenACallWasMadeToAbsolutePath_Should_BeOK() { - await _httpClient.GetAsync("anypath").ConfigureAwait(false); + await _httpClient.GetAsync("anypath"); _server.Should() .HaveReceived(1).Calls() @@ -176,7 +177,7 @@ public async Task HaveReceived1Calls_AtAbsolutePath_WhenACallWasMadeToAbsolutePa [Fact] public async Task HaveReceived1Calls_AtAbsolutePathUsingPost_WhenAPostCallWasMadeToAbsolutePath_Should_BeOK() { - await _httpClient.PostAsync("anypath", new StringContent("")).ConfigureAwait(false); + await _httpClient.PostAsync("anypath", new StringContent("")); _server.Should() .HaveReceived(1).Calls() @@ -188,9 +189,9 @@ public async Task HaveReceived1Calls_AtAbsolutePathUsingPost_WhenAPostCallWasMad [Fact] public async Task HaveReceived2Calls_AtAbsolutePath_WhenACallWasMadeToAbsolutePath_Should_BeOK() { - await _httpClient.GetAsync("anypath").ConfigureAwait(false); + await _httpClient.GetAsync("anypath"); - await _httpClient.GetAsync("anypath").ConfigureAwait(false); + await _httpClient.GetAsync("anypath"); _server.Should() .HaveReceived(2).Calls() @@ -200,7 +201,7 @@ public async Task HaveReceived2Calls_AtAbsolutePath_WhenACallWasMadeToAbsolutePa [Fact] public async Task HaveReceivedACall_AtAbsolutePath_WhenACallWasMadeToAbsolutePath_Should_BeOK() { - await _httpClient.GetAsync("anypath").ConfigureAwait(false); + await _httpClient.GetAsync("anypath"); _server.Should() .HaveReceivedACall() @@ -210,7 +211,7 @@ public async Task HaveReceivedACall_AtAbsolutePath_WhenACallWasMadeToAbsolutePat [Fact] public async Task HaveReceivedACall_AtAbsolutePathWildcardMatcher_WhenACallWasMadeToAbsolutePath_Should_BeOK() { - await _httpClient.GetAsync("anypath").ConfigureAwait(false); + await _httpClient.GetAsync("anypath"); _server.Should() .HaveReceivedACall() @@ -232,7 +233,7 @@ public void HaveReceivedACall_AtAbsolutePath_Should_ThrowWhenNoCallsWereMade() [Fact] public async Task HaveReceivedACall_AtAbsolutePath_Should_ThrowWhenNoCallsMatchingTheAbsolutePathWereMade() { - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -247,7 +248,7 @@ public async Task HaveReceivedACall_AtAbsolutePath_Should_ThrowWhenNoCallsMatchi public async Task HaveReceivedACall_WithHeader_WhenACallWasMadeWithExpectedHeader_Should_BeOK() { _httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer a"); - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); _server.Should() .HaveReceivedACall() @@ -258,7 +259,7 @@ public async Task HaveReceivedACall_WithHeader_WhenACallWasMadeWithExpectedHeade public async Task HaveReceivedACall_WithHeader_WhenACallWasMadeWithExpectedHeaderWithValue_Should_BeOK() { _httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer a"); - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); _server.Should() .HaveReceivedACall() @@ -270,10 +271,10 @@ public async Task HaveReceivedACall_WithHeader_WhenMultipleCallsWereMadeWithExpe { _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - await _httpClient.GetAsync("1").ConfigureAwait(false); + await _httpClient.GetAsync("1"); _httpClient.DefaultRequestHeaders.AcceptLanguage.Add(new StringWithQualityHeaderValue("EN")); - await _httpClient.GetAsync("2").ConfigureAwait(false); + await _httpClient.GetAsync("2"); _server.Should() .HaveReceivedACall() @@ -285,7 +286,7 @@ public async Task HaveReceivedACall_WithHeader_WhenMultipleCallsWereMadeWithExpe [Fact] public async Task HaveReceivedACall_WithHeader_Should_ThrowWhenNoCallsMatchingTheHeaderNameWereMade() { - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -301,7 +302,7 @@ public async Task HaveReceivedACall_WithHeader_Should_ThrowWhenNoCallsMatchingTh { _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -319,7 +320,7 @@ public async Task HaveReceivedACall_WithHeader_Should_ThrowWhenNoCallsMatchingTh httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - await httpClient.GetAsync("").ConfigureAwait(false); + await httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -373,7 +374,7 @@ public async Task HaveReceivedACall_WithHeader_ShouldCheckAllRequests() [Fact] public async Task HaveReceivedACall_AtUrl_WhenACallWasMadeToUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceivedACall() @@ -383,7 +384,7 @@ public async Task HaveReceivedACall_AtUrl_WhenACallWasMadeToUrl_Should_BeOK() [Fact] public async Task HaveReceivedACall_AtUrlWildcardMatcher_WhenACallWasMadeToUrl_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceivedACall() @@ -405,7 +406,7 @@ public void HaveReceivedACall_AtUrl_Should_ThrowWhenNoCallsWereMade() [Fact] public async Task HaveReceivedACall_AtUrl_Should_ThrowWhenNoCallsMatchingTheUrlWereMade() { - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -423,7 +424,7 @@ public async Task HaveReceivedACall_WithProxyUrl_WhenACallWasMadeWithProxyUrl_Sh _server.Given(Request.Create().UsingAnyMethod()) .RespondWith(Response.Create().WithProxy(new ProxyAndRecordSettings { Url = "http://localhost:9999" })); - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); _server.Should() .HaveReceivedACall() @@ -453,7 +454,7 @@ public async Task HaveReceivedACall_WithProxyUrl_Should_ThrowWhenNoCallsWithTheP _server.Given(Request.Create().UsingAnyMethod()) .RespondWith(Response.Create().WithProxy(new ProxyAndRecordSettings { Url = "http://localhost:9999" })); - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); Action act = () => _server.Should() .HaveReceivedACall() @@ -467,7 +468,7 @@ public async Task HaveReceivedACall_WithProxyUrl_Should_ThrowWhenNoCallsWithTheP [Fact] public async Task HaveReceivedACall_FromClientIP_whenACallWasMadeFromClientIP_Should_BeOK() { - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); var clientIP = _server.LogEntries.Last().RequestMessage.ClientIP; _server.Should() @@ -490,7 +491,7 @@ public void HaveReceivedACall_FromClientIP_Should_ThrowWhenNoCallsWereMade() [Fact] public async Task HaveReceivedACall_FromClientIP_Should_ThrowWhenNoCallsFromClientIPWereMade() { - await _httpClient.GetAsync("").ConfigureAwait(false); + await _httpClient.GetAsync(""); var clientIP = _server.LogEntries.Last().RequestMessage.ClientIP; Action act = () => _server.Should() @@ -505,7 +506,7 @@ public async Task HaveReceivedACall_FromClientIP_Should_ThrowWhenNoCallsFromClie [Fact] public async Task HaveReceivedNoCalls_UsingPost_WhenACallWasNotMadeUsingPost_Should_BeOK() { - await _httpClient.GetAsync("anyurl").ConfigureAwait(false); + await _httpClient.GetAsync("anyurl"); _server.Should() .HaveReceivedNoCalls() @@ -544,7 +545,7 @@ public void HaveReceivedACall_UsingPatch_Should_ThrowWhenNoCallsWereMade() [Fact] public async Task HaveReceivedACall_UsingOptions_Should_ThrowWhenCallsWereNotMadeUsingOptions() { - await _httpClient.PostAsync("anyurl", new StringContent("anycontent")).ConfigureAwait(false); + await _httpClient.PostAsync("anyurl", new StringContent("anycontent")); Action act = () => _server.Should() .HaveReceivedACall() @@ -565,7 +566,7 @@ public async Task HaveReceivedACall_UsingConnect_WhenACallWasMadeUsingConnect_Sh _httpClient.DefaultRequestHeaders.Add("Host", new Uri(_server.Urls[0]).Authority); - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("CONNECT"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("CONNECT"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -576,7 +577,7 @@ public async Task HaveReceivedACall_UsingConnect_WhenACallWasMadeUsingConnect_Sh [Fact] public async Task HaveReceivedACall_UsingDelete_WhenACallWasMadeUsingDelete_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("DELETE"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("DELETE"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -586,7 +587,7 @@ public async Task HaveReceivedACall_UsingDelete_WhenACallWasMadeUsingDelete_Shou [Fact] public async Task HaveReceivedACall_UsingGet_WhenACallWasMadeUsingGet_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("GET"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("GET"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -596,7 +597,7 @@ public async Task HaveReceivedACall_UsingGet_WhenACallWasMadeUsingGet_Should_BeO [Fact] public async Task HaveReceivedACall_UsingHead_WhenACallWasMadeUsingHead_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("HEAD"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("HEAD"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -606,7 +607,7 @@ public async Task HaveReceivedACall_UsingHead_WhenACallWasMadeUsingHead_Should_B [Fact] public async Task HaveReceivedACall_UsingOptions_WhenACallWasMadeUsingOptions_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("OPTIONS"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("OPTIONS"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -618,7 +619,7 @@ public async Task HaveReceivedACall_UsingOptions_WhenACallWasMadeUsingOptions_Sh [InlineData("Post")] public async Task HaveReceivedACall_UsingPost_WhenACallWasMadeUsingPost_Should_BeOK(string method) { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod(method), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod(method), "anyurl")); _server.Should() .HaveReceivedACall() @@ -703,7 +704,7 @@ public async Task HaveReceived1Calls_AtAbsoluteUrlUsingPost_ShouldChain() [Fact] public async Task HaveReceivedACall_UsingPatch_WhenACallWasMadeUsingPatch_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("PATCH"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("PATCH"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -713,7 +714,7 @@ public async Task HaveReceivedACall_UsingPatch_WhenACallWasMadeUsingPatch_Should [Fact] public async Task HaveReceivedACall_UsingPut_WhenACallWasMadeUsingPut_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("PUT"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("PUT"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -723,7 +724,7 @@ public async Task HaveReceivedACall_UsingPut_WhenACallWasMadeUsingPut_Should_BeO [Fact] public async Task HaveReceivedACall_UsingTrace_WhenACallWasMadeUsingTrace_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("TRACE"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("TRACE"), "anyurl")); _server.Should() .HaveReceivedACall() @@ -733,7 +734,7 @@ public async Task HaveReceivedACall_UsingTrace_WhenACallWasMadeUsingTrace_Should [Fact] public async Task HaveReceivedACall_UsingAnyMethod_WhenACallWasMadeUsingGet_Should_BeOK() { - await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("GET"), "anyurl")).ConfigureAwait(false); + await _httpClient.SendAsync(new HttpRequestMessage(new HttpMethod("GET"), "anyurl")); _server.Should() .HaveReceivedACall() diff --git a/test/WireMock.Net.Tests/Grpc/ProtoBufUtilsTests.cs b/test/WireMock.Net.Tests/Grpc/ProtoBufUtilsTests.cs index aa1df07d2..06c4d2eac 100644 --- a/test/WireMock.Net.Tests/Grpc/ProtoBufUtilsTests.cs +++ b/test/WireMock.Net.Tests/Grpc/ProtoBufUtilsTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if PROTOBUF +//#if PROTOBUF using System; using System.IO; using System.Threading.Tasks; @@ -18,8 +18,8 @@ public class ProtoBufUtilsTests public async Task GetProtoBufMessageWithHeader_MultipleProtoFiles() { // Arrange - var greet = await ReadProtoFileAsync("greet1.proto"); - var request = await ReadProtoFileAsync("request.proto"); + var greet = ReadProtoFile("greet1.proto"); + var request = ReadProtoFile("request.proto"); // Act var responseBytes = await ProtoBufUtils.GetProtoBufMessageWithHeaderAsync( @@ -35,9 +35,9 @@ public async Task GetProtoBufMessageWithHeader_MultipleProtoFiles() Convert.ToBase64String(responseBytes).Should().Be("AAAAAAcKBWhlbGxv"); } - private static Task ReadProtoFileAsync(string filename) + private string ReadProtoFile(string filename) { - return File.ReadAllTextAsync(Path.Combine(Directory.GetCurrentDirectory(), "Grpc", filename)); + return File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "Grpc", filename)); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Grpc/ProtoDefinitionHelperTests.cs b/test/WireMock.Net.Tests/Grpc/ProtoDefinitionHelperTests.cs index c9c4c29d5..ea3d1d4ff 100644 --- a/test/WireMock.Net.Tests/Grpc/ProtoDefinitionHelperTests.cs +++ b/test/WireMock.Net.Tests/Grpc/ProtoDefinitionHelperTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if PROTOBUF +//#if PROTOBUF using System; using System.IO; using System.Threading.Tasks; @@ -72,4 +72,4 @@ public async Task FromDirectory_OpenTelemetry_ShouldReturnModifiedProtoFiles() Convert.ToBase64String(responseBytes).Should().Be("AAAAAAcIARIDYWJj"); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Grpc/WireMockServerTests.Grpc.cs b/test/WireMock.Net.Tests/Grpc/WireMockServerTests.Grpc.cs index 807acd850..c876df0df 100644 --- a/test/WireMock.Net.Tests/Grpc/WireMockServerTests.Grpc.cs +++ b/test/WireMock.Net.Tests/Grpc/WireMockServerTests.Grpc.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if PROTOBUF +//#if PROTOBUF using System; using System.IO; using System.Net; @@ -501,7 +501,7 @@ public async Task WireMockServer_WithBodyAsProtoBuf_ServerProtoDefinition_UsingG public async Task WireMockServer_WithBodyAsProtoBuf_WithWellKnownTypes_Empty_UsingGrpcGeneratedClient() { // Arrange - var definition = await File.ReadAllTextAsync("./Grpc/greet.proto"); + var definition = File.ReadAllText("./Grpc/greet.proto"); using var server = WireMockServer.Start(useHttp2: true); @@ -534,7 +534,7 @@ public async Task WireMockServer_WithBodyAsProtoBuf_WithWellKnownTypes_Timestamp // Arrange const int seconds = 1722301323; const int nanos = 12300; - var definition = await File.ReadAllTextAsync("./Grpc/greet.proto"); + var definition = File.ReadAllText("./Grpc/greet.proto"); using var server = WireMockServer.Start(useHttp2: true); @@ -575,7 +575,7 @@ public async Task WireMockServer_WithBodyAsProtoBuf_WithWellKnownTypes_Duration_ // Arrange const int seconds = 1722301323; const int nanos = 12300; - var definition = await File.ReadAllTextAsync("./Grpc/greet.proto"); + var definition = File.ReadAllText("./Grpc/greet.proto"); using var server = WireMockServer.Start(useHttp2: true); @@ -614,7 +614,7 @@ public async Task WireMockServer_WithBodyAsProtoBuf_WithWellKnownTypes_Duration_ public async Task WireMockServer_WithBodyAsProtoBuf_Enum_UsingGrpcGeneratedClient() { // Arrange - var definition = await File.ReadAllTextAsync("./Grpc/greet.proto"); + var definition = File.ReadAllText("./Grpc/greet.proto"); using var server = WireMockServer.Start(useHttp2: true); @@ -655,7 +655,7 @@ public async Task WireMockServer_WithBodyAsProtoBuf_Enum_UsingPolicyGrpcGenerate const int nanos = 12300; const string version = "test"; const string correlationId = "correlation"; - var definition = await File.ReadAllTextAsync("./Grpc/policy.proto"); + var definition = File.ReadAllText("./Grpc/policy.proto"); using var server = WireMockServer.Start(useHttp2: true); @@ -773,4 +773,4 @@ private static string ReadProtoFile(string filename) return File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "Grpc", filename)); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Http/ByteArrayContentHelperTests.cs b/test/WireMock.Net.Tests/Http/ByteArrayContentHelperTests.cs index 307f04815..6af562c2e 100644 --- a/test/WireMock.Net.Tests/Http/ByteArrayContentHelperTests.cs +++ b/test/WireMock.Net.Tests/Http/ByteArrayContentHelperTests.cs @@ -22,7 +22,7 @@ public async Task ByteArrayContentHelperTests_Create_WithNullContentType() // Assert result.Headers.ContentType.Should().BeNull(); - (await result.ReadAsByteArrayAsync().ConfigureAwait(false)).Should().BeEquivalentTo(content); + (await result.ReadAsByteArrayAsync()).Should().BeEquivalentTo(content); } [Theory] @@ -40,6 +40,6 @@ public async Task ByteArrayContentHelperTests_Create(string test, string expecte // Assert result.Headers.ContentType.ToString().Should().Be(expected); - (await result.ReadAsByteArrayAsync().ConfigureAwait(false)).Should().BeEquivalentTo(content); + (await result.ReadAsByteArrayAsync()).Should().BeEquivalentTo(content); } } \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Http/HttpRequestMessageHelperTests.cs b/test/WireMock.Net.Tests/Http/HttpRequestMessageHelperTests.cs index 25470cb42..12f120fdb 100644 --- a/test/WireMock.Net.Tests/Http/HttpRequestMessageHelperTests.cs +++ b/test/WireMock.Net.Tests/Http/HttpRequestMessageHelperTests.cs @@ -46,7 +46,7 @@ public async Task HttpRequestMessageHelper_Create_Bytes_Without_ContentTypeHeade var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsByteArrayAsync().ConfigureAwait(false)).ContainsExactly(Encoding.UTF8.GetBytes("hi")); + Check.That(await message.Content!.ReadAsByteArrayAsync()).ContainsExactly(Encoding.UTF8.GetBytes("hi")); } [Fact] @@ -64,7 +64,7 @@ public async Task HttpRequestMessageHelper_Create_TextPlain_Without_ContentTypeH var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsStringAsync().ConfigureAwait(false)).Equals("0123"); + Check.That(await message.Content!.ReadAsStringAsync()).Equals("0123"); } [Fact] @@ -82,7 +82,7 @@ public async Task HttpRequestMessageHelper_Create_Json() var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsStringAsync().ConfigureAwait(false)).Equals("{\"x\":42}"); + Check.That(await message.Content!.ReadAsStringAsync()).Equals("{\"x\":42}"); } [Fact] @@ -101,7 +101,7 @@ public async Task HttpRequestMessageHelper_Create_Json_With_ContentType_Applicat var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsStringAsync().ConfigureAwait(false)).Equals("{\"x\":42}"); + Check.That(await message.Content!.ReadAsStringAsync()).Equals("{\"x\":42}"); Check.That(message.Content.Headers.GetValues("Content-Type")).ContainsExactly("application/json"); } @@ -121,7 +121,7 @@ public async Task HttpRequestMessageHelper_Create_Json_With_ContentType_Applicat var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsStringAsync().ConfigureAwait(false)).Equals("{\"x\":42}"); + Check.That(await message.Content!.ReadAsStringAsync()).Equals("{\"x\":42}"); Check.That(message.Content.Headers.GetValues("Content-Type")).ContainsExactly("application/json; charset=utf-8"); } @@ -142,7 +142,7 @@ public async Task HttpRequestMessageHelper_Create_Json_With_ContentType_MultiPar var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsStringAsync().ConfigureAwait(false)).Equals("{\"x\":42}"); + Check.That(await message.Content!.ReadAsStringAsync()).Equals("{\"x\":42}"); Check.That(message.Content.Headers.GetValues("Content-Type")).ContainsExactly("multipart/form-data"); } @@ -242,7 +242,7 @@ Content of a txt var message = HttpRequestMessageHelper.Create(request, "http://url"); // Assert - Check.That(await message.Content!.ReadAsStringAsync().ConfigureAwait(false)).Equals(body); + Check.That(await message.Content!.ReadAsStringAsync()).Equals(body); Check.That(message.Content.Headers.GetValues("Content-Type")).ContainsExactly("multipart/form-data"); } diff --git a/test/WireMock.Net.Tests/Matchers/GraphQLMatcherTests.cs b/test/WireMock.Net.Tests/Matchers/GraphQLMatcherTests.cs index 1091c957e..940dcdc20 100644 --- a/test/WireMock.Net.Tests/Matchers/GraphQLMatcherTests.cs +++ b/test/WireMock.Net.Tests/Matchers/GraphQLMatcherTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if GRAPHQL +//#if GRAPHQL using System; using System.Collections.Generic; using FluentAssertions; @@ -233,4 +233,4 @@ public void GraphQLMatcher_For_InvalidSchema_ThrowsGraphQLSyntaxErrorException() action.Should().Throw(); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Matchers/JsonPartialWildcardMatcherTests.cs b/test/WireMock.Net.Tests/Matchers/JsonPartialWildcardMatcherTests.cs index 57a38710b..e215d4adc 100644 --- a/test/WireMock.Net.Tests/Matchers/JsonPartialWildcardMatcherTests.cs +++ b/test/WireMock.Net.Tests/Matchers/JsonPartialWildcardMatcherTests.cs @@ -338,7 +338,7 @@ public void JsonPartialWildcardMatcher_IsMatch_StringInputWithWildcard_IsValidMa [InlineData("{ \"test.nested\":\"value\" }", "{\"test\":{\"nested\":\"value1\"}}")] [InlineData("{\"test\":{\"test1\":\"value\"}}", "{\"test\":{\"test1\":\"value1\"}}")] [InlineData("[{ \"test.nested\":\"value\" }]", "[{\"test\":{\"nested\":\"value1\"}}]")] - public void JsonPartialWildcardMatcher_IsMatch_StringInputWithInvalidMatch(string value, string input) + public void JsonPartialWildcardMatcher_IsMatch_StringInputWithInvalidMatch(string value, string? input) { // Assign var matcher = new JsonPartialWildcardMatcher(value); diff --git a/test/WireMock.Net.Tests/Matchers/MimePartMatcherTests.cs b/test/WireMock.Net.Tests/Matchers/MimePartMatcherTests.cs index c6b6596b8..493861d89 100644 --- a/test/WireMock.Net.Tests/Matchers/MimePartMatcherTests.cs +++ b/test/WireMock.Net.Tests/Matchers/MimePartMatcherTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if MIMEKIT +//#if MIMEKIT using System; using FluentAssertions; using WireMock.Matchers; @@ -100,4 +100,4 @@ public void MimePartMatcher_IsMatch_Part_ImagePng() result.Score.Should().Be(MatchScores.Perfect); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Matchers/Models/WireMockCustomScalarGraphTypeTests.cs b/test/WireMock.Net.Tests/Matchers/Models/WireMockCustomScalarGraphTypeTests.cs index b557cd84c..439bdc2d4 100644 --- a/test/WireMock.Net.Tests/Matchers/Models/WireMockCustomScalarGraphTypeTests.cs +++ b/test/WireMock.Net.Tests/Matchers/Models/WireMockCustomScalarGraphTypeTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if GRAPHQL +//#if GRAPHQL using System; using FluentAssertions; using WireMock.GraphQL.Models; @@ -95,4 +95,4 @@ public void ParseValue_ShouldReturnStringValue_When_TypeIsString() result.Should().Be("someString"); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Matchers/NotNullOrEmptyMatcherTests.cs b/test/WireMock.Net.Tests/Matchers/NotNullOrEmptyMatcherTests.cs index 9e8a89a65..8371e1c19 100644 --- a/test/WireMock.Net.Tests/Matchers/NotNullOrEmptyMatcherTests.cs +++ b/test/WireMock.Net.Tests/Matchers/NotNullOrEmptyMatcherTests.cs @@ -24,7 +24,7 @@ public void NotNullOrEmptyMatcher_GetName() [InlineData(null, 0.0)] [InlineData(new byte[0], 0.0)] [InlineData(new byte[] { 48 }, 1.0)] - public void NotNullOrEmptyMatcher_IsMatch_ByteArray(byte[] data, double expected) + public void NotNullOrEmptyMatcher_IsMatch_ByteArray(byte[]? data, double expected) { // Act var matcher = new NotNullOrEmptyMatcher(); @@ -38,7 +38,7 @@ public void NotNullOrEmptyMatcher_IsMatch_ByteArray(byte[] data, double expected [InlineData(null, 0.0)] [InlineData("", 0.0)] [InlineData("x", 1.0)] - public void NotNullOrEmptyMatcher_IsMatch_String(string @string, double expected) + public void NotNullOrEmptyMatcher_IsMatch_String(string? @string, double expected) { // Act var matcher = new NotNullOrEmptyMatcher(); @@ -52,11 +52,11 @@ public void NotNullOrEmptyMatcher_IsMatch_String(string @string, double expected [InlineData(null, 0.0)] [InlineData("", 0.0)] [InlineData("x", 1.0)] - public void NotNullOrEmptyMatcher_IsMatch_StringAsObject(string @string, double expected) + public void NotNullOrEmptyMatcher_IsMatch_StringAsObject(string? @string, double expected) { // Act var matcher = new NotNullOrEmptyMatcher(); - var result = matcher.IsMatch((object)@string).Score; + var result = matcher.IsMatch((object?)@string).Score; // Assert result.Should().Be(expected); diff --git a/test/WireMock.Net.Tests/Matchers/ProtoBufMatcherTests.cs b/test/WireMock.Net.Tests/Matchers/ProtoBufMatcherTests.cs index 7a8930fbf..2d3f588ed 100644 --- a/test/WireMock.Net.Tests/Matchers/ProtoBufMatcherTests.cs +++ b/test/WireMock.Net.Tests/Matchers/ProtoBufMatcherTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if PROTOBUF +//#if PROTOBUF using System; using System.Threading.Tasks; using FluentAssertions; @@ -41,7 +41,7 @@ public async Task ProtoBufMatcher_For_ValidProtoBuf_And_ValidMethod_DecodeAsync( // Act var matcher = new ProtoBufMatcher(() => ProtoDefinition, MessageType); - var result = await matcher.DecodeAsync(bytes).ConfigureAwait(false); + var result = await matcher.DecodeAsync(bytes); // Assert result.Should().BeEquivalentTo(new { name = "stef" }); @@ -55,7 +55,7 @@ public async Task ProtoBufMatcher_For_ValidProtoBuf_And_ValidMethod_NoJsonMatche // Act var matcher = new ProtoBufMatcher(() => ProtoDefinition, MessageType); - var result = await matcher.IsMatchAsync(bytes).ConfigureAwait(false); + var result = await matcher.IsMatchAsync(bytes); // Assert result.Score.Should().Be(MatchScores.Perfect); @@ -108,4 +108,4 @@ public async Task ProtoBufMatcher_For_InvalidMethod_IsNoMatchAsync() result.Exception.Should().BeOfType(); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/ObservableLogEntriesTest.cs b/test/WireMock.Net.Tests/ObservableLogEntriesTest.cs index c5db4dfb1..66b4ed52c 100644 --- a/test/WireMock.Net.Tests/ObservableLogEntriesTest.cs +++ b/test/WireMock.Net.Tests/ObservableLogEntriesTest.cs @@ -45,7 +45,7 @@ public async Task WireMockServer_LogEntriesChanged_WithException_Should_LogError server.LogEntriesChanged += (sender, args) => throw new Exception(); // Act - await new HttpClient().GetAsync($"http://localhost:{server.Ports[0]}{path}").ConfigureAwait(false); + await new HttpClient().GetAsync($"http://localhost:{server.Ports[0]}{path}"); // Assert loggerMock.Verify(l => l.Error(It.IsAny(), It.IsAny()), Times.Once); @@ -69,10 +69,10 @@ public async Task WireMockServer_LogEntriesChanged() server.LogEntriesChanged += (sender, args) => count++; // Act 1a - await server.CreateClient().GetAsync(path).ConfigureAwait(false); + await server.CreateClient().GetAsync(path); // Act 1b - await server.CreateClient().GetAsync(path).ConfigureAwait(false); + await server.CreateClient().GetAsync(path); // Assert count.Should().Be(2); @@ -102,7 +102,7 @@ public async Task WireMockServer_LogEntriesChanged_Add_And_Remove_EventHandler() server.LogEntriesChanged += OnServerOnLogEntriesChanged; // Act 1 - await server.CreateClient().GetAsync(path).ConfigureAwait(false); + await server.CreateClient().GetAsync(path); // Assert 1 count.Should().Be(1); @@ -111,7 +111,7 @@ public async Task WireMockServer_LogEntriesChanged_Add_And_Remove_EventHandler() server.LogEntriesChanged -= OnServerOnLogEntriesChanged; // Act 2 - await server.CreateClient().GetAsync(path).ConfigureAwait(false); + await server.CreateClient().GetAsync(path); // Assert 2 count.Should().Be(1); @@ -147,7 +147,7 @@ public async Task WireMockServer_LogEntriesChanged_Parallel() Thread.Sleep(50); listOfTasks.Add(http.GetAsync($"{server.Urls[0]}{path}")); } - var responses = await Task.WhenAll(listOfTasks).ConfigureAwait(false); + var responses = await Task.WhenAll(listOfTasks); var countResponsesWithStatusNotOk = responses.Count(r => r.StatusCode != HttpStatusCode.OK); // Assert diff --git a/test/WireMock.Net.Tests/OpenApiParser/WireMockOpenApiParserTests.cs b/test/WireMock.Net.Tests/OpenApiParser/WireMockOpenApiParserTests.cs index 8a2918971..497d79a83 100644 --- a/test/WireMock.Net.Tests/OpenApiParser/WireMockOpenApiParserTests.cs +++ b/test/WireMock.Net.Tests/OpenApiParser/WireMockOpenApiParserTests.cs @@ -1,4 +1,4 @@ -#if !(NET452 || NET461 || NETCOREAPP3_1) +//#if !(NET452 || NET461 || NETCOREAPP3_1) using System; using System.IO; using System.Threading.Tasks; @@ -40,7 +40,7 @@ public async Task FromText_UsingYaml_ShouldReturnMappings() ExampleValues = _exampleValuesMock.Object }; - var openApiDocument = await File.ReadAllTextAsync(Path.Combine("OpenApiParser", "payroc-openapi-spec.yaml")); + var openApiDocument = File.ReadAllText(Path.Combine("OpenApiParser", "payroc-openapi-spec.yaml")); // Act var mappings = _sut.FromText(openApiDocument, settings, out _); @@ -58,7 +58,7 @@ public async Task FromText_UsingJson_WithPlainTextExample_ShouldReturnMappings() ExampleValues = _exampleValuesMock.Object }; - var openApiDocument = await File.ReadAllTextAsync(Path.Combine("OpenApiParser", "oas-content-example.json")); + var openApiDocument = File.ReadAllText(Path.Combine("OpenApiParser", "oas-content-example.json")); // Act var mappings = _sut.FromText(openApiDocument, settings, out _); @@ -67,4 +67,4 @@ public async Task FromText_UsingJson_WithPlainTextExample_ShouldReturnMappings() await Verifier.Verify(mappings); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Owin/GlobalExceptionMiddlewareTests.cs b/test/WireMock.Net.Tests/Owin/GlobalExceptionMiddlewareTests.cs index b22e74f7b..e9d28d376 100644 --- a/test/WireMock.Net.Tests/Owin/GlobalExceptionMiddlewareTests.cs +++ b/test/WireMock.Net.Tests/Owin/GlobalExceptionMiddlewareTests.cs @@ -39,7 +39,7 @@ public GlobalExceptionMiddlewareTests() public void GlobalExceptionMiddleware_Invoke_NullAsNext_DoesNotInvokeNextAndDoesNotThrow() { // Act - Check.ThatAsyncCode(() => _sut.Invoke(null)).DoesNotThrow(); + Check.ThatCode(() => _sut.Invoke(null)).DoesNotThrow(); } } } \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Owin/Mappers/OwinResponseMapperTests.cs b/test/WireMock.Net.Tests/Owin/Mappers/OwinResponseMapperTests.cs index 4060938a1..931c903bc 100644 --- a/test/WireMock.Net.Tests/Owin/Mappers/OwinResponseMapperTests.cs +++ b/test/WireMock.Net.Tests/Owin/Mappers/OwinResponseMapperTests.cs @@ -70,7 +70,7 @@ public OwinResponseMapperTests() public async Task OwinResponseMapper_MapAsync_Null() { // Act - await _sut.MapAsync(null, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(null, _responseMock.Object); } [Theory] @@ -85,7 +85,7 @@ public async Task OwinResponseMapper_MapAsync_Valid_StatusCode(object code, int }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _responseMock.VerifySet(r => r.StatusCode = expected, Times.Once); @@ -106,7 +106,7 @@ public async Task OwinResponseMapper_MapAsync_Invalid_StatusCode_When_AllowOnlyD }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _responseMock.VerifySet(r => r.StatusCode = expected, Times.Once); @@ -122,7 +122,7 @@ public async Task OwinResponseMapper_MapAsync_StatusCode_Is_Null() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _responseMock.VerifySet(r => r.StatusCode = It.IsAny(), Times.Never); @@ -142,7 +142,7 @@ public async Task OwinResponseMapper_MapAsync_StatusCode_Is_NotInEnumRange(objec }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _responseMock.VerifySet(r => r.StatusCode = expected, Times.Once); @@ -158,7 +158,7 @@ public async Task OwinResponseMapper_MapAsync_NoBody() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _stream.Verify(s => s.WriteAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()), Times.Never); @@ -176,7 +176,7 @@ public async Task OwinResponseMapper_MapAsync_Body() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _stream.Verify(s => s.WriteAsync(new byte[] { 97, 98, 99, 100 }, 0, 4, It.IsAny()), Times.Once); @@ -194,7 +194,7 @@ public async Task OwinResponseMapper_MapAsync_BodyAsBytes() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _stream.Verify(s => s.WriteAsync(bytes, 0, bytes.Length, It.IsAny()), Times.Once); @@ -212,7 +212,7 @@ public async Task OwinResponseMapper_MapAsync_BodyAsJson() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _stream.Verify(s => s.WriteAsync(new byte[] { 123, 34, 116, 34, 58, 34, 120, 34, 125 }, 0, 9, It.IsAny()), Times.Once); @@ -228,7 +228,7 @@ public async Task OwinResponseMapper_MapAsync_SetResponseHeaders() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert #if NET452 @@ -270,7 +270,7 @@ public async Task OwinResponseMapper_MapAsync_WithFault_EMPTY_RESPONSE() }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _stream.Verify(s => s.WriteAsync(new byte[0], 0, 0, It.IsAny()), Times.Once); @@ -292,7 +292,7 @@ public async Task OwinResponseMapper_MapAsync_WithFault_MALFORMED_RESPONSE_CHUNK }; // Act - await _sut.MapAsync(responseMessage, _responseMock.Object).ConfigureAwait(false); + await _sut.MapAsync(responseMessage, _responseMock.Object); // Assert _responseMock.VerifySet(r => r.StatusCode = 100, Times.Once); diff --git a/test/WireMock.Net.Tests/Owin/WireMockMiddlewareTests.cs b/test/WireMock.Net.Tests/Owin/WireMockMiddlewareTests.cs index cb8954de8..b9f1cba0e 100644 --- a/test/WireMock.Net.Tests/Owin/WireMockMiddlewareTests.cs +++ b/test/WireMock.Net.Tests/Owin/WireMockMiddlewareTests.cs @@ -100,7 +100,7 @@ public WireMockMiddlewareTests() public async Task WireMockMiddleware_Invoke_NoMatch() { // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); // Assert and Verify _optionsMock.Verify(o => o.Logger.Warn(It.IsAny(), It.IsAny()), Times.Once); @@ -118,7 +118,7 @@ public async Task WireMockMiddleware_Invoke_NoMatch_When_SaveUnmatchedRequestsIs _optionsMock.Setup(o => o.SaveUnmatchedRequests).Returns(true); // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); // Assert _optionsMock.Verify(o => o.Logger.Warn(It.IsAny(), It.IsAny()), Times.Once); @@ -145,7 +145,7 @@ public async Task WireMockMiddleware_Invoke_IsAdminInterface_EmptyHeaders_401() _matcherMock.Setup(m => m.FindBestMatch(It.IsAny())).Returns((result, result)); // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); // Assert and Verify _optionsMock.Verify(o => o.Logger.Error(It.IsAny(), It.IsAny()), Times.Once); @@ -168,7 +168,7 @@ public async Task WireMockMiddleware_Invoke_IsAdminInterface_MissingHeader_401() _matcherMock.Setup(m => m.FindBestMatch(It.IsAny())).Returns((result, result)); // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); // Assert and Verify _optionsMock.Verify(o => o.Logger.Error(It.IsAny(), It.IsAny()), Times.Once); @@ -184,7 +184,7 @@ public async Task WireMockMiddleware_Invoke_RequestLogExpirationDurationIsDefine _optionsMock.SetupGet(o => o.RequestLogExpirationDuration).Returns(1); // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); } [Fact] @@ -228,7 +228,7 @@ public async Task WireMockMiddleware_Invoke_Mapping_Has_ProxyAndRecordSettings_A _matcherMock.Setup(m => m.FindBestMatch(It.IsAny())).Returns((result, result)); // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); // Assert and Verify fileSystemHandlerMock.Verify(f => f.WriteMappingFile(It.IsAny(), It.IsAny()), Times.Once); @@ -282,7 +282,7 @@ public async Task WireMockMiddleware_Invoke_Mapping_Has_ProxyAndRecordSettings_A _matcherMock.Setup(m => m.FindBestMatch(It.IsAny())).Returns((result, result)); // Act - await _sut.Invoke(_contextMock.Object).ConfigureAwait(false); + await _sut.Invoke(_contextMock.Object); // Assert and Verify fileSystemHandlerMock.Verify(f => f.WriteMappingFile(It.IsAny(), It.IsAny()), Times.Once); diff --git a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithGraphQLSchemaTests.cs b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithGraphQLSchemaTests.cs index 1654cb31e..fc18a56b7 100644 --- a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithGraphQLSchemaTests.cs +++ b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithGraphQLSchemaTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if GRAPHQL +//#if GRAPHQL using System.Collections.Generic; using FluentAssertions; using GraphQL.Types; @@ -70,4 +70,4 @@ public void RequestBuilder_WithGraphQLSchema_SchemaAsISchema() ((RequestMessageGraphQLMatcher)matchers[0]).Matchers.Should().ContainItemsAssignableTo(); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithProtoBufTests.cs b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithProtoBufTests.cs index 789807b4a..b5550160a 100644 --- a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithProtoBufTests.cs +++ b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithProtoBufTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if PROTOBUF +//#if PROTOBUF using System.Collections.Generic; using FluentAssertions; using WireMock.Matchers; @@ -64,4 +64,4 @@ public void RequestBuilder_WithGrpcProto_With_JsonMatcher() protoBufMatcher.Matcher.Should().BeOfType(); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestMatchers/RequestMessageBodyMatcherTests.cs b/test/WireMock.Net.Tests/RequestMatchers/RequestMessageBodyMatcherTests.cs index ab53577a2..7a23c4dbe 100644 --- a/test/WireMock.Net.Tests/RequestMatchers/RequestMessageBodyMatcherTests.cs +++ b/test/WireMock.Net.Tests/RequestMatchers/RequestMessageBodyMatcherTests.cs @@ -491,7 +491,7 @@ public async Task RequestMessageBodyMatcher_GetMatchingScore_Funcs_Matching(obje ContentType = null, DeserializeJson = true }; - bodyData = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + bodyData = await BodyParser.ParseAsync(bodyParserSettings); } else if (body is string s) { @@ -501,7 +501,7 @@ public async Task RequestMessageBodyMatcher_GetMatchingScore_Funcs_Matching(obje ContentType = null, DeserializeJson = true }; - bodyData = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + bodyData = await BodyParser.ParseAsync(bodyParserSettings); } else { diff --git a/test/WireMock.Net.Tests/RequestMatchers/RequestMessageGraphQLMatcherTests.cs b/test/WireMock.Net.Tests/RequestMatchers/RequestMessageGraphQLMatcherTests.cs index e882ef23d..039dd676f 100644 --- a/test/WireMock.Net.Tests/RequestMatchers/RequestMessageGraphQLMatcherTests.cs +++ b/test/WireMock.Net.Tests/RequestMatchers/RequestMessageGraphQLMatcherTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if GRAPHQL +//#if GRAPHQL using System.Linq; using FluentAssertions; using Moq; @@ -193,4 +193,4 @@ public void RequestMessageGraphQLMatcher_GetMatchingScore_BodyAsBytes_IStringMat stringMatcherMock.Verify(m => m.IsMatch(It.IsAny()), Times.Never); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestMatchers/RequestMessageMultiPartMatcher.cs b/test/WireMock.Net.Tests/RequestMatchers/RequestMessageMultiPartMatcher.cs index 36e2bda29..348dc604b 100644 --- a/test/WireMock.Net.Tests/RequestMatchers/RequestMessageMultiPartMatcher.cs +++ b/test/WireMock.Net.Tests/RequestMatchers/RequestMessageMultiPartMatcher.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if MIMEKIT +//#if MIMEKIT using System; using System.Collections.Generic; using System.Linq; @@ -178,4 +178,4 @@ private static double GetScore(IMatcher? matcher1, IMatcher? matcher2, IMatcher? return matcher.GetMatchingScore(requestMessage, result); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseCreateTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseCreateTests.cs index 7f4cd3ccd..10830be32 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseCreateTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseCreateTests.cs @@ -25,7 +25,7 @@ public async Task Response_Create_Func() var responseBuilder = Response.Create(() => responseMessage); // Act - var response = await responseBuilder.ProvideResponseAsync(mapping, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(mapping, request, _settings); // Assert Check.That(response.Message).Equals(responseMessage); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyFromFileTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyFromFileTests.cs index d6bd82d09..464b23a30 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyFromFileTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyFromFileTests.cs @@ -37,7 +37,7 @@ public async Task Response_ProvideResponse_WithBodyFromFile_AbsolutePath() ); // Act - var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/v1/content").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/v1/content"); // Assert response.Should().Contain("world"); @@ -68,7 +68,7 @@ public async Task Response_ProvideResponse_WithBodyFromFile_InSubDirectory() ); // Act - var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/v1/content").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/v1/content"); // Assert response.Should().Contain("world"); @@ -99,7 +99,7 @@ public async Task Response_ProvideResponse_WithBodyFromFile_InAdminMappingFolder ); // Act - var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/v1/content").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/v1/content"); // Assert response.Should().Contain("world"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyTests.cs index 253d1ab82..a7496136c 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyTests.cs @@ -49,7 +49,7 @@ public async Task Response_ProvideResponse_WithBody_Bytes_Encoding_Destination_S var responseBuilder = Response.Create().WithBody(new byte[] { 48, 49 }, BodyDestinationFormat.String, Encoding.ASCII); // act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // then Check.That(response.Message.BodyData.BodyAsString).Equals("01"); @@ -71,7 +71,7 @@ public async Task Response_ProvideResponse_WithBody_Bytes_Encoding_Destination_B var responseBuilder = Response.Create().WithBody(new byte[] { 48, 49 }, BodyDestinationFormat.SameAsSource, Encoding.ASCII); // act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // then Check.That(response.Message.BodyData.BodyAsBytes).ContainsExactly(new byte[] { 48, 49 }); @@ -93,7 +93,7 @@ public async Task Response_ProvideResponse_WithBody_String_Encoding() var responseBuilder = Response.Create().WithBody("test", null, Encoding.ASCII); // act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // then Check.That(response.Message.BodyData.BodyAsString).Equals("test"); @@ -115,7 +115,7 @@ public async Task Response_ProvideResponse_WithBody_Object_Encoding() var responseBuilder = Response.Create().WithBodyAsJson(x, Encoding.ASCII); // act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // then Check.That(response.Message.BodyData.BodyAsJson).Equals(x); @@ -131,7 +131,7 @@ public async Task Response_ProvideResponse_WithBody_String_SameAsSource_Encoding var responseBuilder = Response.Create().WithBody("r", BodyDestinationFormat.SameAsSource, Encoding.ASCII); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsBytes).IsNull(); @@ -149,7 +149,7 @@ public async Task Response_ProvideResponse_WithBody_String_Bytes_Encoding() var responseBuilder = Response.Create().WithBody("r", BodyDestinationFormat.Bytes, Encoding.ASCII); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsNull(); @@ -167,7 +167,7 @@ public async Task Response_ProvideResponse_WithBody_String_Json_Encoding() var responseBuilder = Response.Create().WithBody("{ \"value\": 42 }", BodyDestinationFormat.Json, Encoding.ASCII); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsNull(); @@ -191,7 +191,7 @@ public async Task Response_ProvideResponse_WithBodyAsJson_Object_Indented() var responseBuilder = Response.Create().WithBodyAsJson(x, true); // act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // then Check.That(response.Message.BodyData.BodyAsJson).Equals(x); @@ -213,7 +213,7 @@ public async Task Response_ProvideResponse_WithBodyAsJson_FuncObject() var responseBuilder = Response.Create().WithBodyAsJson(requestMessage => responseBody); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsJson.Should().BeEquivalentTo(responseBody); @@ -234,7 +234,7 @@ public async Task Response_ProvideResponse_WithBodyAsJson_AsyncFuncObject() var responseBuilder = Response.Create().WithBodyAsJson(requestMessage => Task.FromResult(responseBody)); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsJson.Should().BeEquivalentTo(responseBody); @@ -256,8 +256,8 @@ public async Task Response_ProvideResponse_WithJsonBodyAndTransform() .WithTransformer(); // Act - var response1 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings).ConfigureAwait(false); - var response2 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request2, _settings).ConfigureAwait(false); + var response1 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings); + var response2 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request2, _settings); // Assert Check.That(((JToken)response1.Message.BodyData.BodyAsJson).SelectToken("id")?.Value()).IsEqualTo(request1Id); @@ -281,7 +281,7 @@ public async Task Response_ProvideResponse_WithBodyAsFile() var responseBuilder = Response.Create().WithStatusCode(200).WithBody(fileContents); - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings); Check.That(response.Message.StatusCode).IsEqualTo(200); Check.That(response.Message.BodyData.BodyAsString).Contains(fileContents); @@ -297,7 +297,7 @@ public async Task Response_ProvideResponse_WithResponseAsFile() var responseBuilder = Response.Create().WithStatusCode(200).WithBody(fileContents); - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings); Check.That(response.Message.StatusCode).IsEqualTo(200); Check.That(response.Message.BodyData.BodyAsString).Contains(fileContents); @@ -313,7 +313,7 @@ public async Task Response_ProvideResponse_WithResponseDeleted() var responseBuilder = Response.Create().WithStatusCode(200).WithBody("File deleted."); - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request1, _settings); Check.That(response.Message.StatusCode).IsEqualTo(200); Check.That(response.Message.BodyData.BodyAsString).Contains("File deleted."); @@ -334,7 +334,7 @@ public async Task Response_ProvideResponse_WithBody_IJsonConverter_SystemTextJso var responseBuilder = Response.Create().WithBody(new { foo = "bar", n = 42 }, new JsonConverter.System.Text.Json.SystemTextJsonConverter()); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be(@"{""foo"":""bar"",""n"":42}"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithCallbackTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithCallbackTests.cs index 1e077d4ce..e241ede34 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithCallbackTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithCallbackTests.cs @@ -48,7 +48,7 @@ public async Task Response_ProvideResponse_WithBody_Func() .WithBody(req => $"path: {req.Path}"); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsEqualTo("path: /test"); @@ -77,8 +77,8 @@ public async Task Response_ProvideResponse_WithBody_Func_DynamicCode_Should_IsFu }); // Act (2x) - var response1 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); - var response2 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response1 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); + var response2 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response1.Message.BodyData!.BodyAsString.Should().Be("x"); @@ -104,8 +104,8 @@ public async Task Response_ProvideResponse_WithBody_AsyncFunc_DynamicCode_Should }); // Act (2x) - var response1 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); - var response2 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response1 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); + var response2 = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response1.Message.BodyData!.BodyAsString.Should().Be("x"); @@ -131,7 +131,7 @@ public async Task Response_ProvideResponse_WithBody_FuncAsync() }); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsEqualTo("path: /test"); @@ -165,7 +165,7 @@ public async Task Response_WithCallbackAsync() }); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings); // Assert response.Message.BodyData.BodyAsString.Should().Be("/fooBar"); @@ -189,7 +189,7 @@ public async Task Response_WithCallback() }); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings); // Assert response.Message.BodyData.BodyAsString.Should().Be("/fooBar"); @@ -218,7 +218,7 @@ public async Task Response_WithCallback_ShouldUseStatusCodeAndHeaderInTheCallbac }); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings); // Assert response.Message.BodyData.BodyAsString.Should().Be("/fooBar"); @@ -250,7 +250,7 @@ public async Task Response_WithCallback_And_Additional_WithStatusCode_And_WithHe .WithHeader(header, "Stef"); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings); // Assert response.Message.BodyData.BodyAsString.Should().Be("/fooBar"); @@ -276,7 +276,7 @@ public async Task Response_WithCallback_And_UseTransformer_Is_True() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings); // Assert response.Message.BodyData.BodyAsString.Should().Be("/fooBar"); @@ -311,7 +311,7 @@ public async Task Response_WithCallback_WithRequestHeaders_Should_BeAccessibleIn }); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, requestMessage, _settings); // Assert response.Message.Headers![headerKey].Should().Contain("extra"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithFaultTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithFaultTests.cs index f0ef363ac..37ce850b7 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithFaultTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithFaultTests.cs @@ -32,7 +32,7 @@ public async Task Response_ProvideResponse_WithFault(FaultType faultType) // Act var responseBuilder = Response.Create().WithFault(faultType); - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.FaultType.Should().Be(faultType); @@ -48,7 +48,7 @@ public async Task Response_ProvideResponse_WithFault_IncludingPercentage(FaultTy // Act var responseBuilder = Response.Create().WithFault(faultType, percentage); - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.FaultType.Should().Be(faultType); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsDateTimeTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsDateTimeTests.cs index 84e9d169d..4ab7d0ae6 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsDateTimeTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsDateTimeTests.cs @@ -47,7 +47,7 @@ public async Task Response_WithBodyAsJson_ProvideResponseAsync_Handlebars_DateTi .WithTransformer(options); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); @@ -71,7 +71,7 @@ public async Task Response_WithBodyAsJson_ProvideResponseAsync_Handlebars_DateTi .WithTransformer(options); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); @@ -94,7 +94,7 @@ public async Task Response_WithBodyAsJson_ProvideResponseAsync_Handlebars_DateTi .WithTransformer(options); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); @@ -112,7 +112,7 @@ public async Task Response_WithBody_ProvideResponseAsync_Handlebars_DateTime() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Contain($"DateTimeYear = \"{DateTime.Now.Year}\""); @@ -137,7 +137,7 @@ public async Task Response_WithBodyAsJson_ProvideResponseAsync_Handlebars_WithSt .WithTransformer(options); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsFileTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsFileTests.cs index 3528038a7..fb28c7852 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsFileTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsFileTests.cs @@ -55,7 +55,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_File() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -80,7 +80,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_File_Replace() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -105,7 +105,7 @@ public void Response_ProvideResponseAsync_Handlebars_File_WithMissingArgument_Th .WithTransformer(); // Act - Check.ThatAsyncCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); + Check.ThatCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); // Verify _filesystemHandlerMock.Verify(fs => fs.ReadResponseBodyAsString(It.IsAny()), Times.Never); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs index 716f131f9..2e39428c3 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs @@ -40,7 +40,7 @@ public async Task Response_ProvideResponseAsync_HandlebarsHelpers_String_Upperca .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(new Mock().Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(new Mock().Object, request, _settings); // assert Check.That(response.Message.BodyData.BodyAsString).Equals("ABC"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHumanizerTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHumanizerTests.cs index a4e586950..8f64b6dfa 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHumanizerTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHumanizerTests.cs @@ -44,7 +44,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_Humanizer() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsJsonPathTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsJsonPathTests.cs index b8933dc82..c18a565b0 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsJsonPathTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsJsonPathTests.cs @@ -82,7 +82,7 @@ public async Task Response_ProvideResponse_Handlebars_JsonPath_SelectToken_Objec .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -108,7 +108,7 @@ public async Task Response_ProvideResponse_Handlebars_JsonPath_SelectToken_Numbe .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson!); @@ -162,7 +162,7 @@ public async Task Response_ProvideResponse_Handlebars_JsonPath_SelectToken_Reque .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).Equals($"{{{Environment.NewLine} \"Name\": \"Acme Co\",{Environment.NewLine} \"Products\": [{Environment.NewLine} {{{Environment.NewLine} \"Name\": \"Anvil\",{Environment.NewLine} \"Price\": 50{Environment.NewLine} }}{Environment.NewLine} ]{Environment.NewLine}}}"); @@ -215,7 +215,7 @@ public async Task Response_ProvideResponse_Handlebars_JsonPath_SelectToken_Reque .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).Equals($"{{{Environment.NewLine} \"Name\": \"Acme Co\",{Environment.NewLine} \"Products\": [{Environment.NewLine} {{{Environment.NewLine} \"Name\": \"Anvil\",{Environment.NewLine} \"Price\": 50{Environment.NewLine} }}{Environment.NewLine} ]{Environment.NewLine}}}"); @@ -268,7 +268,7 @@ public async Task Response_ProvideResponse_Handlebars_JsonPath_SelectTokens_Requ .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).Equals("%0:Anvil%%1:Elbow Grease%"); @@ -321,7 +321,7 @@ public async Task Response_ProvideResponse_Handlebars_JsonPath_SelectTokens_Requ .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).Equals("%0:Anvil%%1:Elbow Grease%"); @@ -350,7 +350,7 @@ public void Response_ProvideResponse_Handlebars_JsonPath_SelectTokens_Throws() .WithTransformer(); // Act - Check.ThatAsyncCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); + Check.ThatCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); } [Fact] @@ -376,7 +376,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsFile_JsonPath() .WithBodyFromFile("c:\\\\{{JsonPath.SelectToken request.body \"$.MyUniqueNumber\" }}\\test.json"); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData?.BodyAsFile.Should().Be(@"c:\1\test.json"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsLinqTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsLinqTests.cs index bfd7121a6..d9dab9297 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsLinqTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsLinqTests.cs @@ -47,7 +47,7 @@ public async Task Response_ProvideResponse_Handlebars_Linq1_String0() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -77,7 +77,7 @@ public async Task Response_ProvideResponse_Handlebars_Linq1_String1() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -107,7 +107,7 @@ public async Task Response_ProvideResponse_Handlebars_Linq1_String2() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -137,7 +137,7 @@ public async Task Response_ProvideResponse_Handlebars_Linq2_Object() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); @@ -162,7 +162,7 @@ public void Response_ProvideResponse_Handlebars_Linq_Throws_ArgumentException() .WithTransformer(); // Act - Check.ThatAsyncCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); + Check.ThatCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); } [Fact] @@ -178,7 +178,7 @@ public void Response_ProvideResponse_Handlebars_Linq1_Throws_HandlebarsException .WithTransformer(); // Act - Check.ThatAsyncCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); + Check.ThatCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); } [Fact] diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs index ee0477ce6..ad08d5983 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs @@ -5,7 +5,6 @@ using FluentAssertions; using Moq; using Newtonsoft.Json.Linq; -using NFluent; using WireMock.Handlers; using WireMock.Models; using WireMock.ResponseBuilders; @@ -49,13 +48,13 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random1() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert - JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); - Check.That(j["Text"].Value()).IsNotEmpty(); - Check.That(j["Integer"].Value()).IsEqualTo(1000); - Check.That(j["Long"].Value()).IsStrictlyGreaterThan(77777777).And.IsStrictlyLessThan(99999999); + JObject j = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); + j["Text"]?.Value().Should().NotBeNullOrEmpty(); + j["Integer"]?.Value().Should().Be(1000); + j["Long"]?.Value().Should().BeInRange(77777777, 99999999); } [Fact] @@ -72,11 +71,11 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random1_Boolean() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert - JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); - Check.That(j["Value"].Type).IsEqualTo(JTokenType.Boolean); + JObject j = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); + j["Value"]?.Type.Should().Be(JTokenType.Boolean); } [Theory] @@ -95,7 +94,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random1_Integer(Repla .WithTransformer(options); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); @@ -120,7 +119,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random_Guid(ReplaceNo .WithTransformer(options); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); @@ -142,7 +141,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random_StringReplaceG .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var jObject = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); @@ -163,12 +162,12 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random1_StringList() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert - JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); - string value = j["StringValue"].Value(); - Check.That(new[] { "a", "b", "c" }.Contains(value)).IsTrue(); + JObject j = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); + var value = j["StringValue"]?.Value(); + new[] { "a", "b", "c" }.Should().Contain(value); } [Fact] @@ -185,11 +184,11 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random_Integer() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert - JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson); - Check.That(j["Integer"].Value()).IsStrictlyGreaterThan(10000000).And.IsStrictlyLessThan(99999999); + JObject j = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); + j["Integer"]?.Value().Should().BeInRange(10000000, 99999999); } [Fact] @@ -206,10 +205,10 @@ public async Task Response_ProvideResponseAsync_Handlebars_Random_Long() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert - var j = JObject.FromObject(response.Message.BodyData.BodyAsJson); - j["Long"].Value().Should().BeInRange(1000000000, 9999999999); + var j = JObject.FromObject(response.Message.BodyData!.BodyAsJson!); + j["Long"]?.Value().Should().BeInRange(1000000000, 9999999999); } } \ No newline at end of file diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRegexTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRegexTests.cs index 6109b02d6..ddfac3ee7 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRegexTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRegexTests.cs @@ -44,7 +44,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_RegexMatch() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // assert Check.That(response.Message.BodyData.BodyAsString).Equals("abc"); @@ -63,7 +63,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_RegexMatch_NoMatch() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // assert Check.That(response.Message.BodyData.BodyAsString).Equals(""); @@ -82,7 +82,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_RegexMatch2() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // assert Check.That(response.Message.BodyData.BodyAsString).Equals("5000-https"); @@ -101,7 +101,7 @@ public async Task Response_ProvideResponseAsync_Handlebars_RegexMatch2_NoMatch() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // assert Check.That(response.Message.BodyData.BodyAsString).Equals(""); @@ -120,6 +120,6 @@ public void Response_ProvideResponseAsync_Handlebars_RegexMatch2_Throws() .WithTransformer(); // Act and Assert - Check.ThatAsyncCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); + Check.ThatCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); } } \ No newline at end of file diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsXPathTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsXPathTests.cs index 0a29a3876..0dba85254 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsXPathTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsXPathTests.cs @@ -1,7 +1,7 @@ // Copyright © WireMock.Net using System.Threading.Tasks; -using System.Xml; +//using System.Xml; using NFluent; using WireMock.Models; using WireMock.ResponseBuilders; @@ -12,9 +12,9 @@ using Moq; using WireMock.Handlers; using FluentAssertions; -#if !NETSTANDARD1_3 -using Wmhelp.XPath2; -#endif +//#if !NETSTANDARD1_3 +//using Wmhelp.XPath2; +//#endif namespace WireMock.Net.Tests.ResponseBuilders; @@ -57,7 +57,7 @@ public async Task Response_ProvideResponse_Handlebars_XPath_SelectNode_Request_B .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be("abc"); @@ -85,7 +85,7 @@ public async Task Response_ProvideResponse_Handlebars_XPath_SelectNode_Text_Requ .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsEqualTo("abc"); @@ -113,7 +113,7 @@ public async Task Response_ProvideResponse_Handlebars_XPath_SelectNodes_Request_ .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be("abc,def,xyz"); @@ -169,7 +169,7 @@ public async Task Response_ProvideResponse_Handlebars_XPath_SelectNode_Request_S .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be("0000083256"); @@ -197,7 +197,7 @@ public async Task Response_ProvideResponse_Handlebars_XPath_Evaluate_Request_Bod .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsEqualIgnoringCase("True"); @@ -225,7 +225,7 @@ public async Task Response_ProvideResponse_Handlebars_XPath_Evaluate_Attribute_R .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).IsEqualTo("a1"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHeadersTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHeadersTests.cs index 8e058d604..46da4c5ed 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHeadersTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHeadersTests.cs @@ -35,7 +35,7 @@ public async Task Response_ProvideResponse_WithHeader_SingleValue(string headerN IResponseBuilder builder = Response.Create().WithHeader(headerName, headerValue); // Act - var response = await builder.ProvideResponseAsync(_mappingMock.Object, requestMock, _settings).ConfigureAwait(false); + var response = await builder.ProvideResponseAsync(_mappingMock.Object, requestMock, _settings); // Assert Check.That(response.Message.Headers[headerName].ToString()).Equals(headerValue); @@ -51,7 +51,7 @@ public async Task Response_ProvideResponse_WithHeader_MultipleValues(string head IResponseBuilder builder = Response.Create().WithHeader(headerName, headerValues); // Act - var response = await builder.ProvideResponseAsync(_mappingMock.Object, requestMock, _settings).ConfigureAwait(false); + var response = await builder.ProvideResponseAsync(_mappingMock.Object, requestMock, _settings); // Assert Check.That(response.Message.Headers[headerName].ToArray()).Equals(headerValues); @@ -66,7 +66,7 @@ public async Task Response_ProvideResponse_WithHeaders_SingleValue() var response = Response.Create().WithHeaders(headers); // Act - var responseMessage = await response.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var responseMessage = await response.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(responseMessage.Message.Headers["h"]).ContainsExactly("x"); @@ -81,7 +81,7 @@ public async Task Response_ProvideResponse_WithHeaders_MultipleValues() var responseBuilder = Response.Create().WithHeaders(headers); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.Headers["h"]).ContainsExactly("x"); @@ -96,7 +96,7 @@ public async Task Response_ProvideResponse_WithHeaders_WiremockList() var builder = Response.Create().WithHeaders(headers); // Act - var response = await builder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await builder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.Headers["h"]).ContainsExactly("x"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithProxyTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithProxyTests.cs index ba66619bd..dc9dbe598 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithProxyTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithProxyTests.cs @@ -56,7 +56,7 @@ public async Task Response_WithProxy(string prepend, string append, string expec var responseBuilder = Response.Create().WithProxy(_server.Urls[0]); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(request.ProxyUrl).IsNotNull(); @@ -84,7 +84,7 @@ public void Response_WithProxy_WebProxySettings() // Act var request = new RequestMessage(new UrlDetails($"{_server.Urls[0]}/{_guid}"), "GET", ClientIp); - Check.ThatAsyncCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); + Check.ThatCode(() => responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings)).Throws(); } public void Dispose() diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithScribanTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithScribanTests.cs index 0578572b6..dd2d4ce4f 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithScribanTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithScribanTests.cs @@ -47,7 +47,7 @@ public async Task Response_ProvideResponse_DotLiquid_WithNullBody_ShouldNotThrow var responseBuilder = Response.Create().WithTransformer(TransformerType.ScribanDotLiquid); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData.Should().BeNull(); @@ -69,7 +69,7 @@ public async Task Response_ProvideResponse_DotLiquid_UrlPathVerb() .WithTransformer(TransformerType.Scriban); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData.BodyAsString).Equals("test http://localhost/foo /foo POSt"); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithStatusCodeTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithStatusCodeTests.cs index ed61213dc..e8799d2a0 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithStatusCodeTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithStatusCodeTests.cs @@ -42,7 +42,7 @@ public async Task Response_ProvideResponse_WithStatusCode(object statusCode, obj break; } - var response = await responseBuilder.ProvideResponseAsync(new Mock().Object, request, _settingsMock.Object).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(new Mock().Object, request, _settingsMock.Object); // Assert response.Message.StatusCode.Should().Be(expectedStatusCode); diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithTransformerTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithTransformerTests.cs index 9f663fd0b..c67fddbe8 100644 --- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithTransformerTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithTransformerTests.cs @@ -57,7 +57,7 @@ public async Task Response_ProvideResponse_Transformer_WithNullBody_ShouldNotThr var responseBuilder = Response.Create().WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData.Should().BeNull(); @@ -82,7 +82,7 @@ public async Task Response_ProvideResponse_Transformer_UrlPathVerb(TransformerTy .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test http://localhost/foo /foo POSt"); @@ -106,7 +106,7 @@ public async Task Response_ProvideResponse_Transformer_UrlPath(TransformerType t .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("url=http://localhost/a/b absoluteurl=http://localhost/wiremock/a/b path=/a/b absolutepath=/wiremock/a/b"); @@ -124,7 +124,7 @@ public async Task Response_ProvideResponse_Handlebars_PathSegments() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("a b wiremock"); @@ -146,7 +146,7 @@ public async Task Response_ProvideResponse_Handlebars_BodyAsJson_PathSegments(st .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert var json = (JObject)response.Message.BodyData!.BodyAsJson!; @@ -167,7 +167,7 @@ public async Task Response_ProvideResponse_Scriban_PathSegments(TransformerType .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("a wiremock"); @@ -189,7 +189,7 @@ public async Task Response_ProvideResponse_Handlebars_Query() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test keya=1,2 idx=1 idx=2 keyb=5"); @@ -213,7 +213,7 @@ public async Task Response_ProvideResponse_Scriban_Query(TransformerType transfo .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test keya=1 idx=1 idx=2 keyb=5"); @@ -236,7 +236,7 @@ public async Task Response_ProvideResponse_Handlebars_StatusCode() .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test"); @@ -262,7 +262,7 @@ public async Task Response_ProvideResponse_Scriban_StatusCode(TransformerType tr .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test"); @@ -288,7 +288,7 @@ public async Task Response_ProvideResponse_Transformer_StatusCodeIsNull(Transfor .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test"); @@ -309,7 +309,7 @@ public async Task Response_ProvideResponse_Handlebars_Header() var responseBuilder = Response.Create().WithHeader("x", "{{request.headers.Content-Type}}").WithBody("test").WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test"); @@ -334,7 +334,7 @@ public async Task Response_ProvideResponse_Handlebars_Header_TransformMapping() var responseBuilder = Response.Create().WithHeader("x", "{{mapping.Guid}}").WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.Headers.Should().NotBeNull(); @@ -356,7 +356,7 @@ public async Task Response_ProvideResponse_Handlebars_Headers() var responseBuilder = Response.Create().WithHeader("x", "{{request.headers.Content-Type}}", "{{request.url}}").WithBody("test").WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test"); @@ -381,7 +381,7 @@ public async Task Response_ProvideResponse_Scriban_Headers(TransformerType trans var responseBuilder = Response.Create().WithHeader("x", "{{request.Headers[\"Content-Type\"]}}", "{{request.Url}}").WithBody("test").WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test"); @@ -409,7 +409,7 @@ public async Task Response_ProvideResponse_Transformer_Origin_Port_Protocol_Host .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsString).Equals("test http://localhost:1234 1234 http localhost"); @@ -436,7 +436,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsJson_ResultAsOb .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson)).Equals("{\"x\":\"test /foo_object\"}"); @@ -498,7 +498,7 @@ public async Task Response_ProvideResponse_Transformer_ResultAsArray(Transformer .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson).Should().Be("[{\"x\":\"test\"}]"); @@ -519,7 +519,7 @@ public async Task Response_ProvideResponse_Transformer_ResultAsJArray(Transforme .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson).Should().Be("[{\"x\":\"test\"}]"); @@ -556,7 +556,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsJson_And_Replac .WithTransformer(transformerType, false, ReplaceNodeOptions.Evaluate); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson).Should().Be($"{{\"text\":{expected}}}"); @@ -583,7 +583,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsJson_ResultAsAr .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson)).Equals("[\"first\",\"/foo_array\",\"test 1\",\"test 2\",\"last\"]"); @@ -600,7 +600,7 @@ public async Task Response_ProvideResponse_Handlebars_WithBodyAsFile() .WithBodyFromFile(@"c:\\{{request.query.MyUniqueNumber}}\\test.xml"); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsFile).Equals(@"c:\1\test.xml"); @@ -619,7 +619,7 @@ public async Task Response_ProvideResponse_Scriban_WithBodyAsFile(TransformerTyp .WithBodyFromFile(@"c:\\{{request.query.MyUniqueNumber}}\\test.xml"); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsFile).Equals(@"c:\1\test.xml"); @@ -643,7 +643,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsFile_And_Transf .WithBodyFromFile(@"c:\\{{request.query.MyUniqueNumber}}\\test.xml"); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(response.Message.BodyData!.BodyAsFile).Equals(@"c:\1\test.xml"); @@ -672,7 +672,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsJson_ResultAsNo .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson)).Equals("\"test\""); @@ -693,7 +693,7 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsJson_Handlebars .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson).Should().Be("{\"scope\":\"scope1 scope2 scope3 helloworld\"}"); @@ -718,7 +718,7 @@ public async Task Response_ProvideResponse_Handlebars_WithBodyAsJson_ResultAsTem .WithTransformer(); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson)).Equals("{\"name\":\"WireMock\"}"); @@ -744,7 +744,7 @@ public async Task Response_ProvideResponse_Scriban_WithBodyAsJson_ResultAsTempla .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert Check.That(JsonConvert.SerializeObject(response.Message.BodyData!.BodyAsJson)).Equals("{\"name\":\"WireMock\"}"); @@ -772,14 +772,14 @@ public async Task Response_ProvideResponse_Transformer_WithBodyAsString_KeepsEnc .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be(text); response.Message.BodyData.Encoding.Should().Be(enc); } -#if MIMEKIT +//#if MIMEKIT [Theory] [InlineData(TransformerType.Handlebars)] // [InlineData(TransformerType.Scriban)] @@ -825,12 +825,12 @@ This is some plain text .WithTransformer(transformerType); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be("text/plain text/json image.png"); } -#endif +//#endif [Theory] [InlineData("/wiremock-data/1", "one")] @@ -853,7 +853,7 @@ public async Task Response_ProvideResponse_Handlebars_DataObject(string path, st _mappingMock.SetupGet(m => m.Data).Returns(data); // Act - var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false); + var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings); // Assert response.Message.BodyData!.BodyAsString.Should().Be(expected); diff --git a/test/WireMock.Net.Tests/Serialization/MappingConverterTests.cs b/test/WireMock.Net.Tests/Serialization/MappingConverterTests.cs index fcda72eec..3f03c7d26 100644 --- a/test/WireMock.Net.Tests/Serialization/MappingConverterTests.cs +++ b/test/WireMock.Net.Tests/Serialization/MappingConverterTests.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if !(NET452 || NET461 || NETCOREAPP3_1) +//#if !(NET452 || NET461 || NETCOREAPP3_1) using System; using System.Collections.Generic; using System.Threading; @@ -531,7 +531,7 @@ public Task ToMappingModel_WithParam_ReturnsCorrectModel() return Verifier.Verify(model); } -#if GRAPHQL +//#if GRAPHQL [Fact] public Task ToMappingModel_Request_WithBodyAsGraphQLSchema_ReturnsCorrectModel() { @@ -562,9 +562,9 @@ type Student { // Verify return Verifier.Verify(model); } -#endif +//#endif -#if PROTOBUF +//#if PROTOBUF [Fact] public Task ToMappingModel_Request_WithBodyAsProtoBuf_ReturnsCorrectModel() { @@ -651,6 +651,6 @@ public Task ToMappingModel_Mapping_WithBodyAsProtoBuf_ReturnsCorrectModel() // Verify return Verifier.Verify(model); } -#endif +//#endif } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Serialization/MatcherMapperTests.cs b/test/WireMock.Net.Tests/Serialization/MatcherMapperTests.cs index 3b069fb28..9325b66e8 100644 --- a/test/WireMock.Net.Tests/Serialization/MatcherMapperTests.cs +++ b/test/WireMock.Net.Tests/Serialization/MatcherMapperTests.cs @@ -62,7 +62,7 @@ public void MatcherMapper_Map_Matcher_IMatchers() models.Should().HaveCount(2); } -#if MIMEKIT +//#if MIMEKIT [Fact] public void MatcherMapper_Map_Matcher_MimePartMatcher() { @@ -94,7 +94,7 @@ public void MatcherMapper_Map_Matcher_MimePartMatcher() model.ContentMatcher!.Name.Should().Be(nameof(ExactObjectMatcher)); model.ContentMatcher.Pattern.Should().Be(bytes); } -#endif +//#endif [Fact] public void MatcherMapper_Map_Matcher_IStringMatcher() @@ -171,7 +171,7 @@ public void MatcherMapper_Map_Matcher_XPathMatcher() model.XmlNamespaceMap.Should().BeEquivalentTo(xmlNamespaceMap); } -#if GRAPHQL +//#if GRAPHQL [Fact] public void MatcherMapper_Map_Matcher_GraphQLMatcher() { @@ -199,9 +199,9 @@ type Mutation { model.Pattern.Should().Be(testSchema); model.CustomScalars.Should().BeEquivalentTo(customScalars); } -#endif +//#endif -#if PROTOBUF +//#if PROTOBUF [Fact] public void MatcherMapper_Map_Matcher_ProtoBufMatcher() { @@ -280,7 +280,7 @@ message HelloReply { model.ContentMatcher?.Name.Should().Be("JsonMatcher"); model.ContentMatcher?.Pattern.Should().Be(jsonPattern); } -#endif +//#endif [Fact] public void MatcherMapper_Map_MatcherModel_Null() @@ -598,7 +598,7 @@ public void MatcherMapper_Map_MatcherModel_NotNullOrEmptyMatcher() matcher.MatchBehaviour.Should().Be(MatchBehaviour.RejectOnMatch); } -#if MIMEKIT +//#if MIMEKIT [Fact] public void MatcherMapper_Map_MatcherModel_MimePartMatcher() { @@ -638,7 +638,7 @@ public void MatcherMapper_Map_MatcherModel_MimePartMatcher() matcher.ContentTransferEncodingMatcher.Should().BeAssignableTo().Which.GetPatterns().Should().ContainSingle("z"); matcher.ContentTypeMatcher.Should().BeAssignableTo().Which.GetPatterns().Should().ContainSingle("text/json"); } -#endif +//#endif [Fact] public void MatcherMapper_Map_MatcherModel_XPathMatcher_WithXmlNamespaces_As_String() @@ -1050,7 +1050,7 @@ public void MatcherMapper_Map_MatcherModel_CustomMatcherToMatcherModel() } } -#if GRAPHQL +//#if GRAPHQL [Fact] public void MatcherMapper_Map_MatcherModel_GraphQLMatcher() { @@ -1083,9 +1083,9 @@ type Mutation { matcher.Name.Should().Be(nameof(GraphQLMatcher)); matcher.CustomScalars.Should().BeEquivalentTo(customScalars); } -#endif +//#endif -#if PROTOBUF +//#if PROTOBUF [Fact] public void MatcherMapper_Map_MatcherModel_ProtoBufMatcher() { @@ -1132,5 +1132,5 @@ message HelloReply { matcher.MessageType.Should().Be(messageType); matcher.Matcher?.Value.Should().Be(jsonMatcherPattern); } -#endif +//#endif } \ No newline at end of file diff --git a/test/WireMock.Net.Tests/StatefulBehaviorTests.cs b/test/WireMock.Net.Tests/StatefulBehaviorTests.cs index 15407222f..9c237f9ce 100644 --- a/test/WireMock.Net.Tests/StatefulBehaviorTests.cs +++ b/test/WireMock.Net.Tests/StatefulBehaviorTests.cs @@ -30,7 +30,7 @@ public async Task Scenarios_Should_skip_non_relevant_states() .RespondWith(Response.Create()); // when - var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); + var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + path); // then Check.That(response.StatusCode).IsEqualTo(HttpStatusCode.NotFound); @@ -58,8 +58,8 @@ public async Task Scenarios_Should_process_request_if_equals_state_and_single_st .RespondWith(Response.Create().WithBody("Test state msg")); // Act - var responseNoState = await new HttpClient().GetStringAsync(server.Url + path).ConfigureAwait(false); - var responseWithState = await new HttpClient().GetStringAsync(server.Url + path).ConfigureAwait(false); + var responseNoState = await new HttpClient().GetStringAsync(server.Url + path); + var responseWithState = await new HttpClient().GetStringAsync(server.Url + path); // Assert Check.That(responseNoState).Equals("No state msg"); @@ -137,9 +137,9 @@ public async Task Scenarios_With_Same_Path_Should_Use_Times_When_Moving_To_Next_ // when var client = new HttpClient(); - var responseScenario1 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); - var responseScenario2 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); - var responseWithState = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); + var responseScenario1 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path); + var responseScenario2 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path); + var responseWithState = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path); // then responseScenario1.Should().Be(body1); @@ -184,11 +184,11 @@ public async Task Scenarios_With_Different_Paths_Should_Use_Times_When_Moving_To // when var client = new HttpClient(); - var t1a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1).ConfigureAwait(false); - var t1b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1).ConfigureAwait(false); - var t2a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2).ConfigureAwait(false); - var t2b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2).ConfigureAwait(false); - var t3 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path3).ConfigureAwait(false); + var t1a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1); + var t1b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1); + var t2a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2); + var t2b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2); + var t3 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path3); // then t1a.Should().Be(body1); @@ -220,8 +220,8 @@ public async Task Scenarios_Should_Respect_Int_Valued_Scenarios_and_States() .RespondWith(Response.Create().WithBody("Scenario 1, State 2")); // when - var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); - var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); + var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); + var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); // then Check.That(responseIntScenario).Equals("Scenario 1, Setting State 2"); @@ -250,8 +250,8 @@ public async Task Scenarios_Should_Respect_Mixed_String_Scenario_and_Int_State() .RespondWith(Response.Create().WithBody("string state, State 2")); // when - var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); - var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); + var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); + var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); // then Check.That(responseIntScenario).Equals("string state, Setting State 2"); @@ -280,8 +280,8 @@ public async Task Scenarios_Should_Respect_Mixed_Int_Scenario_and_String_Scenari .RespondWith(Response.Create().WithBody("string state, State 2")); // when - var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); - var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); + var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); + var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); // then Check.That(responseIntScenario).Equals("int state, Setting State 2"); @@ -319,7 +319,7 @@ public async Task Scenarios_TodoList_Example() Check.That(server.Scenarios.Any()).IsFalse(); // Act and Assert - var getResponse1 = await client.GetStringAsync("/todo/items").ConfigureAwait(false); + var getResponse1 = await client.GetStringAsync("/todo/items"); Check.That(getResponse1).Equals("Buy milk"); Check.That(server.Scenarios["To do list"].Name).IsEqualTo("To do list"); @@ -327,7 +327,7 @@ public async Task Scenarios_TodoList_Example() Check.That(server.Scenarios["To do list"].Started).IsTrue(); Check.That(server.Scenarios["To do list"].Finished).IsFalse(); - var postResponse = await client.PostAsync("/todo/items", new StringContent("Cancel newspaper subscription")).ConfigureAwait(false); + var postResponse = await client.PostAsync("/todo/items", new StringContent("Cancel newspaper subscription")); Check.That(postResponse.StatusCode).Equals(HttpStatusCode.Created); Check.That(server.Scenarios["To do list"].Name).IsEqualTo("To do list"); @@ -335,7 +335,7 @@ public async Task Scenarios_TodoList_Example() Check.That(server.Scenarios["To do list"].Started).IsTrue(); Check.That(server.Scenarios["To do list"].Finished).IsFalse(); - string getResponse2 = await client.GetStringAsync("/todo/items").ConfigureAwait(false); + string getResponse2 = await client.GetStringAsync("/todo/items"); Check.That(getResponse2).Equals("Buy milk;Cancel newspaper subscription"); Check.That(server.Scenarios["To do list"].Name).IsEqualTo("To do list"); @@ -370,14 +370,14 @@ public async Task Scenarios_TodoList_WithSetState() server.SetScenarioState(scenario, "Buy milk"); server.Scenarios[scenario].Should().BeEquivalentTo(new { Name = scenario, NextState = "Buy milk" }); - var getResponse1 = await client.GetStringAsync("/todo/items").ConfigureAwait(false); + var getResponse1 = await client.GetStringAsync("/todo/items"); getResponse1.Should().Be("Buy milk"); server.SetScenarioState(scenario, "Cancel newspaper"); server.Scenarios[scenario].Name.Should().Be(scenario); server.Scenarios[scenario].Should().BeEquivalentTo(new { Name = scenario, NextState = "Cancel newspaper" }); - var getResponse2 = await client.GetStringAsync("/todo/items").ConfigureAwait(false); + var getResponse2 = await client.GetStringAsync("/todo/items"); getResponse2.Should().Be("Buy milk;Cancel newspaper subscription"); } @@ -441,16 +441,16 @@ public async Task Scenarios_Should_process_request_if_equals_state_and_multiple_ // Act and Assert string url = "http://localhost:" + server.Ports[0]; - var responseNoState1 = await new HttpClient().GetStringAsync(url + "/state1").ConfigureAwait(false); + var responseNoState1 = await new HttpClient().GetStringAsync(url + "/state1"); Check.That(responseNoState1).Equals("No state msg 1"); - var responseNoState2 = await new HttpClient().GetStringAsync(url + "/state2").ConfigureAwait(false); + var responseNoState2 = await new HttpClient().GetStringAsync(url + "/state2"); Check.That(responseNoState2).Equals("No state msg 2"); - var responseWithState1 = await new HttpClient().GetStringAsync(url + "/foo1X").ConfigureAwait(false); + var responseWithState1 = await new HttpClient().GetStringAsync(url + "/foo1X"); Check.That(responseWithState1).Equals("Test state msg 1"); - var responseWithState2 = await new HttpClient().GetStringAsync(url + "/foo2X").ConfigureAwait(false); + var responseWithState2 = await new HttpClient().GetStringAsync(url + "/foo2X"); Check.That(responseWithState2).Equals("Test state msg 2"); server.Stop(); diff --git a/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.Grpc.cs b/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.Grpc.cs index 12b903b2b..f6363a172 100644 --- a/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.Grpc.cs +++ b/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.Grpc.cs @@ -33,7 +33,7 @@ public async Task WireMockContainer_Build_Grpc_TestPortsAndUrls1() try { - await wireMockContainer.StartAsync().ConfigureAwait(false); + await wireMockContainer.StartAsync(); // Assert using (new AssertionScope()) @@ -86,7 +86,7 @@ public async Task WireMockContainer_Build_Grpc_TestPortsAndUrls2() try { - await wireMockContainer.StartAsync().ConfigureAwait(false); + await wireMockContainer.StartAsync(); // Assert using (new AssertionScope()) diff --git a/test/WireMock.Net.Tests/Util/BodyParserTests.cs b/test/WireMock.Net.Tests/Util/BodyParserTests.cs index af5ae34aa..8fc31afc9 100644 --- a/test/WireMock.Net.Tests/Util/BodyParserTests.cs +++ b/test/WireMock.Net.Tests/Util/BodyParserTests.cs @@ -31,7 +31,7 @@ public async Task BodyParser_Parse_ContentTypeJson(string contentType, string bo }; // Act - var body = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var body = await BodyParser.ParseAsync(bodyParserSettings); // Assert Check.That(body.BodyAsBytes).IsNotNull(); @@ -55,7 +55,7 @@ public async Task BodyParser_Parse_ContentTypeString(string contentType, string }; // Act - var body = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var body = await BodyParser.ParseAsync(bodyParserSettings); // Assert Check.That(body.BodyAsBytes).IsNotNull(); @@ -80,7 +80,7 @@ public async Task BodyParser_Parse_DetectedBodyType(byte[] content, BodyType det }; // act - var body = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var body = await BodyParser.ParseAsync(bodyParserSettings); // assert Check.That(body.DetectedBodyType).IsEqualTo(detectedBodyType); @@ -101,7 +101,7 @@ public async Task BodyParser_Parse_DetectedBodyTypeNoJsonParsing(byte[] content, }; // act - var body = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var body = await BodyParser.ParseAsync(bodyParserSettings); // assert Check.That(body.DetectedBodyType).IsEqualTo(detectedBodyType); @@ -142,7 +142,7 @@ Content of a txt }; // Act - var result = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var result = await BodyParser.ParseAsync(bodyParserSettings); // Assert Check.That(result.DetectedBodyType).IsEqualTo(BodyType.String); @@ -166,7 +166,7 @@ public async Task BodyParser_Parse_WithUTF16EncodingAndContentTypeMultipart_Dete }; // Act - var result = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var result = await BodyParser.ParseAsync(bodyParserSettings); // Assert Check.That(result.DetectedBodyType).IsEqualTo(BodyType.Bytes); @@ -189,7 +189,7 @@ public async Task BodyParser_Parse_ContentTypeIsNull(string bodyAsString, BodyTy }; // Act - var body = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var body = await BodyParser.ParseAsync(bodyParserSettings); // Assert Check.That(body.BodyAsBytes).IsNotNull(); @@ -217,7 +217,7 @@ public async Task BodyParser_Parse_ContentEncoding_GZip_And_DecompressGzipAndDef }; // Act - var result = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var result = await BodyParser.ParseAsync(bodyParserSettings); // Assert result.DetectedBodyType.Should().Be(BodyType.String); @@ -246,7 +246,7 @@ public async Task BodyParser_Parse_ContentEncoding_GZip_And_DecompressGzipAndDef }; // Act - var result = await BodyParser.ParseAsync(bodyParserSettings).ConfigureAwait(false); + var result = await BodyParser.ParseAsync(bodyParserSettings); // Assert result.BodyAsBytes.Should().BeEquivalentTo(compressed); diff --git a/test/WireMock.Net.Tests/Util/CultureInfoUtilsTests.cs b/test/WireMock.Net.Tests/Util/CultureInfoUtilsTests.cs index 08102d669..28f7aca3d 100644 --- a/test/WireMock.Net.Tests/Util/CultureInfoUtilsTests.cs +++ b/test/WireMock.Net.Tests/Util/CultureInfoUtilsTests.cs @@ -39,7 +39,7 @@ public void Parse_InvalidInputs_ReturnsCurrentCulture(string? value) result.Should().Be(expectedCulture); } -#if !NETSTANDARD1_3 +//#if !NETSTANDARD1_3 [Fact] public void Parse_IntegerInput_ReturnsExpectedCultureInfo() { @@ -53,7 +53,7 @@ public void Parse_IntegerInput_ReturnsExpectedCultureInfo() // Assert result.Should().Be(expectedCulture); } -#endif +//#endif [Fact] public void Parse_CurrentCultureInput_ReturnsCurrentCulture() diff --git a/test/WireMock.Net.Tests/Util/FilePathUtilsTests.cs b/test/WireMock.Net.Tests/Util/FilePathUtilsTests.cs index a53aa5bfe..48cea1e4e 100644 --- a/test/WireMock.Net.Tests/Util/FilePathUtilsTests.cs +++ b/test/WireMock.Net.Tests/Util/FilePathUtilsTests.cs @@ -31,7 +31,7 @@ public void PathUtils_CleanPath(string path) [InlineData(@"\", "")] [InlineData(@"\\", "")] [InlineData(@"\\a", "a")] - public void PathUtils_CleanPath_RemoveLeadingDirectorySeparators(string path, string expected) + public void PathUtils_CleanPath_RemoveLeadingDirectorySeparators(string? path, string? expected) { // Arrange var cleanPath = FilePathUtils.CleanPath(path); diff --git a/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj b/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj index 3602674f6..de6ca8184 100644 --- a/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj +++ b/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj @@ -2,7 +2,7 @@ Stef Heyenrath - net452;net461;net6.0;net8.0 + net48;net8.0 enable false full @@ -21,15 +21,7 @@ true - - NETFRAMEWORK - - - - $(DefineConstants);GRAPHQL;MIMEKIT;PROTOBUF - - - + $(DefineConstants);TRAILINGHEADERS @@ -60,50 +52,28 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + + + - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + @@ -115,7 +85,7 @@ - + @@ -133,26 +103,26 @@ PreserveNewest - PreserveNewest + PreserveNewest - PreserveNewest - + PreserveNewest + - PreserveNewest - + PreserveNewest + - PreserveNewest - Client + PreserveNewest + Client Client PreserveNewest - PreserveNewest + PreserveNewest PreserveNewest diff --git a/test/WireMock.Net.Tests/WireMockServer.Admin.cs b/test/WireMock.Net.Tests/WireMockServer.Admin.cs index f72bf3429..4f575e1d0 100644 --- a/test/WireMock.Net.Tests/WireMockServer.Admin.cs +++ b/test/WireMock.Net.Tests/WireMockServer.Admin.cs @@ -356,7 +356,7 @@ public async Task WireMockServer_Admin_Mappings_AtPriority() Check.That(mappings).HasSize(2); // when - var response = await new HttpClient().GetAsync("http://localhost:" + server.Port + "/1").ConfigureAwait(false); + var response = await new HttpClient().GetAsync("http://localhost:" + server.Port + "/1"); // then Check.That((int)response.StatusCode).IsEqualTo(400); @@ -371,7 +371,7 @@ public async Task WireMockServer_Admin_Requests_Get() var server = WireMockServer.Start(); // when - await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + "/foo").ConfigureAwait(false); + await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + "/foo"); // then Check.That(server.LogEntries).HasSize(1); @@ -391,9 +391,9 @@ public async Task WireMockServer_Admin_Logging_SetMaxRequestLogCount() var server = WireMockServer.Start(); server.SetMaxRequestLogCount(2); - await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo1").ConfigureAwait(false); - await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo2").ConfigureAwait(false); - await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo3").ConfigureAwait(false); + await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo1"); + await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo2"); + await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo3"); // Assert Check.That(server.LogEntries).HasSize(2); @@ -417,9 +417,9 @@ public async Task WireMockServer_Admin_Logging_SetMaxRequestLogCount_To_0_Should var server = WireMockServer.Start(); server.SetMaxRequestLogCount(0); - await client.GetAsync("http://localhost:" + server.Port + "/foo1").ConfigureAwait(false); - await client.GetAsync("http://localhost:" + server.Port + "/foo2").ConfigureAwait(false); - await client.GetAsync("http://localhost:" + server.Port + "/foo3").ConfigureAwait(false); + await client.GetAsync("http://localhost:" + server.Port + "/foo1"); + await client.GetAsync("http://localhost:" + server.Port + "/foo2"); + await client.GetAsync("http://localhost:" + server.Port + "/foo3"); // Assert server.LogEntries.Should().BeEmpty(); @@ -443,7 +443,7 @@ public async Task WireMockServer_Admin_Logging_FindLogEntries() client.GetAsync($"{server.Url}/foo3") }; - await Task.WhenAll(tasks).ConfigureAwait(false); + await Task.WhenAll(tasks); // Act var logEntries = server.FindLogEntries(new RequestMessageMethodMatcher("GET")); @@ -549,7 +549,7 @@ public async Task WireMockServer_Admin_DeleteMappings() Content = new StringContent(guidsJsonBody, Encoding.UTF8, "application/json") }; - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); // Assert var guids = server.MappingModels.Select(mapping => mapping.Guid!.Value).ToArray(); @@ -557,7 +557,7 @@ public async Task WireMockServer_Admin_DeleteMappings() Check.That(guids.Contains(guid2.Value)).IsFalse(); Check.That(guids.Contains(guid3.Value)).IsTrue(); Check.That(response.StatusCode).Equals(HttpStatusCode.OK); - Check.That(await response.Content.ReadAsStringAsync().ConfigureAwait(false)).Equals($"{{\"Status\":\"Mappings deleted. Affected GUIDs: [{guid1}, {guid2}]\"}}"); + Check.That(await response.Content.ReadAsStringAsync()).Equals($"{{\"Status\":\"Mappings deleted. Affected GUIDs: [{guid1}, {guid2}]\"}}"); } #if NET5_0_OR_GREATER @@ -570,7 +570,7 @@ public async Task WireMockServer_CreateHttpClientFactory_And_CallEndpoint() var client = factory.CreateClient("any name"); // Act - await client.GetAsync($"{server.Url}/foo").ConfigureAwait(false); + await client.GetAsync($"{server.Url}/foo"); // Assert Check.That(server.LogEntries).HasSize(1); @@ -592,7 +592,7 @@ public async Task WireMockServer_CreateClient_And_CallEndpoint() var client = server.CreateClient(); // Act - await client.GetAsync($"{server.Url}/foo").ConfigureAwait(false); + await client.GetAsync($"{server.Url}/foo"); // Assert Check.That(server.LogEntries).HasSize(1); @@ -617,7 +617,7 @@ public async Task WireMockServer_CreateClient_And_CallAdminSettingsEndpoint() var client = server.CreateClient(); // Act - var settings = await client.GetStringAsync($"{server.Url}/adm/settings").ConfigureAwait(false); + var settings = await client.GetStringAsync($"{server.Url}/adm/settings"); // Assert settings.Should().NotBeNull(); diff --git a/test/WireMock.Net.Tests/WireMockServer.AdminFiles.cs b/test/WireMock.Net.Tests/WireMockServer.AdminFiles.cs index 479a40a4a..06ad5c80d 100644 --- a/test/WireMock.Net.Tests/WireMockServer.AdminFiles.cs +++ b/test/WireMock.Net.Tests/WireMockServer.AdminFiles.cs @@ -40,7 +40,7 @@ public async Task WireMockServer_Admin_Files_Post_Ascii() multipartFormDataContent.Add(new StreamContent(new MemoryStream(Encoding.ASCII.GetBytes("Here's a string.")))); // Act - var httpResponseMessage = await _client.PostAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt", multipartFormDataContent).ConfigureAwait(false); + var httpResponseMessage = await _client.PostAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt", multipartFormDataContent); // Assert httpResponseMessage.StatusCode.Should().Be(HttpStatusCode.OK); @@ -74,7 +74,7 @@ public async Task WireMockServer_Admin_Files_Post_MappingFolderDoesNotExistsButW multipartFormDataContent.Add(new StreamContent(new MemoryStream(Encoding.ASCII.GetBytes("Here's a string.")))); // Act - var httpResponseMessage = await _client.PostAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt", multipartFormDataContent).ConfigureAwait(false); + var httpResponseMessage = await _client.PostAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt", multipartFormDataContent); // Assert httpResponseMessage.StatusCode.Should().Be(HttpStatusCode.OK); @@ -107,12 +107,12 @@ public async Task WireMockServer_Admin_Files_GetAscii() multipartFormDataContent.Add(new StreamContent(new MemoryStream())); // Act - var httpResponseMessageGet = await _client.GetAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt").ConfigureAwait(false); + var httpResponseMessageGet = await _client.GetAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt"); // Assert httpResponseMessageGet.StatusCode.Should().Be(HttpStatusCode.OK); - var result = await httpResponseMessageGet.Content.ReadAsStringAsync().ConfigureAwait(false); + var result = await httpResponseMessageGet.Content.ReadAsStringAsync(); result.Should().Be("Here's a string."); // Verify @@ -142,12 +142,12 @@ public async Task WireMockServer_Admin_Files_GetUTF16() multipartFormDataContent.Add(new StreamContent(new MemoryStream())); // Act - var httpResponseMessageGet = await _client.GetAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.bin").ConfigureAwait(false); + var httpResponseMessageGet = await _client.GetAsync("http://localhost:" + server.Ports[0] + "/__admin/files/filename.bin"); // Assert httpResponseMessageGet.StatusCode.Should().Be(HttpStatusCode.OK); - var result = await httpResponseMessageGet.Content.ReadAsByteArrayAsync().ConfigureAwait(false); + var result = await httpResponseMessageGet.Content.ReadAsByteArrayAsync(); result.Should().BeEquivalentTo(symbol); // Verify @@ -173,7 +173,7 @@ public async Task WireMockServer_Admin_Files_Head() // Act var requestUri = "http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt"; var httpRequestMessage = new HttpRequestMessage(HttpMethod.Head, requestUri); - var httpResponseMessage = await _client.SendAsync(httpRequestMessage).ConfigureAwait(false); + var httpResponseMessage = await _client.SendAsync(httpRequestMessage); // Assert httpResponseMessage.StatusCode.Should().Be(HttpStatusCode.NoContent); @@ -200,7 +200,7 @@ public async Task WireMockServer_Admin_Files_Head_FileDoesNotExistsReturns404() // Act var requestUri = "http://localhost:" + server.Ports[0] + "/__admin/files/filename.txt"; var httpRequestMessage = new HttpRequestMessage(HttpMethod.Head, requestUri); - var httpResponseMessage = await _client.SendAsync(httpRequestMessage).ConfigureAwait(false); + var httpResponseMessage = await _client.SendAsync(httpRequestMessage); // Assert httpResponseMessage.StatusCode.Should().Be(HttpStatusCode.NotFound); diff --git a/test/WireMock.Net.Tests/WireMockServer.Proxy.cs b/test/WireMock.Net.Tests/WireMockServer.Proxy.cs index a8ea9df99..49555c84b 100644 --- a/test/WireMock.Net.Tests/WireMockServer.Proxy.cs +++ b/test/WireMock.Net.Tests/WireMockServer.Proxy.cs @@ -49,7 +49,7 @@ public async Task WireMockServer_ProxySSL_Should_log_proxied_requests() RequestUri = new Uri(server.Urls[0]) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert Check.That(server.Mappings).HasSize(2); @@ -82,7 +82,7 @@ public async Task WireMockServer_Proxy_AdminFalse_With_SaveMapping_Is_True_And_S Method = HttpMethod.Get, RequestUri = new Uri(server.Url!) }; - await client.SendAsync(requestMessage).ConfigureAwait(false); + await client.SendAsync(requestMessage); } // Assert @@ -115,7 +115,7 @@ public async Task WireMockServer_Proxy_AdminTrue_With_SaveMapping_Is_True_And_Sa RequestUri = new Uri(server.Url!) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); } // Assert @@ -170,7 +170,7 @@ public async Task WireMockServer_Proxy_With_SaveMappingToFile_Is_True_ShouldSave Content = new StringContent(stringBody) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert server.Mappings.Should().HaveCount(2); @@ -205,7 +205,7 @@ public async Task WireMockServer_Proxy_With_SaveMapping_Is_False_And_SaveMapping RequestUri = new Uri(server.Urls[0]) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert server.Mappings.Should().HaveCount(1); @@ -241,7 +241,7 @@ public async Task WireMockServer_Proxy_With_SaveMappingForStatusCodePattern_Is_F RequestUri = new Uri(server.Urls[0]) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert server.Mappings.Should().HaveCount(1); @@ -280,7 +280,7 @@ public async Task WireMockServer_Proxy_With_DoNotSaveMappingForHttpMethod_Should RequestUri = new Uri(server.Urls[0]) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert server.Mappings.Should().HaveCount(1); @@ -311,7 +311,7 @@ public async Task WireMockServer_Proxy_Should_log_proxied_requests() RequestUri = new Uri(server.Urls[0]) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert server.Mappings.Should().HaveCount(2); @@ -335,8 +335,8 @@ public async Task WireMockServer_Proxy_Should_proxy_responses() RequestUri = new Uri($"{server.Urls[0]}{path}") }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - var response = await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); - string content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient(httpClientHandler).SendAsync(requestMessage); + string content = await response.Content.ReadAsStringAsync(); // Assert Check.That(server.Mappings).HasSize(1); @@ -376,7 +376,7 @@ public async Task WireMockServer_Proxy_Should_preserve_content_header_in_proxied }; requestMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); requestMessage.Content.Headers.Add("bbb", "test"); - await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient().SendAsync(requestMessage); // Assert var receivedRequest = serverForProxyForwarding.LogEntries.First().RequestMessage; @@ -425,10 +425,10 @@ public async Task WireMockServer_Proxy_Should_preserve_Authorization_header_in_p Content = new StringContent("stringContent", Encoding.ASCII) }; requestMessage.Headers.Authorization = new AuthenticationHeaderValue("BASIC", "test-A"); - var result = await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + var result = await new HttpClient().SendAsync(requestMessage); // Assert - (await result.Content.ReadAsStringAsync().ConfigureAwait(false)).Should().Be("BASIC test-A"); + (await result.Content.ReadAsStringAsync()).Should().Be("BASIC test-A"); var receivedRequest = serverForProxyForwarding.LogEntries.First().RequestMessage; receivedRequest.Headers!["Authorization"].ToString().Should().Be("BASIC test-A"); @@ -471,7 +471,7 @@ public async Task WireMockServer_Proxy_Should_exclude_ExcludedHeaders_in_mapping }; requestMessage.Headers.Add("foobar", "exact_match"); requestMessage.Headers.Add("ok", "ok-value"); - await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient().SendAsync(requestMessage); // Assert var mapping = server.Mappings.FirstOrDefault(m => m.Guid != defaultMapping.Guid); @@ -518,7 +518,7 @@ public async Task WireMockServer_Proxy_Should_exclude_ExcludedCookies_in_mapping cookieContainer.Add(new Uri("http://localhost"), new Cookie("GoodCookie", "I_should_pass")); var handler = new HttpClientHandler { CookieContainer = cookieContainer }; - await new HttpClient(handler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(handler).SendAsync(requestMessage); // Assert var mapping = server.Mappings.FirstOrDefault(m => m.Guid != defaultMapping.Guid); @@ -562,7 +562,7 @@ public async Task WireMockServer_Proxy_Should_exclude_ExcludedParams_in_mapping( RequestUri = new Uri($"{server.Urls[0]}{path}{param01}{param02}"), Content = new StringContent("stringContent"), }; - await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient().SendAsync(requestMessage); // Assert var mapping = server.Mappings.FirstOrDefault(m => m.Guid != defaultMapping.Guid); @@ -609,7 +609,7 @@ public async Task WireMockServer_Proxy_Should_replace_old_path_value_with_new_pa }; var handler = new HttpClientHandler(); - await new HttpClient(handler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(handler).SendAsync(requestMessage); // Assert var mapping = serverForProxyForwarding.Mappings.FirstOrDefault(m => m.Guid != defaultMapping.Guid); @@ -641,7 +641,7 @@ public async Task WireMockServer_Proxy_Should_preserve_content_header_in_proxied Content = new StringContent("") }; requestMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); - await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient().SendAsync(requestMessage); // Assert var receivedRequest = serverForProxyForwarding.LogEntries.First().RequestMessage; @@ -673,10 +673,10 @@ public async Task WireMockServer_Proxy_Should_preserve_content_header_in_proxied Method = HttpMethod.Get, RequestUri = new Uri($"{server.Urls[0]}{path}") }; - var response = await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + var response = await new HttpClient().SendAsync(requestMessage); // Assert - Check.That(await response.Content.ReadAsStringAsync().ConfigureAwait(false)).IsEqualTo("body"); + Check.That(await response.Content.ReadAsStringAsync()).IsEqualTo("body"); Check.That(response.Content.Headers.Contains("Content-Type")).IsTrue(); Check.That(response.Content.Headers.GetValues("Content-Type")).ContainsExactly("text/plain"); } @@ -707,7 +707,7 @@ public async Task WireMockServer_Proxy_Should_change_absolute_location_header_in RequestUri = new Uri($"{server.Urls[0]}{path}") }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - var response = await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + var response = await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert Check.That(response.Headers.Contains("Location")).IsTrue(); @@ -738,7 +738,7 @@ public async Task WireMockServer_Proxy_Should_preserve_cookie_header_in_proxied_ }; var clientHandler = new HttpClientHandler(); clientHandler.CookieContainer.Add(requestUri, new Cookie("name", "value")); - await new HttpClient(clientHandler).SendAsync(requestMessage).ConfigureAwait(false); + await new HttpClient(clientHandler).SendAsync(requestMessage); // then var receivedRequest = serverForProxyForwarding.LogEntries.First().RequestMessage; @@ -777,7 +777,7 @@ public async Task WireMockServer_Proxy_Should_preserve_binary_request_content() .RespondWith(Response.Create().WithProxy(serverForProxyForwarding.Urls[0])); // act - var response = await new HttpClient().PostAsync(server.Urls[0], new ByteArrayContent(jpegHeader)).ConfigureAwait(false); + var response = await new HttpClient().PostAsync(server.Urls[0], new ByteArrayContent(jpegHeader)); // assert Check.That(response.StatusCode).IsEqualTo(HttpStatusCode.OK); @@ -806,10 +806,10 @@ public async Task WireMockServer_Proxy_Should_set_BodyAsJson_in_proxied_response Method = HttpMethod.Get, RequestUri = new Uri($"{server.Urls[0]}{path}") }; - var response = await new HttpClient().SendAsync(requestMessage).ConfigureAwait(false); + var response = await new HttpClient().SendAsync(requestMessage); // Assert - string content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + string content = await response.Content.ReadAsStringAsync(); Check.That(content).IsEqualTo("{\"i\":42}"); Check.That(response.Content.Headers.GetValues("Content-Type")).ContainsExactly("application/json; charset=utf-8"); } @@ -837,10 +837,10 @@ public async Task WireMockServer_Proxy_Should_set_Body_in_multipart_proxied_resp { { new StringContent("data"), "test", "test.txt" } }; - var response = await new HttpClient().PostAsync(uri, form).ConfigureAwait(false); + var response = await new HttpClient().PostAsync(uri, form); // Assert - string content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + string content = await response.Content.ReadAsStringAsync(); Check.That(content).IsEqualTo("{\"i\":42}"); } @@ -872,10 +872,10 @@ public async Task WireMockServer_Proxy_Should_Not_overrule_AdminMappings() Method = HttpMethod.Get, RequestUri = new Uri($"{server.Urls[0]}{path}") }; - var response1 = await new HttpClient().SendAsync(requestMessage1).ConfigureAwait(false); + var response1 = await new HttpClient().SendAsync(requestMessage1); // Assert 1 - string content1 = await response1.Content.ReadAsStringAsync().ConfigureAwait(false); + string content1 = await response1.Content.ReadAsStringAsync(); Check.That(content1).IsEqualTo("ok"); // Act 2 @@ -884,10 +884,10 @@ public async Task WireMockServer_Proxy_Should_Not_overrule_AdminMappings() Method = HttpMethod.Get, RequestUri = new Uri($"{server.Urls[0]}/__admin/mappings") }; - var response2 = await new HttpClient().SendAsync(requestMessage2).ConfigureAwait(false); + var response2 = await new HttpClient().SendAsync(requestMessage2); // Assert 2 - string content2 = await response2.Content.ReadAsStringAsync().ConfigureAwait(false); + string content2 = await response2.Content.ReadAsStringAsync(); Check.That(content2).IsEqualTo("[]"); } @@ -913,12 +913,12 @@ public async Task WireMockServer_Proxy_WhenTargetIsNotAvailable_Should_Return_Co RequestUri = new Uri(server.Urls[0]) }; var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false }; - var result = await new HttpClient(httpClientHandler).SendAsync(requestMessage).ConfigureAwait(false); + var result = await new HttpClient(httpClientHandler).SendAsync(requestMessage); // Assert result.StatusCode.Should().Be(HttpStatusCode.InternalServerError); - var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false); + var content = await result.Content.ReadAsStringAsync(); content.Should().NotBeEmpty(); server.LogEntries.Should().HaveCount(1); diff --git a/test/WireMock.Net.Tests/WireMockServer.Proxy2.cs b/test/WireMock.Net.Tests/WireMockServer.Proxy2.cs index 9fa748ead..6addd2701 100644 --- a/test/WireMock.Net.Tests/WireMockServer.Proxy2.cs +++ b/test/WireMock.Net.Tests/WireMockServer.Proxy2.cs @@ -37,8 +37,8 @@ public async Task WireMockServer_ProxyAndRecordSettings_ShouldProxy() request.Headers.Add("prx", "1"); // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - string content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + string content = await response.Content.ReadAsStringAsync(); Check.That(content).IsEqualTo("{\"p\":42}"); Check.That(response.StatusCode).IsEqualTo(HttpStatusCode.Created); diff --git a/test/WireMock.Net.Tests/WireMockServer.WebhookTests.cs b/test/WireMock.Net.Tests/WireMockServer.WebhookTests.cs index d082528c2..00b41e7b4 100644 --- a/test/WireMock.Net.Tests/WireMockServer.WebhookTests.cs +++ b/test/WireMock.Net.Tests/WireMockServer.WebhookTests.cs @@ -75,8 +75,8 @@ public async Task WireMockServer_WithWebhooks_Should_Send_Message_To_Webhooks() }; // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Should().Be("a-response"); @@ -124,8 +124,8 @@ public async Task WireMockServer_WithWebhook_Should_Send_Message_To_Webhook() }; // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Should().Be("a-response"); @@ -180,8 +180,8 @@ public async Task WireMockServer_WithWebhook_When_WebhookEndPointReturnsError_Sh }; // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Should().Be("a-response"); @@ -235,8 +235,8 @@ public async Task WireMockServer_WithWebhook_When_WebhookEndPointDoesNotExists_S }; // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Should().Be("a-response"); @@ -267,8 +267,8 @@ public async Task WireMockServer_WithWebhookArgs_Should_Send_StringMessage_To_We }; // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Should().Be("a-response"); @@ -301,8 +301,8 @@ public async Task WireMockServer_WithWebhookArgs_Should_Send_JsonMessage_To_Webh }; // Assert - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); - var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Should().Be("a-response"); diff --git a/test/WireMock.Net.Tests/WireMockServerTests.ClientCertificate.cs b/test/WireMock.Net.Tests/WireMockServerTests.ClientCertificate.cs index 93ee9a844..cee6e056c 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.ClientCertificate.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.ClientCertificate.cs @@ -1,7 +1,6 @@ // Copyright © WireMock.Net -#if !NET451 && !NET452 - +//#if !NET451 && !NET452 using System.Net; using System.Net.Http; using System.Threading.Tasks; @@ -49,13 +48,10 @@ public async Task WireMockServer_WithRequiredClientCertificates_Should_Work_Corr httpMessageHandler.ClientCertificates.AddRange(certificates); // Act - var response = await new HttpClient(httpMessageHandler) - .GetAsync("https://localhost:" + server.Ports[0] + "/foo") - .ConfigureAwait(false); + var response = await new HttpClient(httpMessageHandler).GetAsync("https://localhost:" + server.Ports[0] + "/foo"); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); } } - -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/WireMockServerTests.WithBody.cs b/test/WireMock.Net.Tests/WireMockServerTests.WithBody.cs index 217588c10..51ec03a19 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.WithBody.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.WithBody.cs @@ -7,6 +7,7 @@ using System.Net; using System.Net.Http; using System.Net.Http.Headers; +using System.Net.Http.Json; using System.Text; using System.Threading.Tasks; using FluentAssertions; @@ -64,7 +65,7 @@ public async Task WireMockServer_WithBodyAsJson_Using_PostAsJsonAsync_And_Multip var requestUri = new Uri($"http://localhost:{server.Port}/a"); var json = new { requestId = "1", value = "A" }; - var response = await server.CreateClient().PostAsJsonAsync(requestUri, json).ConfigureAwait(false); + var response = await server.CreateClient().PostAsJsonAsync(requestUri, json); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -114,7 +115,7 @@ public async Task WireMockServer_WithBodyAsJson_Using_PostAsJsonAsync_And_Multip var requestUri = new Uri($"http://localhost:{server.Port}/a"); var json = new { extra = "X", requestId = "1", value = "A" }; - var response = await server.CreateClient().PostAsJsonAsync(requestUri, json).ConfigureAwait(false); + var response = await server.CreateClient().PostAsJsonAsync(requestUri, json); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -140,7 +141,7 @@ public async Task WireMockServer_WithBodyAsJson_Using_PostAsJsonAsync_And_Wildca }; // Act - var response = await new HttpClient().PostAsJsonAsync("http://localhost:" + server.Ports[0] + "/foo", jsonObject).ConfigureAwait(false); + var response = await new HttpClient().PostAsJsonAsync("http://localhost:" + server.Ports[0] + "/foo", jsonObject); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -161,7 +162,7 @@ public async Task WireMockServer_WithBodyAsJson_Using_PostAsync_And_WildcardMatc ); // Act - var response = await new HttpClient().PostAsync("http://localhost:" + server.Ports[0] + "/foo", new StringContent("{ Hi = \"Hello World\" }")).ConfigureAwait(false); + var response = await new HttpClient().PostAsync("http://localhost:" + server.Ports[0] + "/foo", new StringContent("{ Hi = \"Hello World\" }")); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -194,7 +195,7 @@ public async Task WireMockServer_WithBodyAsJson_Using_PostAsync_And_JsonPartialW var content = "{\"jsonrpc\":\"2.0\",\"id\":\"ec475f56d4694b48bc737500ba575b35-1\",\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"GitHub Test\",\"version\":\"1.0.0\"}}}"; var response = await new HttpClient() .PostAsync($"{server.Url}/foo", new StringContent(content, Encoding.UTF8, "application/json")) - .ConfigureAwait(false); +; // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -222,7 +223,7 @@ public async Task WireMockServer_WithBodyAsFormUrlEncoded_Using_PostAsync_And_Wi var content = new FormUrlEncodedContent(new[] { new KeyValuePair("key1", "value1") }); var response = await new HttpClient() .PostAsync($"{server.Url}/foo", content) - .ConfigureAwait(false); +; // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -255,7 +256,7 @@ public async Task WireMockServer_WithBodyAsFormUrlEncoded_Using_PostAsync_And_Wi }); var response = await new HttpClient() .PostAsync($"{server.Url}/foo", content) - .ConfigureAwait(false); +; // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -299,7 +300,7 @@ public async Task WireMockServer_WithBodyAsFormUrlEncoded_Using_PostAsync_And_Wi }); var responseOrdered = await new HttpClient() .PostAsync($"{server.Url}/foo", contentOrdered) - .ConfigureAwait(false); +; // Assert 1 responseOrdered.StatusCode.Should().Be(HttpStatusCode.OK); @@ -313,7 +314,7 @@ public async Task WireMockServer_WithBodyAsFormUrlEncoded_Using_PostAsync_And_Wi }); var responseUnordered = await new HttpClient() .PostAsync($"{server.Url}/bar", contentUnordered) - .ConfigureAwait(false); +; // Assert 2 responseUnordered.StatusCode.Should().Be(HttpStatusCode.OK); @@ -360,7 +361,7 @@ public async Task WireMockServer_WithSseBody() // Act 1 var normal = await new HttpClient() .GetAsync(server.Url) - .ConfigureAwait(false); +; (await normal.Content.ReadAsStringAsync()).Should().Be("normal"); // Act 2 diff --git a/test/WireMock.Net.Tests/WireMockServerTests.WithCallback.cs b/test/WireMock.Net.Tests/WireMockServerTests.WithCallback.cs index 5b480942d..505fdfe00 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.WithCallback.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.WithCallback.cs @@ -30,7 +30,7 @@ public async Task WireMockServer_WithCallback_Should_Use_StatusCodeFromResponse( // Act var httpClient = new HttpClient(); - var response = await httpClient.PostAsync("http://localhost:" + server.Ports[0] + "/foo", new StringContent("dummy")).ConfigureAwait(false); + var response = await httpClient.PostAsync("http://localhost:" + server.Ports[0] + "/foo", new StringContent("dummy")); // Assert response.StatusCode.Should().Be(HttpStatusCode.Conflict); diff --git a/test/WireMock.Net.Tests/WireMockServerTests.WithMultiPart.cs b/test/WireMock.Net.Tests/WireMockServerTests.WithMultiPart.cs index ef9c23ef7..bfbe40675 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.WithMultiPart.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.WithMultiPart.cs @@ -1,6 +1,6 @@ // Copyright © WireMock.Net -#if MIMEKIT +//#if MIMEKIT using System; using System.Net; using System.Net.Http; @@ -74,4 +74,4 @@ public async Task WireMockServer_WithMultiPartBody_Using_MimePartMatchers() server.Stop(); } } -#endif \ No newline at end of file +//#endif \ No newline at end of file diff --git a/test/WireMock.Net.Tests/WireMockServerTests.WithParam.cs b/test/WireMock.Net.Tests/WireMockServerTests.WithParam.cs index 0a7ed22d1..0204bf819 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.WithParam.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.WithParam.cs @@ -40,7 +40,7 @@ public async Task WireMockServer_WithParam_QueryParameterMultipleValueSupport_No // Act var requestUri = new Uri($"http://localhost:{server.Port}/foo?query={queryValue}"); - var response = await server.CreateClient().GetAsync(requestUri).ConfigureAwait(false); + var response = await server.CreateClient().GetAsync(requestUri); // Assert response.StatusCode.Should().Be(HttpStatusCode.Accepted); @@ -64,7 +64,7 @@ public async Task WireMockServer_WithParam_MultiValueComma() // Act var requestUri = new Uri($"http://localhost:{server.Port}/foo?query={queryValue}"); - var response = await server.CreateClient().GetAsync(requestUri).ConfigureAwait(false); + var response = await server.CreateClient().GetAsync(requestUri); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -87,7 +87,7 @@ public async Task WireMockServer_WithParam_RejectOnMatch_OnNonMatchingParam_Shou // Act var requestUri = new Uri($"http://localhost:{server.Port}/v1/person/workers?showsourcesystem=true&count=700&page=1§ions=personal%2Corganizations%2Cemployment"); - var response = await server.CreateClient().GetAsync(requestUri).ConfigureAwait(false); + var response = await server.CreateClient().GetAsync(requestUri); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -110,7 +110,7 @@ public async Task WireMockServer_WithParam_AcceptOnMatch_OnNonMatchingParam_Shou // Act var requestUri = new Uri($"http://localhost:{server.Port}/v1/person/workers?showsourcesystem=true&count=700&page=1§ions=personal%2Corganizations%2Cemployment"); - var response = await server.CreateClient().GetAsync(requestUri).ConfigureAwait(false); + var response = await server.CreateClient().GetAsync(requestUri); // Assert response.StatusCode.Should().Be(HttpStatusCode.NotFound); diff --git a/test/WireMock.Net.Tests/WireMockServerTests.WithProbability.cs b/test/WireMock.Net.Tests/WireMockServerTests.WithProbability.cs index 458d71493..4bfcdeea6 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.WithProbability.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.WithProbability.cs @@ -29,7 +29,7 @@ public async Task WireMockServer_WithProbability() // Act var requestUri = new Uri($"http://localhost:{server.Port}/foo"); - var response = await server.CreateClient().GetAsync(requestUri).ConfigureAwait(false); + var response = await server.CreateClient().GetAsync(requestUri); // Assert Assert.True(new[] { HttpStatusCode.OK, HttpStatusCode.InternalServerError }.Contains(response.StatusCode)); diff --git a/test/WireMock.Net.Tests/WireMockServerTests.cs b/test/WireMock.Net.Tests/WireMockServerTests.cs index acd4d44db..6d8cbed1d 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.cs @@ -74,7 +74,7 @@ public async Task WireMockServer_Should_Reset_LogEntries() var server = WireMockServer.Start(); // Act - await server.CreateClient().GetAsync("/foo").ConfigureAwait(false); + await server.CreateClient().GetAsync("/foo"); server.ResetLogEntries(); // Assert @@ -102,7 +102,7 @@ public void WireMockServer_Should_reset_mappings() // then Check.That(server.Mappings).IsEmpty(); - Check.ThatAsyncCode(() => new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path)).ThrowsAny(); + Check.ThatCode(() => new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path)).ThrowsAny(); server.Stop(); } @@ -136,7 +136,7 @@ public async Task WireMockServer_Should_Support_Https() using var client = new HttpClient(handler); // Act - var result = await client.GetStringAsync($"{server.Url}{path}").ConfigureAwait(false); + var result = await client.GetStringAsync($"{server.Url}{path}"); // Assert result.Should().Be(body); @@ -184,7 +184,7 @@ public async Task WireMockServer_When_HttpClientWithWebProxyCallsHttp_Should_Wor { HttpClient.DefaultProxy = new WebProxy(httpUrl, false); - result = await new HttpClient().GetStringAsync(httpUrl).ConfigureAwait(false); + result = await new HttpClient().GetStringAsync(httpUrl); } finally { @@ -289,7 +289,7 @@ public async Task WireMockServer_Should_respond_a_redirect_without_body() .WithBody("REDIRECT SUCCESSFUL")); // Act - var response = await new HttpClient().GetStringAsync($"http://localhost:{server.Ports[0]}{path}").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync($"http://localhost:{server.Ports[0]}{path}"); // Assert Check.That(response).IsEqualTo("REDIRECT SUCCESSFUL"); @@ -311,7 +311,7 @@ public async Task WireMockServer_WithCorsPolicyOptions_Should_Work_Correct() server.Given(Request.Create().WithPath("/*")).RespondWith(Response.Create().WithBody("x")); // Act - var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/foo").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/foo"); // Assert response.Should().Be("x"); @@ -336,7 +336,7 @@ public async Task WireMockServer_Should_delay_responses_for_a_given_route() // Act var watch = new Stopwatch(); watch.Start(); - await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/foo").ConfigureAwait(false); + await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/foo"); watch.Stop(); // Assert @@ -370,9 +370,9 @@ async Task ExecuteTimedRequestAsync() } // Act - await ExecuteTimedRequestAsync().ConfigureAwait(false); - await ExecuteTimedRequestAsync().ConfigureAwait(false); - await ExecuteTimedRequestAsync().ConfigureAwait(false); + await ExecuteTimedRequestAsync(); + await ExecuteTimedRequestAsync(); + await ExecuteTimedRequestAsync(); server.Stop(); } @@ -390,7 +390,7 @@ public async Task WireMockServer_Should_delay_responses() // Act var watch = new Stopwatch(); watch.Start(); - await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/foo").ConfigureAwait(false); + await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + "/foo"); watch.Stop(); // Assert @@ -428,7 +428,7 @@ public async Task WireMockServer_Should_Exclude_RestrictedResponseHeader() .RespondWith(Response.Create().WithHeader("Transfer-Encoding", "chunked").WithHeader("test", "t")); // Act - var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + path).ConfigureAwait(false); + var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + path); // Assert Check.That(response.Headers.Contains("test")).IsTrue(); @@ -451,7 +451,7 @@ public async Task WireMockServer_Should_AllowResponseHeaderContentLength_For_HEA // Act var httpRequestMessage = new HttpRequestMessage(HttpMethod.Head, path); - var response = await server.CreateClient().SendAsync(httpRequestMessage).ConfigureAwait(false); + var response = await server.CreateClient().SendAsync(httpRequestMessage); // Assert response.Content.Headers.GetValues(HttpKnownHeaderNames.ContentLength).Should().Contain(length); @@ -479,7 +479,7 @@ public async Task WireMockServer_Should_exclude_body_for_methods_where_body_is_d // Act var request = new HttpRequestMessage(new HttpMethod(method), "http://localhost:" + server.Ports[0] + "/"); request.Content = new StringContent(content); - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); // Assert Check.That(response.StatusCode).Equals(HttpStatusCode.OK); @@ -513,7 +513,7 @@ public async Task WireMockServer_Should_not_exclude_body_for_supported_methods(s // Act var request = new HttpRequestMessage(new HttpMethod(method), "http://localhost:" + server.Ports[0] + "/"); request.Content = new StringContent(content); - var response = await new HttpClient().SendAsync(request).ConfigureAwait(false); + var response = await new HttpClient().SendAsync(request); // Assert Check.That(response.StatusCode).Equals(HttpStatusCode.OK); @@ -547,11 +547,11 @@ public async Task WireMockServer_Should_AcceptPostMappingsWithContentTypeJsonAnd var server = WireMockServer.StartWithAdminInterface(); // Act - var response = await new HttpClient().PostAsync($"{server.Url}/__admin/mappings", stringContent).ConfigureAwait(false); + var response = await new HttpClient().PostAsync($"{server.Url}/__admin/mappings", stringContent); // Assert Check.That(response.StatusCode).Equals(HttpStatusCode.Created); - Check.That(await response.Content.ReadAsStringAsync().ConfigureAwait(false)).Contains("Mapping added"); + Check.That(await response.Content.ReadAsStringAsync()).Contains("Mapping added"); server.Stop(); } @@ -580,10 +580,10 @@ public async Task WireMockServer_Should_SupportRequestGZipAndDeflate(string cont content.Headers.ContentEncoding.Add(contentEncoding); // Act - var response = await new HttpClient().PostAsync($"{server.Urls[0]}/foo", content).ConfigureAwait(false); + var response = await new HttpClient().PostAsync($"{server.Urls[0]}/foo", content); // Assert - Check.That(await response.Content.ReadAsStringAsync().ConfigureAwait(false)).Contains("OK"); + Check.That(await response.Content.ReadAsStringAsync()).Contains("OK"); server.Stop(); } @@ -603,7 +603,7 @@ public async Task WireMockServer_Should_respond_to_ipv4_loopback() .WithBody("from ipv4 loopback")); // Act - var response = await new HttpClient().GetStringAsync($"http://127.0.0.1:{server.Ports[0]}/foo").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync($"http://127.0.0.1:{server.Ports[0]}/foo"); // Assert Check.That(response).IsEqualTo("from ipv4 loopback"); @@ -625,7 +625,7 @@ public async Task WireMockServer_Should_respond_to_ipv6_loopback() .WithBody("from ipv6 loopback")); // Act - var response = await new HttpClient().GetStringAsync($"http://[::1]:{server.Ports[0]}/foo").ConfigureAwait(false); + var response = await new HttpClient().GetStringAsync($"http://[::1]:{server.Ports[0]}/foo"); // Assert Check.That(response).IsEqualTo("from ipv6 loopback"); @@ -672,7 +672,7 @@ public async Task WireMockServer_Using_JsonMapping_And_CustomMatcher_WithCorrect }"); // Act - var response = await new HttpClient().PostAsync("http://localhost:" + server.Ports[0] + "/customer/132/document/pic.jpg", new StringContent("{ Hi = \"Hello World\" }")).ConfigureAwait(false); + var response = await new HttpClient().PostAsync("http://localhost:" + server.Ports[0] + "/customer/132/document/pic.jpg", new StringContent("{ Hi = \"Hello World\" }")); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); @@ -719,7 +719,7 @@ public async Task WireMockServer_Using_JsonMapping_And_CustomMatcher_WithIncorre }"); // Act - var response = await new HttpClient().PostAsync("http://localhost:" + server.Ports[0] + "/customer/132/document/pic", new StringContent("{ Hi = \"Hello World\" }")).ConfigureAwait(false); + var response = await new HttpClient().PostAsync("http://localhost:" + server.Ports[0] + "/customer/132/document/pic", new StringContent("{ Hi = \"Hello World\" }")); // Assert response.StatusCode.Should().Be(HttpStatusCode.NotFound);