public void when_subscribing_then_receives_related_activity_id() { var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); var activityId = Guid.NewGuid(); var relatedActivityId = Guid.NewGuid(); Guid previousActivityId; EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId); try { Logger.EventWithPayloadAndMessageAndRelatedActivityId(relatedActivityId, "Test", 100); } finally { EventSource.SetCurrentThreadActivityId(previousActivityId); } Assert.AreEqual(activityId, sink.OnNextCalls.ElementAt(0).ActivityId); Assert.AreEqual(relatedActivityId, sink.OnNextCalls.ElementAt(0).RelatedActivityId); }
public void when_unsubscribing_then_does_not_send_OnCompleted_to_sink() { var sink = new MockSink(); var subscription = listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); subscription.Dispose(); Assert.AreEqual(0, sink.OnCompletedCalls); }
public void when_subscribing_then_receives_raw_payload() { var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); Logger.Informational("Test"); Assert.AreEqual(1, sink.OnNextCalls.ElementAt(0).Payload.Count); Assert.AreEqual("Test", sink.OnNextCalls.ElementAt(0).Payload[0]); }
public void when_disposing_listener_then_sends_OnCompleted() { var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); Assert.AreEqual(0, sink.OnCompletedCalls); listener.Dispose(); Assert.AreEqual(1, sink.OnCompletedCalls); }
public void when_disposing_listener_then_stops_publishing_events() { var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); listener.Dispose(); Logger.Informational("Test"); Assert.AreEqual(0, sink.OnNextCalls.Count()); }
public void when_subscribing_then_receives_parsed_schema() { var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); Logger.Informational("Test"); var expectedSchema = EventSourceSchemaCache.Instance.GetSchema(TestEventSource.InformationalEventId, Logger); Assert.AreEqual(expectedSchema, sink.OnNextCalls.ElementAt(0).Schema); }
public void when_subscribing_then_receives_events() { var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); Logger.Informational("Test"); Assert.AreEqual(1, sink.OnNextCalls.Count()); Assert.AreEqual(TestEventSource.InformationalEventId, sink.OnNextCalls.ElementAt(0).EventId); Assert.AreEqual(EventLevel.Informational, sink.OnNextCalls.ElementAt(0).Schema.Level); }
public MetricsLoggerTests() { _fixture = new Fixture().Customize(new AutoNSubstituteCustomization()); _logger = _fixture.Create <ILoggerFactory>(); _environment = _fixture.Create <IEnvironment>(); _environmentProvider = _fixture.Create <IEnvironmentProvider>(); _sink = new MockSink(); _environment.Sink.Returns(_sink); _environmentProvider.ResolveEnvironment().Returns(_environment); _metricsLogger = new MetricsLogger(_environmentProvider, _logger); }
public void can_subscribe_multiple_sinks() { var sink1 = new MockSink(); var sink2 = new MockSink(); listener.Subscribe(sink1); listener.Subscribe(sink2); listener.EnableEvents(Logger, EventLevel.LogAlways); Logger.Informational("Test"); Assert.AreEqual(1, sink1.OnNextCalls.Count()); Assert.AreEqual(1, sink2.OnNextCalls.Count()); }
public void when_disposing_listener_then_does_not_dispose_sinks() { var sink1 = new MockSink(); var sink2 = new MockSink(); listener.Subscribe(sink1); listener.Subscribe(sink2); listener.EnableEvents(Logger, EventLevel.LogAlways); Assert.IsFalse(sink1.DisposeCalled); Assert.IsFalse(sink2.DisposeCalled); listener.Dispose(); Assert.IsFalse(sink1.DisposeCalled); Assert.IsFalse(sink2.DisposeCalled); }
public void when_disposing_listener_then_calls_OnCompleted_on_sinks() { var sink1 = new MockSink(); var sink2 = new MockSink(); listener.Subscribe(sink1); listener.Subscribe(sink2); listener.EnableEvents(Logger, EventLevel.LogAlways); Assert.AreEqual(0, sink1.OnCompletedCalls); Assert.AreEqual(0, sink2.OnCompletedCalls); listener.Dispose(); Assert.AreEqual(1, sink1.OnCompletedCalls); Assert.AreEqual(1, sink2.OnCompletedCalls); }
public void when_subscribing_then_receives_events() { var processId = System.Diagnostics.Process.GetCurrentProcess().Id; var threadId = Utility.NativeMethods.GetCurrentThreadId(); var sink = new MockSink(); listener.Subscribe(sink); listener.EnableEvents(Logger, EventLevel.LogAlways); Logger.Informational("Test"); Assert.AreEqual(1, sink.OnNextCalls.Count()); Assert.AreEqual(TestEventSource.InformationalEventId, sink.OnNextCalls.ElementAt(0).EventId); Assert.AreEqual(EventLevel.Informational, sink.OnNextCalls.ElementAt(0).Schema.Level); Assert.AreEqual(processId, sink.OnNextCalls.ElementAt(0).ProcessId); Assert.AreEqual(threadId, sink.OnNextCalls.ElementAt(0).ThreadId); }