public async Task ReturnsExpectedPushResultForStatusCode(int responseCode, int expectedPushResult) { using var agent = new ErroringTelemetryAgent(responseCode: responseCode, port: TcpPortProvider.GetOpenPort()); var telemetryUri = new Uri($"http://localhost:{agent.Port}"); // Uses framework specific transport var transport = new TelemetryTransportFactory(telemetryUri, apiKey: null).Create(); var data = GetSampleData(); var result = await transport.PushTelemetry(data); result.Should().Be((TelemetryPushResult)expectedPushResult); }
public async Task WhenNoListener_ReturnsFatalError() { // Nothing listening on this port (currently) var port = TcpPortProvider.GetOpenPort(); var telemetryUri = new Uri($"http://localhost:{port}"); // Uses framework specific transport var transport = new TelemetryTransportFactory(telemetryUri, apiKey: null).Create(); var data = GetSampleData(); var result = await transport.PushTelemetry(data); result.Should().Be(TelemetryPushResult.FatalError); }
public async Task CanSendTelemetry() { using var agent = new MockTelemetryAgent <TelemetryData>(TcpPortProvider.GetOpenPort()); var telemetryUri = new Uri($"http://localhost:{agent.Port}"); // Uses framework specific transport var transport = new TelemetryTransportFactory(telemetryUri, apiKey: null).Create(); var data = GetSampleData(); var result = await transport.PushTelemetry(data); result.Should().Be(TelemetryPushResult.Success); var received = agent.WaitForLatestTelemetry(x => x.SeqId == data.SeqId); received.Should().NotBeNull(); // check some basic values received.SeqId.Should().Be(data.SeqId); received.Application.Env.Should().Be(data.Application.Env); received.Application.ServiceName.Should().Be(data.Application.ServiceName); }