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); }
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>()); }
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>()); }
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>()); }