diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddict.Server.AspNetCore.IntegrationTests.csproj b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddict.Server.AspNetCore.IntegrationTests.csproj
index e61c3a2d..b25c217b 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddict.Server.AspNetCore.IntegrationTests.csproj
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddict.Server.AspNetCore.IntegrationTests.csproj
@@ -21,4 +21,9 @@
+
+ $(DefineConstants);SUPPORTS_GENERIC_HOST
+
+
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTestServer.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTestServer.cs
new file mode 100644
index 00000000..3a8d8705
--- /dev/null
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTestServer.cs
@@ -0,0 +1,64 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+ * See https://github.com/openiddict/openiddict-core for more information concerning
+ * the license and the contributors participating to this project.
+ */
+
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.TestHost;
+using Microsoft.Extensions.Hosting;
+using OpenIddict.Server.FunctionalTests;
+
+namespace OpenIddict.Server.AspNetCore.FunctionalTests
+{
+ ///
+ /// Represents a test host used by the server integration tests.
+ ///
+ public class OpenIddictServerAspNetCoreIntegrationTestServer : OpenIddictServerIntegrationTestServer
+ {
+ public OpenIddictServerAspNetCoreIntegrationTestServer(TestServer server)
+ => Server = server;
+
+#if SUPPORTS_GENERIC_HOST
+ public OpenIddictServerAspNetCoreIntegrationTestServer(IHost host)
+ {
+ Host = host;
+ Server = host.GetTestServer();
+ }
+#endif
+
+ ///
+ /// Gets the ASP.NET Core test server used by this instance.
+ ///
+ public TestServer Server { get; }
+
+#if SUPPORTS_GENERIC_HOST
+ ///
+ /// Gets the generic host used by this instance.
+ ///
+ public IHost Host { get; }
+#endif
+
+ public override ValueTask CreateClientAsync()
+ => new ValueTask(
+ new OpenIddictServerIntegrationTestClient(Server.CreateClient()));
+
+ public override
+#if SUPPORTS_GENERIC_HOST
+ async
+#endif
+ ValueTask DisposeAsync()
+ {
+ // Dispose of the underlying test server.
+ Server.Dispose();
+
+#if SUPPORTS_GENERIC_HOST
+ // Stop and dispose of the underlying generic host.
+ await Host.StopAsync();
+ Host.Dispose();
+#else
+ return default;
+#endif
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Authentication.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Authentication.cs
index 30a5dd66..6044eab1 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Authentication.cs
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Authentication.cs
@@ -19,7 +19,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractAuthorizationRequest_RequestIdParameterIsRejectedWhenRequestCachingIsDisabled()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -36,7 +37,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractAuthorizationRequest_InvalidRequestIdParameterIsRejected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddDistributedMemoryCache();
@@ -44,6 +45,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
.EnableAuthorizationEndpointCaching();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Exchange.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Exchange.cs
index d5635587..ac39470a 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Exchange.cs
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Exchange.cs
@@ -21,7 +21,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractTokenRequest_MultipleClientCredentialsCauseAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -39,6 +39,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Introspection.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Introspection.cs
index abd90b5c..d0794cc6 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Introspection.cs
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Introspection.cs
@@ -21,7 +21,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractIntrospectionRequest_MultipleClientCredentialsCauseAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -39,6 +39,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Revocation.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Revocation.cs
index ebb801aa..a622a724 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Revocation.cs
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Revocation.cs
@@ -21,7 +21,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractRevocationRequest_MultipleClientCredentialsCauseAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -39,6 +39,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Session.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Session.cs
index 1fd8b9fc..665f2768 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Session.cs
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.Session.cs
@@ -19,7 +19,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractLogoutRequest_RequestIdParameterIsRejectedWhenRequestCachingIsDisabled()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
@@ -36,7 +37,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ExtractLogoutRequest_InvalidRequestIdParameterIsRejected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddDistributedMemoryCache();
@@ -44,6 +45,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
.EnableLogoutEndpointCaching();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.cs b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.cs
index 110393b7..08d4902e 100644
--- a/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.cs
+++ b/test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddictServerAspNetCoreIntegrationTests.cs
@@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.TestHost;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
using OpenIddict.Abstractions;
using OpenIddict.Server.FunctionalTests;
using Xunit;
@@ -31,7 +32,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessChallenge_ReturnsParametersFromAuthenticationProperties()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/challenge/custom");
@@ -45,6 +46,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge/custom", new OpenIddictRequest
{
@@ -70,7 +73,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessChallenge_ReturnsErrorFromAuthenticationProperties()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/challenge/custom");
@@ -84,6 +87,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge/custom", new OpenIddictRequest
{
@@ -168,10 +173,10 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
[InlineData("/.WELL-KNOWN/JWKS/SUBPATH", OpenIddictServerEndpointType.Unknown)]
[InlineData("/.well-known/jwks/subpath/", OpenIddictServerEndpointType.Unknown)]
[InlineData("/.WELL-KNOWN/JWKS/SUBPATH/", OpenIddictServerEndpointType.Unknown)]
- public Task ProcessRequest_MatchesCorrespondingEndpoint(string path, OpenIddictServerEndpointType type)
+ public async Task ProcessRequest_MatchesCorrespondingEndpoint(string path, OpenIddictServerEndpointType type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -185,8 +190,10 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
- return client.PostAsync(path, new OpenIddictRequest());
+ await client.PostAsync(path, new OpenIddictRequest());
}
[Theory]
@@ -199,10 +206,10 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
[InlineData("/custom/connect/userinfo", OpenIddictServerEndpointType.Userinfo)]
[InlineData("/custom/.well-known/openid-configuration", OpenIddictServerEndpointType.Configuration)]
[InlineData("/custom/.well-known/jwks", OpenIddictServerEndpointType.Cryptography)]
- public Task ProcessRequest_AllowsOverridingEndpoint(string address, OpenIddictServerEndpointType type)
+ public async Task ProcessRequest_AllowsOverridingEndpoint(string address, OpenIddictServerEndpointType type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -223,8 +230,10 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
- return client.PostAsync(address, new OpenIddictRequest());
+ await client.PostAsync(address, new OpenIddictRequest());
}
[Theory]
@@ -239,7 +248,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessRequest_RejectsInsecureHttpRequests(string address)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -247,6 +256,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
.Configure(options => options.DisableTransportSecurityRequirement = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync(address, new OpenIddictRequest());
@@ -268,7 +279,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessRequest_AllowsHandlingResponse(string address)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -286,6 +297,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync(address, new OpenIddictRequest());
@@ -306,7 +319,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessRequest_AllowsSkippingHandler(string address)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -319,6 +332,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync(address, new OpenIddictRequest());
@@ -330,7 +345,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessSignIn_ReturnsParametersFromAuthenticationProperties()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/signin/custom");
@@ -344,6 +359,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/signin/custom", new OpenIddictRequest
{
@@ -369,7 +386,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
public async Task ProcessSignOut_ReturnsParametersFromAuthenticationProperties()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/signout/custom");
@@ -383,6 +400,8 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/signout/custom", new OpenIddictRequest
{
@@ -396,10 +415,17 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
Assert.Equal("Bob l'Eponge", (string) response["string_parameter"]);
}
- protected override OpenIddictServerIntegrationTestClient CreateClient(Action configuration = null)
+ protected override
+#if SUPPORTS_GENERIC_HOST
+ async
+#endif
+ ValueTask CreateServerAsync(Action configuration = null)
{
+#if SUPPORTS_GENERIC_HOST
+ var builder = new HostBuilder();
+#else
var builder = new WebHostBuilder();
-
+#endif
builder.UseEnvironment("Testing");
builder.ConfigureServices(ConfigureServices);
@@ -416,7 +442,27 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
});
});
- builder.Configure(app =>
+#if SUPPORTS_GENERIC_HOST
+ builder.ConfigureWebHost(options =>
+ {
+ options.UseTestServer();
+ options.Configure(ConfigurePipeline);
+ });
+#else
+ builder.Configure(ConfigurePipeline);
+#endif
+
+#if SUPPORTS_GENERIC_HOST
+ var host = await builder.StartAsync();
+
+ return new OpenIddictServerAspNetCoreIntegrationTestServer(host);
+#else
+ var server = new TestServer(builder);
+
+ return new ValueTask(new OpenIddictServerAspNetCoreIntegrationTestServer(server));
+#endif
+
+ void ConfigurePipeline(IApplicationBuilder app)
{
app.Use(next => async context =>
{
@@ -544,10 +590,7 @@ namespace OpenIddict.Server.AspNetCore.FunctionalTests
name = "Bob le Magnifique"
}));
});
- });
-
- var server = new TestServer(builder);
- return new OpenIddictServerIntegrationTestClient(server.CreateClient());
+ }
}
}
}
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestClient.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestClient.cs
index d2efaa09..e1798de4 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestClient.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestClient.cs
@@ -23,7 +23,7 @@ namespace OpenIddict.Server.FunctionalTests
/// Exposes methods that allow sending OpenID Connect
/// requests and extracting the corresponding responses.
///
- public class OpenIddictServerIntegrationTestClient
+ public class OpenIddictServerIntegrationTestClient : IAsyncDisposable
{
///
/// Initializes a new instance of the OpenID Connect client.
@@ -500,5 +500,12 @@ namespace OpenIddict.Server.FunctionalTests
return new OpenIddictResponse();
}
+
+ public ValueTask DisposeAsync()
+ {
+ HttpClient.Dispose();
+
+ return default;
+ }
}
}
\ No newline at end of file
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestServer.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestServer.cs
new file mode 100644
index 00000000..308134f7
--- /dev/null
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTestServer.cs
@@ -0,0 +1,21 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+ * See https://github.com/openiddict/openiddict-core for more information concerning
+ * the license and the contributors participating to this project.
+ */
+
+using System;
+using System.Threading.Tasks;
+
+namespace OpenIddict.Server.FunctionalTests
+{
+ ///
+ /// Represents a test host used by the server integration tests.
+ ///
+ public abstract class OpenIddictServerIntegrationTestServer : IAsyncDisposable
+ {
+ public abstract ValueTask CreateClientAsync();
+
+ public virtual ValueTask DisposeAsync() => default;
+ }
+}
\ No newline at end of file
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Authentication.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Authentication.cs
index 0a51ba19..307e9177 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Authentication.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Authentication.cs
@@ -32,7 +32,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractAuthorizationRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/connect/authorize", new OpenIddictRequest());
@@ -46,7 +47,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractAuthorizationRequest_UnsupportedRequestParameterIsRejected()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -69,7 +71,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractAuthorizationRequest_UnsupportedRequestUriParameterIsRejected()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -97,7 +100,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractAuthorizationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -110,6 +113,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/authorize");
@@ -123,7 +128,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractAuthorizationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -141,6 +146,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/authorize");
@@ -152,7 +159,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractAuthorizationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -165,6 +172,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/authorize");
@@ -176,7 +185,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingClientIdCausesAnError()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -193,7 +203,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingRedirectUriCausesAnErrorForOpenIdRequests()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -216,7 +227,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_InvalidRedirectUriCausesAnError(string address, string message)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -235,7 +247,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingResponseTypeCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -261,7 +274,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_UnsafeResponseModeCausesAnError(string type, string mode)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -288,7 +302,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingNonceCausesAnErrorForOpenIdRequests(string type)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -312,7 +327,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingOpenIdScopeCausesAnErrorForOpenIdRequests(string type)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -334,7 +350,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_InvalidPromptCausesAnError(string prompt)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -364,7 +381,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_ValidPromptDoesNotCauseAnError(string prompt)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -378,6 +395,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -404,7 +423,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingCodeResponseTypeCausesAnErrorWhenCodeChallengeIsUsed(string type)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -428,7 +448,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingCodeChallengeCausesAnErrorWhenCodeChallengeMethodIsSpecified()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -449,7 +470,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_InvalidCodeChallengeMethodCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -471,7 +493,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_NoneFlowIsRejected()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -490,7 +513,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_UnknownResponseTypeParameterIsRejected()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -519,11 +543,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsRejectedWhenCorrespondingFlowIsDisabled(string flow, string type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.GrantTypes.Remove(flow));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -543,7 +569,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsRejectedWhenUnregisteredScopeIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(CreateApplicationManager(mock =>
{
@@ -568,6 +594,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -586,7 +614,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsValidatedWhenScopeRegisteredInOptionsIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.RegisterScopes("registered_scope");
options.SetRevocationEndpointUris(Array.Empty());
@@ -631,6 +659,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -652,7 +682,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsValidatedWhenRegisteredScopeIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
var scope = new OpenIddictScope();
@@ -696,6 +726,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -717,11 +749,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestWithOfflineAccessScopeIsRejectedWhenRefreshTokenFlowIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.GrantTypes.Remove(GrantTypes.RefreshToken));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -740,7 +774,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_UnknownResponseModeParameterIsRejected()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -760,7 +795,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsRejectedWhenCodeChallengeMethodIsMissing()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -781,13 +817,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsRejectedWhenCodeChallengeMethodIsNotEnabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.Services.PostConfigure(options =>
options.CodeChallengeMethods.Clear());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -807,7 +845,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsRejectedWhenPlainCodeChallengeMethodIsNotExplicitlyEnabled()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -831,7 +870,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsValidatedWhenCodeChallengeMethodIsRegistered(string method)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.Configure(options => options.CodeChallengeMethods.Clear());
@@ -847,6 +886,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -870,7 +911,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_PkceRequestWithForbiddenResponseTypeIsRejected(string type)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -893,7 +935,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_RequestIsRejectedWhenRedirectUriIsMissing()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -913,7 +956,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_MissingRedirectUriCausesAnException()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
@@ -934,7 +978,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_InvalidRedirectUriCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -947,6 +991,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -973,11 +1019,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1012,11 +1060,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1054,13 +1104,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreEndpointPermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1128,13 +1180,15 @@ namespace OpenIddict.Server.FunctionalTests
}
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreGrantTypePermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1176,13 +1230,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreGrantTypePermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1215,11 +1271,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1259,13 +1317,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.RegisterScopes(Scopes.Email, Scopes.Profile);
options.Configure(options => options.IgnoreScopePermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1308,11 +1368,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1351,7 +1413,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetRevocationEndpointUris(Array.Empty());
options.DisableAuthorizationStorage();
@@ -1370,6 +1432,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1407,7 +1471,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetRevocationEndpointUris(Array.Empty());
options.DisableAuthorizationStorage();
@@ -1426,6 +1490,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1455,7 +1521,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1468,6 +1534,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1487,7 +1555,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1505,6 +1573,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1522,7 +1592,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateAuthorizationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1535,6 +1605,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1559,7 +1631,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleAuthorizationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1572,6 +1644,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1591,7 +1665,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleAuthorizationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1609,6 +1683,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1626,7 +1702,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleAuthorizationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1639,6 +1715,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1663,7 +1741,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyAuthorizationResponse_ResponseModeIsAutomaticallyInferred(string type, string mode)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1685,6 +1763,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1703,7 +1783,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyAuthorizationResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1730,6 +1810,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1747,7 +1829,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyAuthorizationResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1774,6 +1856,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1796,7 +1880,7 @@ namespace OpenIddict.Server.FunctionalTests
// To emulate this behavior, the error property is manually set to null.
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1809,6 +1893,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -1826,7 +1912,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyAuthorizationResponse_DoesNotSetStateWhenUserIsNotRedirected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1848,6 +1934,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1864,7 +1952,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyAuthorizationResponse_FlowsStateWhenRedirectUriIsUsed()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1878,6 +1966,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1895,7 +1985,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyAuthorizationResponse_DoesNotOverrideStateSetByApplicationCode()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1917,6 +2007,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1939,7 +2031,7 @@ namespace OpenIddict.Server.FunctionalTests
// as validated and a signin grant is applied to return an authorization response.
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1953,6 +2045,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Discovery.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Discovery.cs
index 03e70ebc..f5026dd1 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Discovery.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Discovery.cs
@@ -31,7 +31,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractConfigurationRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/.well-known/openid-configuration", new OpenIddictRequest());
@@ -52,7 +53,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractConfigurationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -65,6 +66,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -78,7 +81,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractConfigurationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -96,6 +99,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -107,7 +112,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractConfigurationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -120,6 +125,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -138,7 +145,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateConfigurationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -151,6 +158,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -164,7 +173,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateConfigurationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -182,6 +191,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -193,7 +204,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateConfigurationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -206,6 +217,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -217,7 +230,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_IssuerIsAutomaticallyInferred()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -231,11 +245,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_RegisteredIssuerIsAlwaysPreferred()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetIssuer(new Uri("https://www.fabrikam.com/"));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -248,7 +264,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_AbsoluteEndpointsAreCorrectlyExposed()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetAuthorizationEndpointUris("https://www.fabrikam.com/path/authorization_endpoint")
.SetCryptographyEndpointUris("https://www.fabrikam.com/path/cryptography_endpoint")
@@ -260,6 +276,8 @@ namespace OpenIddict.Server.FunctionalTests
.SetUserinfoEndpointUris("https://www.fabrikam.com/path/userinfo_endpoint");
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -340,7 +358,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_RelativeEndpointsAreCorrectlyComputed(string issuer, string[] endpoints)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetIssuer(new Uri(issuer, UriKind.Absolute));
@@ -354,6 +372,8 @@ namespace OpenIddict.Server.FunctionalTests
.SetUserinfoEndpointUris(endpoints[7]);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -387,13 +407,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoClientAuthenticationMethodIsIncludedWhenTokenEndpointIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.GrantTypes.Clear());
options.Configure(options => options.GrantTypes.Add(GrantTypes.Implicit));
options.SetTokenEndpointUris(Array.Empty());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -405,7 +427,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_SupportedClientAuthenticationMethodsAreIncludedWhenTokenEndpointIsEnabled()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -420,11 +443,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoClientAuthenticationMethodIsIncludedWhenIntrospectionEndpointIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetIntrospectionEndpointUris(Array.Empty());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -436,7 +461,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_SupportedClientAuthenticationMethodsAreIncludedWhenIntrospectionEndpointIsEnabled()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -451,11 +477,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoClientAuthenticationMethodIsIncludedWhenRevocationEndpointIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetRevocationEndpointUris(Array.Empty());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -467,7 +495,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_SupportedClientAuthenticationMethodsAreIncludedWhenRevocationEndpointIsEnabled()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -482,13 +511,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_ConfiguredGrantTypesAreReturned()
{
// Arrange
- var client = CreateClient(options => options.Services.PostConfigure(options =>
+ await using var server = await CreateServerAsync(options => options.Services.PostConfigure(options =>
{
options.GrantTypes.Clear();
options.GrantTypes.Add(GrantTypes.AuthorizationCode);
options.GrantTypes.Add(GrantTypes.Password);
}));
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var types = (string[]) response[Metadata.GrantTypesSupported];
@@ -503,11 +534,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoSupportedCodeChallengeMethodsPropertyIsReturnedWhenNoMethodIsConfigured()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.PostConfigure(options => options.CodeChallengeMethods.Clear());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -519,13 +552,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_ConfiguredCodeChallengeMethodsAreReturned()
{
// Arrange
- var client = CreateClient(options => options.Services.PostConfigure(options =>
+ await using var server = await CreateServerAsync(options => options.Services.PostConfigure(options =>
{
options.CodeChallengeMethods.Clear();
options.CodeChallengeMethods.Add(CodeChallengeMethods.Sha256);
options.CodeChallengeMethods.Add(CodeChallengeMethods.Plain);
}));
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var methods = (string[]) response[Metadata.CodeChallengeMethodsSupported];
@@ -540,11 +575,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoSupportedResponseModesPropertyIsReturnedWhenNoResponseModeIsConfigured()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.PostConfigure(options => options.ResponseModes.Clear());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -556,13 +593,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_ConfiguredResponseModesAreReturned()
{
// Arrange
- var client = CreateClient(options => options.Services.PostConfigure(options =>
+ await using var server = await CreateServerAsync(options => options.Services.PostConfigure(options =>
{
options.ResponseModes.Clear();
options.ResponseModes.Add(ResponseModes.FormPost);
options.ResponseModes.Add(ResponseModes.Fragment);
}));
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var modes = (string[]) response[Metadata.ResponseModesSupported];
@@ -577,11 +616,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoSupportedResponseTypesPropertyIsReturnedWhenNoResponseTypeIsConfigured()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.PostConfigure(options => options.ResponseTypes.Clear());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -593,13 +634,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_ConfiguredResponseTypesAreReturned()
{
// Arrange
- var client = CreateClient(options => options.Services.PostConfigure(options =>
+ await using var server = await CreateServerAsync(options => options.Services.PostConfigure(options =>
{
options.ResponseTypes.Clear();
options.ResponseTypes.Add(ResponseTypes.Code);
options.ResponseTypes.Add(ResponseTypes.Code + ' ' + ResponseTypes.IdToken);
}));
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var types = (string[]) response[Metadata.ResponseTypesSupported];
@@ -614,11 +657,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoSupportedScopesPropertyIsReturnedWhenNoScopeIsConfigured()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.PostConfigure(options => options.Scopes.Clear());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -630,13 +675,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_ConfiguredScopesAreReturned()
{
// Arrange
- var client = CreateClient(options => options.Services.PostConfigure(options =>
+ await using var server = await CreateServerAsync(options => options.Services.PostConfigure(options =>
{
options.Scopes.Clear();
options.Scopes.Add(Scopes.OpenId);
options.Scopes.Add("custom_scope");
}));
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var scopes = (string[]) response[Metadata.ScopesSupported];
@@ -651,11 +698,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_NoSupportedClaimsPropertyIsReturnedWhenNoClaimIsConfigured()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.PostConfigure(options => options.Claims.Clear());
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -667,13 +716,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_ConfiguredClaimsAreReturned()
{
// Arrange
- var client = CreateClient(options => options.Services.PostConfigure(options =>
+ await using var server = await CreateServerAsync(options => options.Services.PostConfigure(options =>
{
options.Claims.Clear();
options.Claims.Add(Claims.Profile);
options.Claims.Add("custom_claim");
}));
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var claims = (string[]) response[Metadata.ClaimsSupported];
@@ -688,7 +739,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_SupportedSubjectTypesAreCorrectlyReturned()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -712,12 +764,14 @@ namespace OpenIddict.Server.FunctionalTests
// Arrange
var credentials = new SigningCredentials(Mock.Of(), algorithm);
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.SigningCredentials.Clear());
options.AddSigningCredentials(credentials);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var algorithms = (string[]) response[Metadata.IdTokenSigningAlgValuesSupported];
@@ -730,13 +784,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_SymmetricSigningKeysAreIgnored()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.SigningCredentials.Clear());
options.AddSigningKey(new SymmetricSecurityKey(new byte[256 / 8]));
options.AddSigningCredentials(new SigningCredentials(Mock.Of(), Algorithms.RsaSha256));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var algorithms = (string[]) response[Metadata.IdTokenSigningAlgValuesSupported];
@@ -752,7 +808,7 @@ namespace OpenIddict.Server.FunctionalTests
// Arrange
var credentials = new SigningCredentials(Mock.Of(), SecurityAlgorithms.RsaSha256Signature);
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.SigningCredentials.Clear());
options.AddSigningCredentials(credentials);
@@ -760,6 +816,8 @@ namespace OpenIddict.Server.FunctionalTests
options.AddSigningCredentials(credentials);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
var algorithms = (string[]) response[Metadata.IdTokenSigningAlgValuesSupported];
@@ -772,7 +830,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_SupportedParametersAreReturned()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -794,7 +853,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -807,6 +866,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -820,7 +881,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -838,6 +899,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -849,7 +912,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleConfigurationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -862,6 +925,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -873,7 +938,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyConfigurationResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -891,6 +956,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -902,7 +969,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyConfigurationResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -920,6 +987,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/openid-configuration");
@@ -937,7 +1006,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractCryptographyRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/.well-known/jwks", new OpenIddictRequest());
@@ -958,7 +1028,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractCryptographyRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -971,6 +1041,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -984,7 +1056,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractCryptographyRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1002,6 +1074,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1013,7 +1087,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractCryptographyRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1026,6 +1100,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1044,7 +1120,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateCryptographyRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1057,6 +1133,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1070,7 +1148,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateCryptographyRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1088,6 +1166,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1099,7 +1179,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateCryptographyRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1112,6 +1192,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1134,11 +1216,13 @@ namespace OpenIddict.Server.FunctionalTests
var factory = Mock.Of(mock => !mock.IsSupportedAlgorithm(algorithm, It.IsAny()));
var key = Mock.Of(mock => mock.CryptoProviderFactory == factory);
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddSigningCredentials(new SigningCredentials(key, algorithm));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
var keys = (JsonElement) response[Parameters.Keys];
@@ -1164,12 +1248,14 @@ namespace OpenIddict.Server.FunctionalTests
Q = Convert.FromBase64String("vQy5C++AzF+TRh6qwbKzOqt87ZHEHidIAh6ivRNewjzIgCWXpseVl7DimY1YdViOnw1VI7xY+EyiyTanq5caTqqB3KcDm2t40bJfrZuUcn/5puRIh1bKNDwIMLsuNCrjHmDlNbocqpYMOh0Pgw7ARNbqrnPjWsYGJPuMNFpax/U=")
};
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.SigningCredentials.Clear());
options.AddSigningKey(new RsaSecurityKey(parameters));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
var key = response[Parameters.Keys]?[0];
@@ -1222,12 +1308,14 @@ namespace OpenIddict.Server.FunctionalTests
var algorithm = ECDsa.Create(parameters);
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Configure(options => options.SigningCredentials.Clear());
options.AddSigningKey(new ECDsaSecurityKey(algorithm));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
var key = response[Parameters.Keys]?[0];
@@ -1244,7 +1332,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleCryptographyRequest_X509CertificatesAreCorrectlyExposed()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1266,7 +1355,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleCryptographyRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1279,6 +1368,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1292,7 +1383,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleCryptographyRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1310,6 +1401,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1321,7 +1414,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleCryptographyRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1334,6 +1427,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1345,7 +1440,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyCryptographyResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1363,6 +1458,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
@@ -1374,7 +1471,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyCryptographyResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1392,6 +1489,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/.well-known/jwks");
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Exchange.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Exchange.cs
index 7175a380..6231a46f 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Exchange.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Exchange.cs
@@ -33,7 +33,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractTokenRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/connect/token", new OpenIddictRequest());
@@ -54,7 +55,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractTokenRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -67,6 +68,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest());
@@ -80,7 +83,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractTokenRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -98,6 +101,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest());
@@ -109,7 +114,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractTokenRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -122,6 +127,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest());
@@ -133,7 +140,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_MissingGrantTypeCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -150,7 +158,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_MissingClientIdCausesAnErrorForCodeFlowRequests()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -169,7 +178,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_MissingCodeCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -188,7 +198,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_MissingRefreshTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -209,7 +220,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_MissingClientCredentialsCauseAnError(string identifier, string secret)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -232,7 +244,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_MissingUserCredentialsCauseAnError(string username, string password)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -251,7 +264,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_InvalidAuthorizationCodeCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -270,7 +284,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_InvalidRefreshTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -288,7 +303,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_ExpiredAuthorizationCodeCausesAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -311,6 +326,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -328,7 +345,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_ExpiredRefreshTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -351,6 +368,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -367,7 +386,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenPresentersAreMissing()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -390,6 +409,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -408,7 +429,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenCallerIsNotAPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -431,6 +452,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -448,7 +471,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RefreshTokenCausesAnErrorWhenCallerIsNotAPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -471,6 +494,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -488,7 +513,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenRedirectUriIsMissing()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -512,6 +537,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -530,7 +557,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenRedirectUriIsInvalid()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -554,6 +581,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -573,7 +602,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RequestCausesErrorWhenSendingCodeVerifier()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -596,6 +625,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -614,7 +645,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenCodeVerifierIsMissing()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -639,6 +670,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -657,7 +690,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenCodeChallengeMethodIsMIssing()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -682,6 +715,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -701,7 +736,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenCodeChallengeMethodIsInvalid()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -726,6 +761,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -747,7 +784,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenCodeVerifierIsInvalid(string method, string challenge, string verifier)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -772,6 +809,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -792,7 +831,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_TokenRequestSucceedsWhenCodeVerifierIsValid(string method, string challenge, string verifier)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -826,6 +865,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -843,7 +884,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenScopeIsUnexpected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -867,6 +908,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -885,7 +928,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AuthorizationCodeCausesAnErrorWhenScopeIsInvalid()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -909,6 +952,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -927,7 +972,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RefreshTokenCausesAnErrorWhenScopeIsUnexpected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -950,6 +995,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -967,7 +1014,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RefreshTokenCausesAnErrorWhenScopeIsInvalid()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -990,6 +1037,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1011,13 +1060,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RequestIsRejectedWhenFlowIsNotEnabled(string flow)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.Configure(options => options.GrantTypes.Remove(flow));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1037,13 +1088,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RequestWithOfflineAccessScopeIsRejectedWhenRefreshTokenFlowIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.Configure(options => options.GrantTypes.Remove(GrantTypes.RefreshToken));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1062,7 +1115,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RequestIsRejectedWhenUnregisteredScopeIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(CreateScopeManager(mock =>
{
@@ -1073,6 +1126,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1091,7 +1146,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RequestIsValidatedWhenScopeRegisteredInOptionsIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.RegisterScopes("registered_scope");
@@ -1106,6 +1161,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1139,7 +1196,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync("scope_registered_in_database");
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.RegisterScopes("scope_registered_in_options");
options.SetRevocationEndpointUris(Array.Empty());
@@ -1158,6 +1215,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1180,7 +1239,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_ClientCredentialsRequestIsRejectedWhenCredentialsAreMissing(string identifier, string secret)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
@@ -1200,12 +1260,14 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_RequestWithoutClientIdIsRejectedWhenClientIdentificationIsRequired()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.Configure(options => options.AcceptAnonymousClients = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1230,11 +1292,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1266,11 +1330,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1302,11 +1368,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1340,11 +1408,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1381,11 +1451,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1424,13 +1496,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreEndpointPermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1468,13 +1542,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreGrantTypePermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1516,13 +1592,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreGrantTypePermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1564,7 +1642,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
@@ -1572,6 +1650,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Configure(options => options.IgnoreScopePermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1615,11 +1695,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1657,7 +1739,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1685,6 +1767,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableSlidingExpiration();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1721,7 +1805,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1751,6 +1835,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableSlidingExpiration();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1779,7 +1865,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1792,6 +1878,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1810,7 +1898,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1828,6 +1916,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1844,7 +1934,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateTokenRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1857,6 +1947,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1873,7 +1965,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleTokenRequest_AuthorizationCodeRevocationIsIgnoredWhenTokenStorageIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1919,6 +2011,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableSlidingExpiration();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1936,7 +2030,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleTokenRequest_RefreshTokenRevocationIsIgnoredWhenTokenStorageIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1970,6 +2064,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableSlidingExpiration();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1991,7 +2087,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2034,6 +2130,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2060,7 +2158,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2093,6 +2191,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2125,7 +2225,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2169,6 +2269,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2204,7 +2306,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2236,6 +2338,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2263,7 +2367,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(authorization);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2328,6 +2432,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2357,7 +2463,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(authorization);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2410,6 +2516,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2458,7 +2566,7 @@ namespace OpenIddict.Server.FunctionalTests
.Returns(tokens.ToAsyncEnumerable());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2503,6 +2611,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2556,7 +2666,7 @@ namespace OpenIddict.Server.FunctionalTests
.Returns(tokens.ToAsyncEnumerable());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2590,6 +2700,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2629,7 +2741,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2674,6 +2786,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2713,7 +2827,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2747,6 +2861,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2772,7 +2888,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictAuthorization());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2845,6 +2961,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableAuthorizationStorage();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2872,7 +2990,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictAuthorization());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2930,6 +3048,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableAuthorizationStorage();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2953,7 +3073,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3018,6 +3138,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3049,7 +3171,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3114,6 +3236,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3141,7 +3265,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3194,6 +3318,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3223,7 +3349,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3276,6 +3402,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3323,7 +3451,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3375,6 +3503,8 @@ namespace OpenIddict.Server.FunctionalTests
options.DisableAuthorizationStorage();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3403,7 +3533,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleTokenRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3416,6 +3546,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3434,7 +3566,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleTokenRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3452,6 +3584,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3468,7 +3602,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleTokenRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3481,6 +3615,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3497,7 +3633,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyTokenResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3524,6 +3660,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3540,7 +3678,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyTokenResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3567,6 +3705,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Introspection.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Introspection.cs
index 3f7efb60..16ae6f61 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Introspection.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Introspection.cs
@@ -34,7 +34,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractIntrospectionRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/connect/introspect", new OpenIddictRequest());
@@ -55,7 +56,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractIntrospectionRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -68,6 +69,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest());
@@ -81,7 +84,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractIntrospectionRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -99,6 +102,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/introspect");
@@ -110,7 +115,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractIntrospectionRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -123,6 +128,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/introspect");
@@ -134,7 +141,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_MissingTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
@@ -151,13 +159,15 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_InvalidTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -173,7 +183,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_ExpiredTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -196,6 +206,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -212,7 +224,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_AuthorizationCodeCausesAnErrorWhenPresentersAreMissing()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -233,6 +245,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -251,7 +265,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_AuthorizationCodeCausesAnErrorWhenCallerIsNotAValidPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -274,6 +288,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -291,7 +307,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_AccessTokenCausesAnErrorWhenCallerIsNotAValidAudienceOrPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -315,6 +331,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -332,7 +350,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_IdentityTokenCausesAnErrorWhenCallerIsNotAValidAudience()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -355,6 +373,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -372,7 +392,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_RefreshTokenCausesAnErrorWhenCallerIsNotAValidPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -395,6 +415,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -412,11 +434,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_RequestWithoutClientIdIsRejectedWhenClientIdentificationIsRequired()
{
// Arrange
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Configure(options => options.AcceptAnonymousClients = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -438,11 +462,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -477,13 +503,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreEndpointPermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -515,11 +543,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -551,11 +581,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -590,11 +622,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -621,7 +655,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -649,6 +683,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -665,7 +701,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -698,6 +734,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -712,7 +750,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateIntrospectionRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -740,6 +778,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -754,7 +794,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleIntrospectionRequest_BasicClaimsAreCorrectlyReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -782,6 +822,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(ValidateExpirationDate.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -808,7 +850,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleIntrospectionRequest_NonBasicAuthorizationCodeClaimsAreNotReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -831,6 +873,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -849,7 +893,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleIntrospectionRequest_NonBasicRefreshTokenClaimsAreNotReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -872,6 +916,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -904,7 +950,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -929,6 +975,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -962,7 +1010,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -985,6 +1033,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1017,7 +1067,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1044,6 +1094,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1082,7 +1134,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1116,6 +1168,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1161,7 +1215,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.UseReferenceTokens();
@@ -1184,6 +1238,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1209,7 +1265,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictAuthorization());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1276,6 +1332,8 @@ namespace OpenIddict.Server.FunctionalTests
options.UseReferenceTokens();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1300,7 +1358,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1368,6 +1426,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1398,7 +1458,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1466,6 +1526,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1509,7 +1571,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -1551,6 +1613,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1578,7 +1642,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleIntrospectionRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1606,6 +1670,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1622,7 +1688,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleIntrospectionRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1655,6 +1721,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1669,7 +1737,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleIntrospectionRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1697,6 +1765,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1711,7 +1781,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyIntrospectionResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1744,6 +1814,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
@@ -1758,7 +1830,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyIntrospectionResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1776,6 +1848,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Revocation.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Revocation.cs
index 8d89ddbd..9ecfca6f 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Revocation.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Revocation.cs
@@ -31,7 +31,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractRevocationRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/connect/revoke", new OpenIddictRequest());
@@ -52,7 +53,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractRevocationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -65,6 +66,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest());
@@ -78,7 +81,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractRevocationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -96,6 +99,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest());
@@ -107,7 +112,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractRevocationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -120,6 +125,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest());
@@ -131,7 +138,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_MissingTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
@@ -148,7 +156,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_IdentityTokenCausesAnUnsupportedTokenTypeError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -171,6 +179,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -188,7 +198,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_AuthorizationCodeCausesAnErrorWhenCallerIsNotAValidPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -211,6 +221,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -228,7 +240,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_AccessTokenCausesAnErrorWhenCallerIsNotAValidAudienceOrPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -252,6 +264,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -269,7 +283,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_RefreshTokenCausesAnErrorWhenCallerIsNotAValidPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -292,6 +306,8 @@ namespace OpenIddict.Server.FunctionalTests
options.RemoveEventHandler(NormalizeErrorResponse.Descriptor);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -309,11 +325,13 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_RequestWithoutClientIdIsRejectedWhenClientIdentificationIsRequired()
{
// Arrange
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Configure(options => options.AcceptAnonymousClients = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -336,11 +354,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -375,13 +395,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
builder.Configure(options => options.IgnoreEndpointPermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -414,11 +436,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -451,11 +475,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -491,11 +517,13 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(builder =>
+ await using var server = await CreateServerAsync(builder =>
{
builder.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -525,7 +553,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -553,6 +581,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -569,7 +599,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -602,6 +632,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -616,7 +648,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateRevocationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -644,6 +676,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -664,7 +698,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(value: null);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -687,6 +721,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -722,7 +758,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(TokenTypeHints.RefreshToken);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -745,6 +781,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -783,7 +821,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(true);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -806,6 +844,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -830,7 +870,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleRevocationRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -858,6 +898,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -874,7 +916,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleRevocationRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -907,6 +949,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -921,7 +965,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleRevocationRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -949,6 +993,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -963,7 +1009,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyRevocationResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -996,6 +1042,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
@@ -1010,7 +1058,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyRevocationResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1028,6 +1076,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Session.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Session.cs
index 93f79b47..913ffcfc 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Session.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Session.cs
@@ -28,7 +28,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractLogoutRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/connect/logout", new OpenIddictRequest());
@@ -49,7 +50,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractLogoutRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -62,6 +63,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -75,7 +78,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractLogoutRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -93,6 +96,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/logout");
@@ -104,7 +109,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractLogoutRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -117,6 +122,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/logout");
@@ -132,7 +139,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateLogoutRequest_RequestIsRejectedWhenRedirectUriIsInvalid(string address, string message)
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
@@ -155,11 +163,13 @@ namespace OpenIddict.Server.FunctionalTests
.Returns(AsyncEnumerable.Empty());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
{
@@ -195,13 +205,15 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
options.Configure(options => options.IgnoreEndpointPermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
{
@@ -243,7 +255,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(manager);
@@ -251,6 +263,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Configure(options => options.IgnoreEndpointPermissions = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/signout", new OpenIddictRequest
{
@@ -278,7 +292,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateLogoutRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -291,6 +305,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -304,7 +320,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateLogoutRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -322,6 +338,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -333,7 +351,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateLogoutRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -346,6 +364,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -364,7 +384,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleLogoutRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -377,6 +397,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -390,7 +412,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleLogoutRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -408,6 +430,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -419,7 +443,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleLogoutRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -432,6 +456,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -443,7 +469,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyLogoutResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -461,6 +487,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -472,7 +500,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyLogoutResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -490,6 +518,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
{
@@ -505,12 +535,14 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyLogoutResponse_DoesNotSetStateWhenUserIsNotRedirected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/signout");
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/signout", new OpenIddictRequest
{
@@ -525,12 +557,14 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyLogoutResponse_FlowsStateWhenRedirectUriIsUsed()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/signout");
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/signout", new OpenIddictRequest
{
@@ -546,7 +580,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyLogoutResponse_DoesNotOverrideStateSetByApplicationCode()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/signout");
@@ -560,6 +594,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/signout", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Userinfo.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Userinfo.cs
index 99d0666f..2b1ab0d7 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Userinfo.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.Userinfo.cs
@@ -28,7 +28,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractUserinfoRequest_UnexpectedMethodReturnsAnError(string method)
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.SendAsync(method, "/connect/userinfo", new OpenIddictRequest());
@@ -49,7 +50,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractUserinfoRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -62,6 +63,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest());
@@ -75,7 +78,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractUserinfoRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -93,6 +96,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/userinfo");
@@ -104,7 +109,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ExtractUserinfoRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -117,6 +122,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/connect/userinfo");
@@ -128,7 +135,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateUserinfoRequest_MissingTokenCausesAnError()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
@@ -144,7 +152,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateUserinfoRequest_InvalidTokenCausesAnError()
{
// Arrange
- var client = CreateClient();
+ await using var server = await CreateServerAsync();
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
@@ -161,7 +170,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateUserinfoRequest_ExpiredTokenCausesAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -182,6 +191,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -204,7 +215,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateUserinfoRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -232,6 +243,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -248,7 +261,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateUserinfoRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -281,6 +294,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -295,7 +310,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ValidateUserinfoRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -323,6 +338,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -337,7 +354,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_BasicClaimsAreCorrectlyReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -359,6 +376,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -376,7 +395,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_NonBasicClaimsAreNotReturnedWhenNoScopeWasGranted()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -406,6 +425,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -423,7 +444,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_ProfileClaimsAreCorrectlyReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -452,6 +473,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -468,7 +491,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_EmailClaimIsCorrectlyReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -492,6 +515,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -506,7 +531,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_PhoneClaimIsCorrectlyReturned()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -530,6 +555,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -551,7 +578,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -579,6 +606,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -595,7 +624,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -628,6 +657,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -642,7 +673,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task HandleUserinfoRequest_AllowsSkippingHandler()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -670,6 +701,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -684,7 +717,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyUserinfoResponse_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -717,6 +750,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
@@ -731,7 +766,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ApplyUserinfoResponse_ResponseContainsCustomParameters()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -764,6 +799,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/userinfo", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.cs b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.cs
index 796ac9a1..5dc48b38 100644
--- a/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.cs
+++ b/test/OpenIddict.Server.IntegrationTests/OpenIddictServerIntegrationTests.cs
@@ -30,7 +30,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_UnknownEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
@@ -51,7 +52,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_InvalidEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetConfigurationEndpointUris("/authenticate");
@@ -65,6 +66,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -84,7 +87,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_UnsupportedGrantTypeThrowsAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -98,6 +101,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -120,7 +125,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MissingAccessTokenReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/authenticate");
@@ -134,6 +139,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -148,7 +155,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_InvalidAccessTokenReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/authenticate");
@@ -162,6 +169,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -176,7 +185,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_ValidAccessTokenReturnsExpectedIdentity()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -207,6 +216,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -221,7 +232,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_IssuedAtIsMappedToCreationDate()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -255,6 +266,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -271,7 +284,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_ExpiresAtIsMappedToExpirationDate()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -305,6 +318,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -321,7 +336,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_AuthorizedPartyIsMappedToPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -353,6 +368,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -369,7 +386,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_ClientIdIsMappedToPresenter()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -401,6 +418,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -417,7 +436,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_SinglePublicAudienceIsMappedToPrivateClaims()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -449,6 +468,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -465,7 +486,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MultiplePublicAudiencesAreMappedToPrivateClaims()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -497,6 +518,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -513,7 +536,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_SinglePublicScopeIsMappedToPrivateClaims()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -545,6 +568,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -561,7 +586,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MultiplePublicScopesAreMappedToPrivateClaims()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -593,6 +618,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -609,7 +636,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MissingTokenTypeThrowsAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -640,6 +667,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -661,7 +690,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_InvalidTokenTypeThrowsAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/authenticate");
@@ -692,6 +721,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -712,7 +743,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MissingIdTokenHintReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/authenticate");
@@ -726,6 +757,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -740,7 +773,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_InvalidIdTokenHintReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/authenticate");
@@ -754,6 +787,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -768,7 +803,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_ValidIdTokenHintReturnsExpectedIdentity()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetLogoutEndpointUris("/authenticate");
@@ -799,6 +834,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.GetAsync("/authenticate", new OpenIddictRequest
{
@@ -813,7 +850,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MissingAuthorizationCodeReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -827,6 +864,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/authenticate", new OpenIddictRequest
{
@@ -843,7 +882,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_InvalidAuthorizationCodeReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -857,6 +896,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/authenticate", new OpenIddictRequest
{
@@ -873,7 +914,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_ValidAuthorizationCodeReturnsExpectedIdentity()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -905,6 +946,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/authenticate", new OpenIddictRequest
{
@@ -921,7 +964,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_MissingRefreshTokenReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -935,6 +978,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/authenticate", new OpenIddictRequest
{
@@ -950,7 +995,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_InvalidRefreshTokenReturnsNull()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -964,6 +1009,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/authenticate", new OpenIddictRequest
{
@@ -979,7 +1026,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessAuthentication_ValidRefreshTokenReturnsExpectedIdentity()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/authenticate");
@@ -1010,6 +1057,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/authenticate", new OpenIddictRequest
{
@@ -1025,7 +1074,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_UnknownEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
@@ -1040,7 +1090,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_InvalidEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetConfigurationEndpointUris("/challenge");
@@ -1054,6 +1104,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -1067,7 +1119,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_ReturnsDefaultErrorForAuthorizationRequestsWhenNoneIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetAuthorizationEndpointUris("/challenge");
@@ -1081,6 +1133,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge", new OpenIddictRequest
{
@@ -1101,7 +1155,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_ReturnsDefaultErrorForTokenRequestsWhenNoneIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/challenge");
@@ -1115,6 +1169,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge", new OpenIddictRequest
{
@@ -1133,7 +1189,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_ReturnsDefaultErrorForUserinfoRequestsWhenNoneIsSpecified()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetUserinfoEndpointUris("/challenge");
@@ -1163,6 +1219,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge", new OpenIddictRequest
{
@@ -1186,7 +1244,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/challenge");
@@ -1208,6 +1266,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge", new OpenIddictRequest
{
@@ -1226,7 +1286,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessChallenge_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/challenge");
@@ -1253,6 +1313,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge", new OpenIddictRequest
{
@@ -1269,7 +1331,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_UnknownEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
@@ -1284,7 +1347,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_InvalidEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetConfigurationEndpointUris("/signin");
@@ -1298,6 +1361,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -1311,7 +1376,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_NullIdentityCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1324,6 +1389,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -1345,7 +1412,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_NullAuthenticationTypeCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1358,6 +1425,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -1380,7 +1449,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_MissingSubjectCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1393,6 +1462,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -1411,7 +1482,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ScopeDefaultsToOpenId()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1433,6 +1504,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1450,7 +1523,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ResourcesAreInferredFromAudiences()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1474,6 +1547,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1491,7 +1566,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AllowsOverridingDefaultTokensSelection()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1520,6 +1595,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1543,7 +1620,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAuthorizationCodeIsReturnedForCodeAndHybridFlowRequests(string type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1569,6 +1646,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1587,7 +1666,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ScopesCanBeOverridenForRefreshTokenRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.RegisterScopes(Scopes.Profile);
@@ -1623,6 +1702,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1639,7 +1720,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ScopesAreReturnedWhenTheyDifferFromRequestedScopes()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.RegisterScopes(Scopes.Phone, Scopes.Profile);
@@ -1655,6 +1736,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1676,7 +1759,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAccessTokenIsReturnedForImplicitAndHybridFlowRequests(string type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1702,6 +1785,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -1720,7 +1805,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAccessTokenIsReturnedForCodeGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1755,6 +1840,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1771,7 +1858,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAccessTokenIsReturnedForRefreshTokenGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1805,6 +1892,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1820,7 +1909,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAccessTokenIsReturnedForPasswordGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1846,6 +1935,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1862,7 +1953,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAccessTokenIsReturnedForClientCredentialsGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1888,6 +1979,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1904,7 +1997,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnAccessTokenIsReturnedForCustomGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.AllowCustomFlow("urn:ietf:params:oauth:grant-type:custom_grant");
@@ -1931,6 +2024,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1945,7 +2040,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ExpiresInIsReturnedWhenExpirationDateIsKnown()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -1959,6 +2054,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -1975,7 +2072,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_NoRefreshTokenIsReturnedWhenOfflineAccessScopeIsNotGranted()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2001,6 +2098,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2017,7 +2116,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ARefreshTokenIsReturnedForCodeGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2053,6 +2152,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2069,7 +2170,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_NoRefreshTokenIsReturnedForRefreshTokenGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2104,6 +2205,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2119,7 +2222,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_NoRefreshTokenIsReturnedWhenSlidingExpirationIsDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.DisableSlidingExpiration();
@@ -2155,6 +2258,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2170,7 +2275,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ARefreshTokenIsReturnedForPasswordGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2197,6 +2302,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2213,7 +2320,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ARefreshTokenIsReturnedForClientCredentialsGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2240,6 +2347,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2256,7 +2365,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_ARefreshTokenIsReturnedForCustomGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.AllowCustomFlow("urn:ietf:params:oauth:grant-type:custom_grant");
@@ -2284,6 +2393,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2298,7 +2409,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_NoIdentityTokenIsReturnedWhenOfflineAccessScopeIsNotGranted()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2324,6 +2435,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2344,7 +2457,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnIdentityTokenIsReturnedForImplicitAndHybridFlowRequests(string type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2370,6 +2483,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -2388,7 +2503,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnIdentityTokenIsReturnedForCodeGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2424,6 +2539,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2440,7 +2557,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnIdentityTokenIsReturnedForRefreshTokenGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2475,6 +2592,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2490,7 +2609,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnIdentityTokenIsReturnedForPasswordGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2516,6 +2635,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2533,7 +2654,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnIdentityTokenIsReturnedForClientCredentialsGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2559,6 +2680,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2576,7 +2699,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AnIdentityTokenIsReturnedForCustomGrantRequests()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.AllowCustomFlow("urn:ietf:params:oauth:grant-type:custom_grant");
@@ -2603,6 +2726,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2625,7 +2750,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2647,6 +2772,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -2666,7 +2793,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2693,6 +2820,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2709,7 +2838,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_PrivateClaimsAreAutomaticallyRestored()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.UseRollingTokens();
@@ -2743,6 +2872,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2759,7 +2890,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_RefreshTokenIsIssuedForAuthorizationCodeRequestsWhenRollingTokensAreEnabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.UseRollingTokens();
@@ -2784,6 +2915,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2801,7 +2934,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_RefreshTokenIsAlwaysIssuedWhenRollingTokensAreEnabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.UseRollingTokens();
@@ -2825,6 +2958,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2840,7 +2975,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignIn_RefreshTokenIsNotIssuedWhenRollingTokensAreDisabled()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -2863,6 +2998,8 @@ namespace OpenIddict.Server.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2898,7 +3035,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -2933,6 +3070,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -2968,7 +3107,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3006,6 +3145,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3050,7 +3191,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.UseRollingTokens();
options.DisableAuthorizationStorage();
@@ -3077,6 +3218,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3115,7 +3258,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(false);
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.UseRollingTokens();
options.DisableAuthorizationStorage();
@@ -3142,6 +3285,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3178,7 +3323,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3202,6 +3347,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3260,7 +3407,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.UseRollingTokens();
@@ -3298,6 +3445,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3352,7 +3501,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3388,6 +3537,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3429,7 +3580,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3453,6 +3604,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3488,7 +3641,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.DisableSlidingExpiration();
@@ -3514,6 +3667,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3552,7 +3707,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3576,6 +3731,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3616,7 +3773,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.SetRefreshTokenLifetime(lifetime: null);
@@ -3642,6 +3799,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3682,7 +3841,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictToken());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.AddEventHandler(builder =>
{
@@ -3706,6 +3865,8 @@ namespace OpenIddict.Server.FunctionalTests
options.Services.AddSingleton(manager);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
@@ -3735,7 +3896,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictAuthorization());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(CreateApplicationManager(mock =>
{
@@ -3775,6 +3936,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -3806,7 +3969,7 @@ namespace OpenIddict.Server.FunctionalTests
.ReturnsAsync(new OpenIddictAuthorization());
});
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddSingleton(CreateApplicationManager(mock =>
{
@@ -3848,6 +4011,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
@@ -3866,7 +4031,8 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignOut_UnknownEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
@@ -3881,7 +4047,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignOut_InvalidEndpointCausesAnException()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetConfigurationEndpointUris("/signout");
@@ -3895,6 +4061,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act and assert
var exception = await Assert.ThrowsAsync(delegate
{
@@ -3915,7 +4083,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignOut_AllowsRejectingRequest(string error, string description, string uri)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3928,6 +4096,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -3941,7 +4111,7 @@ namespace OpenIddict.Server.FunctionalTests
public async Task ProcessSignOut_AllowsHandlingResponse()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -3959,6 +4129,8 @@ namespace OpenIddict.Server.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest());
@@ -4035,7 +4207,7 @@ namespace OpenIddict.Server.FunctionalTests
});
}
- protected abstract OpenIddictServerIntegrationTestClient CreateClient(Action configuration = null);
+ protected abstract ValueTask CreateServerAsync(Action configuration = null);
protected OpenIddictApplicationManager CreateApplicationManager(
Action>> configuration = null)
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTestServer.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTestServer.cs
new file mode 100644
index 00000000..9aae2a54
--- /dev/null
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTestServer.cs
@@ -0,0 +1,38 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+ * See https://github.com/openiddict/openiddict-core for more information concerning
+ * the license and the contributors participating to this project.
+ */
+
+using System.Threading.Tasks;
+using Microsoft.Owin.Testing;
+using OpenIddict.Server.FunctionalTests;
+
+namespace OpenIddict.Server.Owin.FunctionalTests
+{
+ ///
+ /// Represents a test host used by the server integration tests.
+ ///
+ public class OpenIddictServerOwinIntegrationTestServer : OpenIddictServerIntegrationTestServer
+ {
+ public OpenIddictServerOwinIntegrationTestServer(TestServer server)
+ => Server = server;
+
+ ///
+ /// Gets the ASP.NET Core test server used by this instance.
+ ///
+ public TestServer Server { get; }
+
+ public override ValueTask CreateClientAsync()
+ => new ValueTask(
+ new OpenIddictServerIntegrationTestClient(Server.HttpClient));
+
+ public override ValueTask DisposeAsync()
+ {
+ // Dispose of the underlying test server.
+ Server.Dispose();
+
+ return default;
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Authentication.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Authentication.cs
index 7d433f66..357338cd 100644
--- a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Authentication.cs
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Authentication.cs
@@ -19,7 +19,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractAuthorizationRequest_RequestIdParameterIsRejectedWhenRequestCachingIsDisabled()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
@@ -36,7 +37,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractAuthorizationRequest_InvalidRequestIdParameterIsRejected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddDistributedMemoryCache();
@@ -44,6 +45,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
.EnableAuthorizationEndpointCaching();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/authorize", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Exchange.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Exchange.cs
index 8b302c8b..0d594973 100644
--- a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Exchange.cs
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Exchange.cs
@@ -20,7 +20,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractTokenRequest_MultipleClientCredentialsCauseAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -38,6 +38,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/token", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Introspection.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Introspection.cs
index ebef0709..557d9ee5 100644
--- a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Introspection.cs
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Introspection.cs
@@ -20,7 +20,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractIntrospectionRequest_MultipleClientCredentialsCauseAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -38,6 +38,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Revocation.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Revocation.cs
index 72c1569d..3fda38a0 100644
--- a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Revocation.cs
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Revocation.cs
@@ -20,7 +20,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractRevocationRequest_MultipleClientCredentialsCauseAnError()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -38,6 +38,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/revoke", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Session.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Session.cs
index b0e3fd61..92ec017e 100644
--- a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Session.cs
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.Session.cs
@@ -19,7 +19,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractLogoutRequest_RequestIdParameterIsRejectedWhenRequestCachingIsDisabled()
{
// Arrange
- var client = CreateClient(options => options.EnableDegradedMode());
+ await using var server = await CreateServerAsync(options => options.EnableDegradedMode());
+ await using var client = await server.CreateClientAsync();
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
@@ -36,7 +37,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ExtractLogoutRequest_InvalidRequestIdParameterIsRejected()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.Services.AddDistributedMemoryCache();
@@ -44,6 +45,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
.EnableLogoutEndpointCaching();
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/connect/logout", new OpenIddictRequest
{
diff --git a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.cs b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.cs
index 713c7af5..6d1714c6 100644
--- a/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.cs
+++ b/test/OpenIddict.Server.Owin.IntegrationTests/OpenIddictServerOwinIntegrationTests.cs
@@ -30,7 +30,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ProcessChallenge_ReturnsErrorFromAuthenticationProperties()
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
options.SetTokenEndpointUris("/challenge/custom");
@@ -44,6 +44,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync("/challenge/custom", new OpenIddictRequest
{
@@ -128,10 +130,10 @@ namespace OpenIddict.Server.Owin.FunctionalTests
[InlineData("/.WELL-KNOWN/JWKS/SUBPATH", OpenIddictServerEndpointType.Unknown)]
[InlineData("/.well-known/jwks/subpath/", OpenIddictServerEndpointType.Unknown)]
[InlineData("/.WELL-KNOWN/JWKS/SUBPATH/", OpenIddictServerEndpointType.Unknown)]
- public Task ProcessRequest_MatchesCorrespondingEndpoint(string path, OpenIddictServerEndpointType type)
+ public async Task ProcessRequest_MatchesCorrespondingEndpoint(string path, OpenIddictServerEndpointType type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -145,8 +147,10 @@ namespace OpenIddict.Server.Owin.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
- return client.PostAsync(path, new OpenIddictRequest());
+ await client.PostAsync(path, new OpenIddictRequest());
}
[Theory]
@@ -159,10 +163,10 @@ namespace OpenIddict.Server.Owin.FunctionalTests
[InlineData("/custom/connect/userinfo", OpenIddictServerEndpointType.Userinfo)]
[InlineData("/custom/.well-known/openid-configuration", OpenIddictServerEndpointType.Configuration)]
[InlineData("/custom/.well-known/jwks", OpenIddictServerEndpointType.Cryptography)]
- public Task ProcessRequest_AllowsOverridingEndpoint(string address, OpenIddictServerEndpointType type)
+ public async Task ProcessRequest_AllowsOverridingEndpoint(string address, OpenIddictServerEndpointType type)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -183,8 +187,10 @@ namespace OpenIddict.Server.Owin.FunctionalTests
});
});
+ await using var client = await server.CreateClientAsync();
+
// Act
- return client.PostAsync(address, new OpenIddictRequest());
+ await client.PostAsync(address, new OpenIddictRequest());
}
[Theory]
@@ -199,7 +205,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ProcessRequest_RejectsInsecureHttpRequests(string address)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -207,6 +213,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
.Configure(options => options.DisableTransportSecurityRequirement = false);
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync(address, new OpenIddictRequest());
@@ -228,7 +236,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ProcessRequest_AllowsHandlingResponse(string address)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -246,6 +254,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync(address, new OpenIddictRequest());
@@ -266,7 +276,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
public async Task ProcessRequest_AllowsSkippingHandler(string address)
{
// Arrange
- var client = CreateClient(options =>
+ await using var server = await CreateServerAsync(options =>
{
options.EnableDegradedMode();
@@ -279,6 +289,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
}));
});
+ await using var client = await server.CreateClientAsync();
+
// Act
var response = await client.PostAsync(address, new OpenIddictRequest());
@@ -286,7 +298,7 @@ namespace OpenIddict.Server.Owin.FunctionalTests
Assert.Equal("Bob le Magnifique", (string) response["name"]);
}
- protected override OpenIddictServerIntegrationTestClient CreateClient(Action configuration = null)
+ protected override ValueTask CreateServerAsync(Action configuration = null)
{
var services = new ServiceCollection();
ConfigureServices(services);
@@ -402,7 +414,8 @@ namespace OpenIddict.Server.Owin.FunctionalTests
});
});
- return new OpenIddictServerIntegrationTestClient(server.HttpClient);
+ return new ValueTask(
+ new OpenIddictServerOwinIntegrationTestServer(server));
}
}
}