public void ConstructorHappyPath2() { Action <RockLibLoggerOptions, string> capturedCallback = null; var options = new RockLibLoggerOptions { IncludeScopes = true }; var logger = new MockLogger().Object; var mockOptionsMonitor = new Mock <IOptionsMonitor <RockLibLoggerOptions> >(); mockOptionsMonitor.Setup(m => m.OnChange(It.IsAny <Action <RockLibLoggerOptions, string> >())) .Returns(new Mock <IDisposable>().Object) .Callback(new Action <Action <RockLibLoggerOptions, string> >(OnChange)); mockOptionsMonitor.Setup(m => m.Get("")).Returns(options); var provider = new RockLibLoggerProvider(logger, mockOptionsMonitor.Object); provider.IncludeScopes.Should().BeTrue(); provider.Logger.Should().BeSameAs(logger); capturedCallback.Should().NotBeNull(); capturedCallback.Target.Should().BeSameAs(provider); capturedCallback.Method.Name.Should().Be("ReloadLoggerOptions"); void OnChange(Action <RockLibLoggerOptions, string> callback) { capturedCallback = callback; } }
public void AddRockLibLoggerProviderExtensionMethod1HappyPath2() { RockLibLoggerOptions capturedOptions = null; var services = new ServiceCollection(); var mockLoggerBuilder = new Mock <ILoggingBuilder>(); mockLoggerBuilder.Setup(m => m.Services).Returns(services); mockLoggerBuilder.Object.AddRockLibLoggerProvider(opt => capturedOptions = opt); var descriptor = services.Should().ContainSingle(d => d.ServiceType == typeof(IConfigureOptions <RockLibLoggerOptions>)) .Subject; descriptor.Lifetime.Should().Be(ServiceLifetime.Singleton); descriptor.ImplementationInstance.Should().NotBeNull(); descriptor.ImplementationFactory.Should().BeNull(); descriptor.ImplementationType.Should().BeNull(); var configureOptions = descriptor.ImplementationInstance.Should().BeAssignableTo <IConfigureOptions <RockLibLoggerOptions> >() .Subject; var options = new RockLibLoggerOptions(); configureOptions.Configure(options); capturedOptions.Should().BeSameAs(options); }
public void DisposeMethodHappyPath2() { var options = new RockLibLoggerOptions(); var logger = new MockLogger().Object; var provider = new RockLibLoggerProvider(logger); provider.Invoking(m => m.Dispose()).Should().NotThrow(); }
public void DisposeMethodHappyPath1() { var options = new RockLibLoggerOptions(); var logger = new MockLogger().Object; var mockOptionsMonitor = new Mock <IOptionsMonitor <RockLibLoggerOptions> >(); var mockChangeReloadToken = new Mock <IDisposable>(); mockOptionsMonitor.Setup(m => m.OnChange(It.IsAny <Action <RockLibLoggerOptions, string> >())) .Returns(mockChangeReloadToken.Object); mockOptionsMonitor.Setup(m => m.Get("")).Returns(options); var provider = new RockLibLoggerProvider(logger, mockOptionsMonitor.Object); provider.Dispose(); mockChangeReloadToken.Verify(m => m.Dispose(), Times.Once()); }