public void AddPlaceholderResolver_AddsPlaceholderResolverSourceToList() { // Arrange var configurationBuilder = new ConfigurationBuilder(); // Act and Assert configurationBuilder.AddPlaceholderResolver(); PlaceholderResolverSource placeholderSource = configurationBuilder.Sources.OfType <PlaceholderResolverSource>().SingleOrDefault(); Assert.NotNull(placeholderSource); }
/// <summary> /// Add a placeholder resolver configuration source to the <see cref="ConfigurationBuilder"/>. The placeholder resolver source will capture and wrap all /// the existing sources <see cref="IConfigurationSource"/> contained in the builder. The newly created source will then replace the existing sources /// and provide placeholder resolution for the configuration. Typically you will want to add this configuration source as the last one so that you wrap all /// of the applications configuration sources with place holder resolution. /// </summary> /// <param name="builder">the configuration builder</param> /// <param name="loggerFactory">the logger factory to use</param> /// <returns>builder</returns> public static IConfigurationBuilder AddPlaceholderResolver(this IConfigurationBuilder builder, ILoggerFactory?loggerFactory = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var resolver = new PlaceholderResolverSource(builder.Sources, loggerFactory); builder.Sources.Clear(); return(builder.Add(resolver)); }
public void Build_ReturnsProvider() { var memSource = new MemoryConfigurationSource(); IList <IConfigurationSource> sources = new List <IConfigurationSource>() { memSource }; var source = new PlaceholderResolverSource(sources, null); var provider = source.Build(new ConfigurationBuilder()); Assert.IsType <PlaceholderResolverProvider>(provider); }
public void Build__ReturnsProvider() { // Arrange var memSource = new MemoryConfigurationSource(); IList <IConfigurationSource> sources = new List <IConfigurationSource> { memSource }; ILoggerFactory factory = new LoggerFactory(); // Act and Assert var source = new PlaceholderResolverSource(sources, factory); var provider = source.Build(new ConfigurationBuilder()); Assert.IsType <PlaceholderResolverProvider>(provider); }
public void Constructors__InitializesProperties() { var memSource = new MemoryConfigurationSource(); IList <IConfigurationSource> sources = new List <IConfigurationSource> { memSource }; ILoggerFactory factory = new LoggerFactory(); var source = new PlaceholderResolverSource(sources, factory); Assert.Equal(factory, source._loggerFactory); Assert.NotNull(source._sources); Assert.Single(source._sources); Assert.NotSame(sources, source._sources); Assert.Contains(memSource, source._sources); }