Exemple #1
0
        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);
        }
Exemple #5
0
    /// <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);
        }