public void ProcessError_LoggingWorksWithUnrecognizedExceptionObject() { ILog log = Substitute.For <ILog>(); IProcessWrapperFactory procFactory = Substitute.For <IProcessWrapperFactory>(); procFactory.CreateProcess().Returns(new FakeStandardProcess()); var serviceApp = new ServiceApp { Name = "Test", AppVersion = new Version() }; ServiceAppProcess appProcToTest = new ServiceAppProcess(serviceApp, log, procFactory); Exception testException = new InvalidOperationException("test"); string exceptionMessage = string.Format(@"{{ error: {{ details: {{ type: ""{0}"", message: ""{1}"", source: ""{2}"", stackTrace: ""{3}"" }}, exception: ""xxxxx"" }} }}", testException.GetType().ToString(), testException.Message, testException.Source, testException.StackTrace); bool shouldExit = appProcToTest.ProcessMessage(exceptionMessage); log.Received().Warn(Arg.Any <string>()); Assert.IsFalse(shouldExit, "Process message was not meant to return true"); }
public void ProcessMessage_DebugIsLogged() { ILog log = Substitute.For <ILog>(); IProcessWrapperFactory procFactory = Substitute.For <IProcessWrapperFactory>(); procFactory.CreateProcess().Returns(new FakeStandardProcess()); var serviceApp = new ServiceApp { Name = "Test", AppVersion = new Version() }; ServiceAppProcess appProcToTest = new ServiceAppProcess(serviceApp, log, procFactory); bool shouldExit = appProcToTest.ProcessMessage("{debug:\"test\"}"); log.Received().Debug("From Test: test"); Assert.IsFalse(shouldExit, "Process message was not meant to return true"); }