public void Handle_with_ClusterRemovedServerEvent_should_trace_event() { const string traceSourceName = "HandleClusterRemovedServerEventShould_Log_To_File"; const string logFileName = traceSourceName + "-log"; var @event = new ClusterRemovedServerEvent( new ServerId(new ClusterId(), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42)), "The cake is a lie.", new TimeSpan(42)); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ServerId.ClusterId)}: removed server " + $"{TraceSourceEventHelper.Format(@event.ServerId)} in {@event.Duration.TotalMilliseconds}ms. " + $"Reason: {@event.Reason}"; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public static void Handle(this TraceSourceSdamEventSubscriber subject, ClusterRemovedServerEvent @event) => Reflector.Invoke(subject, "Handle", @event);