private static OpenIddictEntityFrameworkCoreBuilder UseEFCoreUIStore <TContext>( this OpenIddictCoreBuilder builder ) where TContext : IOpenIddictUIContext { builder .UseEntityFrameworkCore() .UseDbContext(typeof(TContext)); return(new OpenIddictEntityFrameworkCoreBuilder(builder.Services)); }
public void UseEntityFrameworkCore_ThrowsAnExceptionForNullConfiguration() { // Arrange var services = new ServiceCollection(); var builder = new OpenIddictCoreBuilder(services); // Act and assert var exception = Assert.Throws <ArgumentNullException>(() => builder.UseEntityFrameworkCore(configuration: null)); Assert.Equal("configuration", exception.ParamName); }
public void UseEntityFrameworkCore_RegistersCachingServices() { // Arrange var services = new ServiceCollection(); var builder = new OpenIddictCoreBuilder(services); // Act builder.UseEntityFrameworkCore(); // Assert Assert.Contains(services, service => service.ServiceType == typeof(IMemoryCache)); }
public void UseEntityFrameworkCore_RegistersEntityFrameworkCoreStore(Type type) { // Arrange var services = new ServiceCollection(); var builder = new OpenIddictCoreBuilder(services); // Act builder.UseEntityFrameworkCore(); // Assert Assert.Contains(services, service => service.ServiceType == type && service.ImplementationType == type); }
/// <summary> /// Registers the Entity Framework Core stores services in the DI container and /// configures OpenIddict to use the Entity Framework Core entities by default. /// </summary> /// <param name="builder">The services builder used by OpenIddict to register new services.</param> /// <param name="configuration">The configuration delegate used to configure the Entity Framework Core services.</param> /// <remarks>This extension can be safely called multiple times.</remarks> /// <returns>The <see cref="OpenIddictCoreBuilder"/>.</returns> public static OpenIddictCoreBuilder UseEntityFrameworkCore( this OpenIddictCoreBuilder builder, Action <OpenIddictEntityFrameworkCoreBuilder> configuration) { if (builder is null) { throw new ArgumentNullException(nameof(builder)); } if (configuration is null) { throw new ArgumentNullException(nameof(configuration)); } configuration(builder.UseEntityFrameworkCore()); return(builder); }
public void UseEntityFrameworkCore_RegistersDefaultEntities() { // Arrange var services = new ServiceCollection().AddOptions(); var builder = new OpenIddictCoreBuilder(services); // Act builder.UseEntityFrameworkCore(); // Assert var provider = services.BuildServiceProvider(); var options = provider.GetRequiredService <IOptionsMonitor <OpenIddictCoreOptions> >().CurrentValue; Assert.Equal(typeof(OpenIddictApplication), options.DefaultApplicationType); Assert.Equal(typeof(OpenIddictAuthorization), options.DefaultAuthorizationType); Assert.Equal(typeof(OpenIddictScope), options.DefaultScopeType); Assert.Equal(typeof(OpenIddictToken), options.DefaultTokenType); }