Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        // [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);
        }