/// <summary> /// Initializes a new instance of the <see cref="AirbrakeClient"/> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="backtraceBuilder"> </param> public AirbrakeClient(AirbrakeConfiguration configuration, IBuilder<Exception, Backtrace> backtraceBuilder = null) { if (configuration == null) throw new ArgumentNullException("configuration"); this.configuration = configuration; if (backtraceBuilder == null) backtraceBuilder = new BacktraceBuilder(LogManager.GetLogger<BacktraceBuilder>()); this.builder = new AirbrakeNoticeBuilder(configuration,backtraceBuilder); this.log = LogManager.GetLogger(GetType()); }
public void When_building_a_backtrace_then_the_catching_method_is_set() { // Arrange var log = new Moq.Mock <ILog>(); var exception = GetDeepException(); var builder = new BacktraceBuilder(log.Object); // Act var response = builder.Build(exception); // Assert Assert.That(response.CatchingMethod, Is.Not.Null); }
public void When_building_a_backtrace_then_the_message_contains_messages_from_the_topmost_exception_and_all_inner_exceptions() { // Arrange var log = new Moq.Mock <ILog>(); var exception = GetDeepException(); var builder = new BacktraceBuilder(log.Object); // Act var response = builder.Build(exception); // Assert Assert.That(response.Message, Is.EqualTo("Exception: last thing wrong | ApplicationException: level two message | DivideByZeroException: Attempted to divide by zero.")); }
public void When_building_a_backtrace_then_the_message_contains_messages_from_the_topmost_exception_and_all_inner_exceptions() { // Arrange var log = new Moq.Mock<ILog>(); var exception = GetDeepException(); var builder = new BacktraceBuilder(log.Object); // Act var response = builder.Build(exception); // Assert Assert.That(response.Message, Is.EqualTo("Exception: last thing wrong | ApplicationException: level two message | DivideByZeroException: Attempted to divide by zero.")); }
public void When_building_a_backtrace_then_the_catching_method_is_set() { // Arrange var log = new Moq.Mock<ILog>(); var exception = GetDeepException(); var builder = new BacktraceBuilder(log.Object); // Act var response = builder.Build(exception); // Assert Assert.That(response.CatchingMethod, Is.Not.Null); }
public void When_building_a_backtrace_then_the_trace_contains_the_full_stack_trace() { // Arrange var log = new Moq.Mock <ILog>(); var exception = GetDeepException(); var builder = new BacktraceBuilder(log.Object); // Act var response = builder.Build(exception); // Assert Assert.That(response.Trace, Has.Count.EqualTo(5)); Assert.That(response.Trace[0].Method, Is.EqualTo("GetException")); }
public void When_building_a_backtrace_then_the_trace_contains_the_full_stack_trace() { // Arrange var log = new Moq.Mock<ILog>(); var exception = GetDeepException(); var builder = new BacktraceBuilder(log.Object); // Act var response = builder.Build(exception); // Assert Assert.That(response.Trace, Has.Count.EqualTo(5)); Assert.That(response.Trace[0].Method, Is.EqualTo("GetException")); }