public void GetLoggerMethodSadPath() { var provider = new RockLibLoggerProvider(new MockLogger().Object); provider.Invoking(m => m.GetLogger(null)) .Should().ThrowExactly <ArgumentNullException>().WithMessage("*categoryName*"); }
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 ScopeProviderSetterSadPath() { var loggerProvider = new RockLibLoggerProvider(new MockLogger().Object); Action act = () => loggerProvider.ScopeProvider = null; act.Should().ThrowExactly <ArgumentNullException>().WithMessage("*value*"); }
public void ScopeProviderGetterHappyPath2() { var loggerProvider = new RockLibLoggerProvider(new MockLogger().Object); loggerProvider.IncludeScopes = true; loggerProvider.ScopeProvider.Should().BeOfType <LoggerExternalScopeProvider>(); }
public void ConstructorSetsLogger() { var logger = new Mock <ILogger>().Object; var provider = new RockLibLoggerProvider(logger); provider.Logger.Should().BeSameAs(logger); }
public void ConstructorSetsCreateLogger() { Func <ILogger> createLogger = () => null; var provider = new RockLibLoggerProvider(createLogger); provider.CreateLogger.Should().BeSameAs(createLogger); }
public void ConstructorHappyPath1() { var logger = new MockLogger().Object; var provider = new RockLibLoggerProvider(logger); provider.Logger.Should().BeSameAs(logger); provider.IncludeScopes.Should().BeFalse(); }
public void GetLoggerMethodHappyPath2() { var provider = new RockLibLoggerProvider(new MockLogger().Object); var logger1 = provider.GetLogger("MyCategoryName"); var logger2 = provider.GetLogger("MyCategoryName"); logger1.Should().BeSameAs(logger2); }
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 CreateLoggerSucceeds() { var logger = new Mock <ILogger>().Object; var provider = new RockLibLoggerProvider(logger); var rockLibLogger = (RockLibLogger)provider.CreateLogger("SomeCategory"); rockLibLogger.Logger.Should().BeSameAs(logger); rockLibLogger.CategoryName.Should().Be("SomeCategory"); }
public void ScopeProviderGetterHappyPath1() { var loggerProvider = new RockLibLoggerProvider(new MockLogger().Object); var scopeProvider = new Mock <IExternalScopeProvider>().Object; loggerProvider.ScopeProvider = scopeProvider; loggerProvider.ScopeProvider.Should().BeNull(); loggerProvider.IncludeScopes = true; loggerProvider.ScopeProvider.Should().BeSameAs(scopeProvider); }
public void GetLoggerMethodHappyPath1() { var logger = new MockLogger().Object; var scopeProvider = new Mock <IExternalScopeProvider>().Object; var provider = new RockLibLoggerProvider(logger); provider.IncludeScopes = true; provider.ScopeProvider = scopeProvider; var rockLibLogger = provider.GetLogger("MyCategoryName"); rockLibLogger.Logger.Should().BeSameAs(logger); rockLibLogger.CategoryName.Should().Be("MyCategoryName"); rockLibLogger.ScopeProvider.Should().BeSameAs(scopeProvider); }
public void ScopeProviderSetterHappyPath() { var scopeProvider = new Mock <IExternalScopeProvider>().Object; var loggerProvider = new RockLibLoggerProvider(new MockLogger().Object); loggerProvider.IncludeScopes = true; var logger = loggerProvider.GetLogger("Category1"); logger.ScopeProvider.Should().NotBeSameAs(scopeProvider); loggerProvider.ScopeProvider = scopeProvider; logger.ScopeProvider.Should().BeSameAs(scopeProvider); }
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()); }