private static IMetricReporter CreateReporter(IMetricPayloadBuilder <TestMetricPayload> payloadBuilder) { var loggerFactory = new LoggerFactory(); var settings = new TestReporterSettings(); return(new ReportRunner <TestMetricPayload>( p => { var payload = p.Payload(); return AppMetricsTaskCache.SuccessTask; }, payloadBuilder, settings.ReportInterval, "Test Reporter", loggerFactory, settings.MetricNameFormatter, settings.DataKeys)); }
// [Fact] // public async Task on_end_report_clears_playload() // { // var metricsMock = new Mock<IMetrics>(); // var payloadBuilderMock = new Mock<IMetricPayloadBuilder<TestMetricPayload>>(); // payloadBuilderMock.Setup(p => p.Clear()); // var items = CreateReporterAndPayloadBuilder(payloadBuilderMock.Object); // await items.Item1.EndAndFlushReportRunAsync(metricsMock.Object).ConfigureAwait(false); // payloadBuilderMock.Verify(p => p.Clear(), Times.Once); // } // [Fact] // public void when_disposed_clears_playload() // { // var payloadBuilderMock = new Mock<IMetricPayloadBuilder<TestMetricPayload>>(); // payloadBuilderMock.Setup(p => p.Clear()); // var items = CreateReporterAndPayloadBuilder(); // items.Item1.Dispose(); // payloadBuilderMock.Verify(p => p.Clear(), Times.Once); // } private static (IMetricReporter, IMetricPayloadBuilder <TestMetricPayload>) CreateReporterAndPayloadBuilder() { var loggerFactory = new LoggerFactory(); var settings = new TestReporterSettings(); var payloadBuilder = new TestPayloadBuilder(settings.MetricNameFormatter, settings.DataKeys); var reporter = new ReportRunner <TestMetricPayload>( p => { var payload = p.Payload(); return(AppMetricsTaskCache.SuccessTask); }, payloadBuilder, settings.ReportInterval, "Test Reporter", loggerFactory); return(reporter, payloadBuilder); }