Exemplo n.º 1
0
    public void IsConfigured_returns_false_if_only_non_provider_extensions_have_been_added()
    {
        var optionsBuilder = new DbContextOptionsBuilder();

        Assert.False(optionsBuilder.IsConfigured);

        var extension = new FakeDbContextOptionsExtension1();

        ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension);

        Assert.False(optionsBuilder.IsConfigured);
        Assert.False(extension.AppliedServices);
    }
Exemplo n.º 2
0
    public void Can_find_extension_with_GetExtension()
    {
        var optionsBuilder = new DbContextOptionsBuilder();

        Assert.Equal(
            CoreStrings.OptionsExtensionNotFound(nameof(FakeDbContextOptionsExtension1)),
            Assert.Throws <InvalidOperationException>(
                () => optionsBuilder.Options.GetExtension <FakeDbContextOptionsExtension1>()).Message);

        var extension = new FakeDbContextOptionsExtension1();

        ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension);

        Assert.Same(extension, optionsBuilder.Options.GetExtension <FakeDbContextOptionsExtension1>());
    }
        public void Can_update_an_existing_extension()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            var extension1 = new FakeDbContextOptionsExtension1 { Something = "One " };
            var extension2 = new FakeDbContextOptionsExtension1 { Something = "Two " };

            ((IOptionsBuilderExtender)optionsBuilder).AddOrUpdateExtension(extension1);
            ((IOptionsBuilderExtender)optionsBuilder).AddOrUpdateExtension(extension2);

            Assert.Equal(1, optionsBuilder.Options.Extensions.Count());
            Assert.DoesNotContain(extension1, optionsBuilder.Options.Extensions);
            Assert.Contains(extension2, optionsBuilder.Options.Extensions);

            Assert.Same(extension2, optionsBuilder.Options.FindExtension<FakeDbContextOptionsExtension1>());
        }
Exemplo n.º 4
0
        public void Can_update_an_existing_extension()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            var extension1 = new FakeDbContextOptionsExtension1 {
                Something = "One "
            };
            var extension2 = new FakeDbContextOptionsExtension1 {
                Something = "Two "
            };

            ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension1);
            ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension2);

            Assert.Equal(1, optionsBuilder.Options.Extensions.Count());
            Assert.DoesNotContain(extension1, optionsBuilder.Options.Extensions);
            Assert.Contains(extension2, optionsBuilder.Options.Extensions);

            Assert.Same(extension2, optionsBuilder.Options.FindExtension <FakeDbContextOptionsExtension1>());
        }
Exemplo n.º 5
0
        public void Extensions_can_be_added_to_options()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            Assert.Null(optionsBuilder.Options.FindExtension <FakeDbContextOptionsExtension1>());
            Assert.Empty(optionsBuilder.Options.Extensions);

            var extension1 = new FakeDbContextOptionsExtension1();
            var extension2 = new FakeDbContextOptionsExtension2();

            ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension1);
            ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension2);

            Assert.Equal(2, optionsBuilder.Options.Extensions.Count());
            Assert.Contains(extension1, optionsBuilder.Options.Extensions);
            Assert.Contains(extension2, optionsBuilder.Options.Extensions);

            Assert.Same(extension1, optionsBuilder.Options.FindExtension <FakeDbContextOptionsExtension1>());
            Assert.Same(extension2, optionsBuilder.Options.FindExtension <FakeDbContextOptionsExtension2>());
        }
        public void Extensions_can_be_added_to_options()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            Assert.Null(optionsBuilder.Options.FindExtension<FakeDbContextOptionsExtension1>());
            Assert.Empty(optionsBuilder.Options.Extensions);

            var extension1 = new FakeDbContextOptionsExtension1();
            var extension2 = new FakeDbContextOptionsExtension2();

            ((IOptionsBuilderExtender)optionsBuilder).AddOrUpdateExtension(extension1);
            ((IOptionsBuilderExtender)optionsBuilder).AddOrUpdateExtension(extension2);

            Assert.Equal(2, optionsBuilder.Options.Extensions.Count());
            Assert.Contains(extension1, optionsBuilder.Options.Extensions);
            Assert.Contains(extension2, optionsBuilder.Options.Extensions);

            Assert.Same(extension1, optionsBuilder.Options.FindExtension<FakeDbContextOptionsExtension1>());
            Assert.Same(extension2, optionsBuilder.Options.FindExtension<FakeDbContextOptionsExtension2>());
        }