public void HandleClusterDescriptionChangedEventShould_Log_To_File() { const string traceSourceName = "HandleClusterDescriptionChangedEventShould_Log_To_File"; const string logFileName = traceSourceName + "-log"; var ipAddress = new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42); var @event = new ClusterDescriptionChangedEvent( #pragma warning disable CS0618 // Type or member is obsolete oldDescription: new ClusterDescription( new ClusterId(), ClusterConnectionMode.Automatic, ClusterType.Unknown, new ServerDescription[] { }), newDescription: new ClusterDescription( new ClusterId(), ClusterConnectionMode.Direct, ClusterType.Standalone, new ServerDescription[] { new ServerDescription(new ServerId(new ClusterId(), ipAddress), ipAddress) })); #pragma warning restore CS0618 // Type or member is obsolete var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.OldDescription.ClusterId)}: {@event.NewDescription}"; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void Handle_with_SdamInformationEvent_should_trace_event() { const string traceSourceName = "Handle_with_SdamInformationEvent_should_trace_event"; const string logFileName = traceSourceName + "-log"; const string expectedLogMessage = "This was a triumph."; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(new SdamInformationEvent(() => expectedLogMessage)); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void Handle_with_ClusterClosingEvent_should_trace_event() { const string traceSourceName = "HandleClusterClosing_EventShould_Log_To_File"; const string logFileName = traceSourceName + "-log"; var @event = new ClusterClosingEvent(new ClusterId()); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ClusterId)}: closing."; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void Handle_with_ClusterClosedEvent_should_trace_event() { const string traceSourceName = "Handle_with_ClusterClosedEvent_should_trace_event"; const string logFileName = traceSourceName + "-log"; var @event = new ClusterClosedEvent(new ClusterId(), new TimeSpan(1)); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ClusterId)}: closed in {@event.Duration.TotalMilliseconds}ms."; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void Handle_with_ServerClosingEvent_should_trace_event() { const string traceSourceName = "Handle_with_ServerClosingEvent_should_trace_event"; const string logFileName = traceSourceName + "-log"; var @event = new ServerClosingEvent(new ServerId(new ClusterId(), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42))); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ServerId)}: closing."; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void Handle_with_ServerHeartbeatFailedEvent_should_trace_event() { const string traceSourceName = "Handle_with_ServerHeartbeatFailedEvent_should_trace_event"; const string logFileName = traceSourceName + "-log"; var @event = new ServerHeartbeatFailedEvent( new ConnectionId(new ServerId(new ClusterId(), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42))), new Exception("The cake is a lie.")); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ConnectionId)}: error sending heartbeat."; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void Handle_with_ServerHeartbeatSucceededEvent_should_trace_event() { const string traceSourceName = "Handle_with_ServerHeartbeatSucceededEvent_should_trace_event"; const string logFileName = traceSourceName + "-log"; var @event = new ServerHeartbeatSucceededEvent( new ConnectionId(new ServerId(new ClusterId(), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42))), new TimeSpan(42)); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ConnectionId)}: sent heartbeat in {@event.Duration.TotalMilliseconds}ms."; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); subject.Handle(@event); var log = ReadLog(traceSource, logFileName); log.Should().Contain(expectedLogMessage); }
public void HandleClusterRemovingServerEventShould_Log_To_File() { const string traceSourceName = "HandleClusterRemovingServerEventShould_Log_To_File"; const string logFileName = traceSourceName + "-log"; var @event = new ClusterRemovingServerEvent( new ServerId(new ClusterId(), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42)), "The cake is a lie."); var expectedLogMessage = $"{TraceSourceEventHelper.Label(@event.ServerId.ClusterId)}: removing server " + $"{TraceSourceEventHelper.Format(@event.ServerId)}. 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, ServerDescriptionChangedEvent @event) => Reflector.Invoke(subject, "Handle", @event);
public static void Handle(this TraceSourceSdamEventSubscriber subject, ServerHeartbeatFailedEvent @event) => Reflector.Invoke(subject, "Handle", @event);
public static void Handle(this TraceSourceSdamEventSubscriber subject, ServerClosingEvent @event) => Reflector.Invoke(subject, "Handle", @event);
public static void Handle(this TraceSourceSdamEventSubscriber subject, SdamInformationEvent @event) => Reflector.Invoke(subject, "Handle", @event);
public static void Handle(this TraceSourceSdamEventSubscriber subject, ClusterRemovedServerEvent @event) => Reflector.Invoke(subject, "Handle", @event);
private void TryGetEventHandler_should_return_expected_handlers() { const string traceSourceName = "TryGetEventHandler_should_return_expected_handlers"; const string logFileName = traceSourceName + "-log"; var traceSource = CreateTraceSource(logFileName, logFileName); var subject = new TraceSourceSdamEventSubscriber(traceSource); Action <ClusterOpeningEvent> clusterOpeningEventHandler; Action <ClusterOpenedEvent> clusterOpenedEventHandler; Action <ClusterClosingEvent> clusterClosingEventHandler; Action <ClusterClosedEvent> clusterClosedEventHandler; Action <ClusterAddingServerEvent> clusterAddingServerEventHandler; Action <ClusterAddedServerEvent> clusterAddedServerEventHandler; Action <ClusterRemovingServerEvent> clusterRemovingServerEventHandler; Action <ClusterRemovedServerEvent> clusterRemovedServerEventHandler; Action <ClusterDescriptionChangedEvent> clusterDescriptionChangedEventHandler; Action <SdamInformationEvent> sdamInformationEventHandler; Action <ServerOpeningEvent> serverOpeningEventHandler; Action <ServerOpenedEvent> serverOpenedEventHandler; Action <ServerClosingEvent> serverClosingEventHandler; Action <ServerClosedEvent> serverClosedEventHandler; Action <ServerHeartbeatStartedEvent> serverHeartbeatStartedEventHandler; Action <ServerHeartbeatSucceededEvent> serverHeartbeatSucceededEventHandler; Action <ServerHeartbeatFailedEvent> serverHeartbeatFailedEventHandler; Action <ServerDescriptionChangedEvent> serverDescriptionChangedEventHandler; subject.TryGetEventHandler(out clusterOpeningEventHandler); subject.TryGetEventHandler(out clusterOpenedEventHandler); subject.TryGetEventHandler(out clusterClosingEventHandler); subject.TryGetEventHandler(out clusterClosedEventHandler); subject.TryGetEventHandler(out clusterAddingServerEventHandler); subject.TryGetEventHandler(out clusterAddedServerEventHandler); subject.TryGetEventHandler(out clusterRemovingServerEventHandler); subject.TryGetEventHandler(out clusterRemovedServerEventHandler); subject.TryGetEventHandler(out clusterDescriptionChangedEventHandler); subject.TryGetEventHandler(out sdamInformationEventHandler); subject.TryGetEventHandler(out serverOpeningEventHandler); subject.TryGetEventHandler(out serverOpenedEventHandler); subject.TryGetEventHandler(out serverClosingEventHandler); subject.TryGetEventHandler(out serverClosedEventHandler); subject.TryGetEventHandler(out serverHeartbeatStartedEventHandler); subject.TryGetEventHandler(out serverHeartbeatSucceededEventHandler); subject.TryGetEventHandler(out serverHeartbeatFailedEventHandler); subject.TryGetEventHandler(out serverDescriptionChangedEventHandler); clusterOpeningEventHandler.Should().NotBeNull(); clusterOpenedEventHandler.Should().NotBeNull(); clusterClosingEventHandler.Should().NotBeNull(); clusterClosedEventHandler.Should().NotBeNull(); clusterAddingServerEventHandler.Should().NotBeNull(); clusterAddedServerEventHandler.Should().NotBeNull(); clusterRemovingServerEventHandler.Should().NotBeNull(); clusterRemovedServerEventHandler.Should().NotBeNull(); clusterDescriptionChangedEventHandler.Should().NotBeNull(); sdamInformationEventHandler.Should().NotBeNull(); serverOpeningEventHandler.Should().NotBeNull(); serverOpenedEventHandler.Should().NotBeNull(); serverClosingEventHandler.Should().NotBeNull(); serverClosedEventHandler.Should().NotBeNull(); serverHeartbeatStartedEventHandler.Should().NotBeNull(); serverHeartbeatSucceededEventHandler.Should().NotBeNull(); serverHeartbeatFailedEventHandler.Should().NotBeNull(); serverDescriptionChangedEventHandler.Should().NotBeNull(); }