public void Configure_Thows_If_Writter_Is_Null_Test() { HttpExceptionWritter writter = null; ExceptionDefaults defaults = new ExceptionDefaults(); // Assert Assert.Throws<ArgumentNullException>(() => { ExceptionHandler.Configure(writter, defaults); }); }
private static void SetUpExceptionHandler() { var defaults = new ExceptionDefaults { Token = Constants.ExceptionLogToken, ApplicationName = Constants.Name, Host = Constants.Name, // NOTE: Possible to pass URI by startup arguments. RemoteLogUri = new Uri(Constants.RemoteLogUri, UriKind.Absolute) }; ExceptionHandler.Configure(new ClientHttpExceptionWritter(), defaults, null); }
public static void Configure(ExceptionWritterBase writter, EverywhereConfigurationSection section, IEnumerable<Type> appenders) { if (section == null) { throw new ArgumentNullException("section"); } var parameters = new ExceptionDefaults { ApplicationName = section.ApplicationName, Host = section.Host, Token = section.Token, RemoteLogUri = new Uri(section.RemoteLogUri) }; Configure(writter, parameters, appenders); }
public void Log_Test() { // Arrange ExceptionDefaults parameters = new ExceptionDefaults { ApplicationName = "Test-Application", Host = "HttpErrorLogTest", Token = "Test-Token", RemoteLogUri = new Uri("http://www.faulthub.org/") }; TestableHttpExceptionWritter writter = new TestableHttpExceptionWritter(); ExceptionHandler.Configure(writter, parameters, null); HttpErrorLog log = new HttpErrorLog(new HybridDictionary()); // Act string id = log.Log(new Error(new Exception("Test-Error"))); // Assert Assert.True(new Guid(id) != Guid.Empty, id); }
public void HandleError_Test() { // Arange HttpErrorHandler handler = new HttpErrorHandler(); ExceptionDefaults defaults = new ExceptionDefaults { ApplicationName = "ApplicationName", Host = "Host", Token = "Token" }; Mock<ExceptionWritterBase> writterMock = new Mock<ExceptionWritterBase>(); writterMock.Setup(x => x.Write(defaults.Token, It.IsAny<ErrorInfo>())).Verifiable(); ExceptionHandler.Configure(writterMock.Object, defaults, null); // Act bool result = handler.HandleError(new Exception("Test-Exception")); // Assert Assert.False(result); writterMock.Verify(); }
public void Should_Call_Completed_Event_Test() { // Arrange ExceptionDefaults parameters = new ExceptionDefaults { Token = "Test-Token", RemoteLogUri = "http://localhost:11079/error/log" }; bool completed = false; TestableExceptionWritter writter = new TestableExceptionWritter(); writter.Completed += (s, e) => { completed = true; }; ExceptionHandler.Configure(writter, parameters); // Act ExceptionHandler.Report(new Exception(), null); // Assert Assert.True(completed); }
public void Should_Report_If_Enabled_Test() { // Arrange ExceptionDefaults parameters = new ExceptionDefaults { Token = "Test-Token", RemoteLogUri = "http://localhost:11079/error/log" }; TestableExceptionWritter writter = new TestableExceptionWritter(); ExceptionHandler.Configure(writter, parameters); // Act ExceptionHandler.Report(new Exception(), null); // Assert Assert.NotNull(writter.Error); }
public void Should_Not_Report_If_Disabled_Test() { // Arrange ExceptionDefaults parameters = new ExceptionDefaults { RemoteLogUri = "http://localhost:11079/error/log" }; TestableExceptionWritter writter = new TestableExceptionWritter(); ExceptionHandler.IsEnabled = false; ExceptionHandler.Configure(writter, parameters); // Act ExceptionHandler.Report(new Exception(), null); // Reset to default ExceptionHandler.IsEnabled = true; // Assert Assert.Null(writter.Error); }
public static void Configure(ExceptionWritterBase writter, ExceptionDefaults parameters, IEnumerable<Type> appenders) { if (writter == null) { throw new ArgumentNullException("writter"); } if (parameters == null) { throw new ArgumentNullException("parameters"); } _appenders = appenders; if (_appenders == null) { _appenders = AllAppenders(); } var httpWriter = writter as HttpExceptionWritterBase; if (httpWriter != null && httpWriter.RequestUri == null) { httpWriter.RequestUri = parameters.RemoteLogUri; } _writter = writter; _parameters = parameters; _writter.Completed += Writter_Completed; }
private static void ValidateParameters(ExceptionDefaults parameters) { if (parameters.RemoteLogUri == null) { throw new ArgumentNullException("parameters", "RemoteLogUri is required"); } if (string.IsNullOrWhiteSpace(parameters.ApplicationName)) { parameters.ApplicationName = "NOT-SET"; } if (string.IsNullOrWhiteSpace(parameters.Host)) { parameters.Host = "NOT_SET"; } }