public void ExceptionFromEventHandlerIsLoggedAndDoesNotStopOtherHandlers() { var values1 = new EventSink <string>(); myEvent += (sender, args) => throw new Exception("sorry"); myEvent += values1.Add; executor.ScheduleEvent("hello", myEvent); Assert.Equal("hello", values1.ExpectValue()); AssertEventually(TimeSpan.FromSeconds(10), TimeSpan.FromMilliseconds(20), () => logCapture.HasMessageWithText(LogLevel.Error, "Unexpected exception from event handler for String: System.Exception: sorry") && logCapture.HasMessageWithRegex(LogLevel.Debug, "at LaunchDarkly.Sdk.Internal.Concurrent.TaskExecutorTest")); }
public void AssertLogMessageRegex(bool shouldHave, LogLevel level, string pattern) { if (LogCapture.HasMessageWithRegex(level, pattern) != shouldHave) { ThrowLogMatchException(shouldHave, level, pattern, true); } }
public static void LogMessageRegex(LogCapture logCapture, bool shouldHave, LogLevel level, string pattern) { if (logCapture.HasMessageWithRegex(level, pattern) != shouldHave) { ThrowLogMatchException(logCapture, shouldHave, level, pattern, true); } }
public void CustomPollingDataSourceBaseUri() { using (var client = new LdClient( BasicConfig() .DataSource(Components.PollingDataSource()) .Http(Components.HttpConfiguration().MessageHandler(_stubHandler)) .ServiceEndpoints(Components.ServiceEndpoints().Polling(CustomUri)) .Build())) { var req = _stubHandler.Requests.ExpectValue(); Assert.Equal(CustomUri, BaseUriOf(req.RequestUri)); Assert.False(LogCapture.HasMessageWithRegex(LogLevel.Error, "You have set custom ServiceEndpoints without specifying")); } }