public void FlushCanBeAborted() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)) { SendingInterval = TimeSpan.FromDays(1), EndpointAddress = "http://localhost/bad" }; channel.Send(new StubTelemetry()); // Send telemetry so that it sets next send intreval and does not interfere with Flush channel.Flush(); var transmission = new StubTelemetry(); channel.Send(transmission); using (TestEventListener listener = new TestEventListener()) { listener.EnableEvents(CoreEventSource.Log, EventLevel.Warning); channel.Flush(TimeSpan.FromTicks(1)); var expectedMessage = listener.Messages.First(); Assert.Equal(24, expectedMessage.EventId); } }
public void FlushCanBeAborted() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)) { SendingInterval = TimeSpan.FromDays(1), EndpointAddress = "http://localhost/bad" }; var telemetry = new TraceTelemetry("test"); telemetry.Context.InstrumentationKey = Guid.NewGuid().ToString(); channel.Send(telemetry); // Send telemetry so that it sets next send interval and does not interfere with Flush channel.Flush(); telemetry = new TraceTelemetry("test"); telemetry.Context.InstrumentationKey = Guid.NewGuid().ToString(); channel.Send(telemetry); using (TestEventListener listener = new TestEventListener()) { listener.EnableEvents(CoreEventSource.Log, EventLevel.Warning); channel.Flush(TimeSpan.FromSeconds(1)); var expectedMessage = listener.Messages.First(); Assert.AreEqual(24, expectedMessage.EventId); } }
public async Task FlushAsyncRespectsCancellationToken() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); sentTelemetry.Context.InstrumentationKey = Guid.NewGuid().ToString(); channel.Send(sentTelemetry); await Assert.ThrowsExceptionAsync <TaskCanceledException>(() => channel.FlushAsync(new CancellationToken(true))); }
public void WhenSendIsCalledTheEventIsBeingQueuedInTheBuffer() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); channel.Send(sentTelemetry); IEnumerable<ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.Equal(1, telemetries.Count()); Assert.Same(sentTelemetry, telemetries.First()); }
public void WhenSendIsCalledTheEventIsBeingQueuedInTheBuffer() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); channel.Send(sentTelemetry); IEnumerable <ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.Equal(1, telemetries.Count()); Assert.Same(sentTelemetry, telemetries.First()); }
public void WhenSendIsCalledTheEventIsBeingQueuedInTheBuffer() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); sentTelemetry.Context.InstrumentationKey = Guid.NewGuid().ToString(); channel.Send(sentTelemetry); IEnumerable <ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.AreEqual(1, telemetries.Count()); Assert.AreSame(sentTelemetry, telemetries.First()); }
public void TelemetryWithNoInstrumentationKeyIsDropped() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); // No instrumentation key using (TestEventListener listener = new TestEventListener()) { listener.EnableEvents(CoreEventSource.Log, EventLevel.Verbose); channel.Send(sentTelemetry); IEnumerable <ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.IsNull(telemetries); var expectedMessage = listener.Messages.First(); Assert.AreEqual(35, expectedMessage.EventId); } }