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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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();
        }