@Test public void single_arg_constructor_sets_fields_as_expected() { // given setupMetricRegistryAndCodahaleMetricsCollector(); // when CodahaleMetricsListener instance = new CodahaleMetricsListener(cmcMock); // then verifyServerStatisticMetrics(instance); assertThat(instance.getMetricsCollector()).isSameAs(cmcMock); assertThat(instance.metricsCollector).isSameAs(cmcMock); assertThat(instance.endpointMetricsHandler) .isNotNull() .isInstanceOf(EndpointMetricsHandlerDefaultImpl.class); assertThat(instance.getEndpointMetricsHandler()).isSameAs(instance.endpointMetricsHandler); assertThat(instance.includeServerConfigMetrics).isFalse(); assertNamingStrategyIsDefault(instance.serverStatsMetricNamingStrategy, DEFAULT_PREFIX, DEFAULT_WORD_DELIMITER); assertNamingStrategyIsDefault(instance.serverConfigMetricNamingStrategy, ServerConfig.class.getSimpleName(), DEFAULT_WORD_DELIMITER); assertThat(registeredGauges).isEmpty(); }
@Test public void kitchen_sink_constructor_handles_default_args() { // given setupMetricRegistryAndCodahaleMetricsCollector(); // when CodahaleMetricsListener instance = new CodahaleMetricsListener( cmcMock, null, false, null, null, null ); // then verifyServerStatisticMetrics(instance); assertThat(instance.getMetricsCollector()).isSameAs(cmcMock); assertThat(instance.metricsCollector).isSameAs(cmcMock); assertThat(instance.endpointMetricsHandler) .isNotNull() .isInstanceOf(EndpointMetricsHandlerDefaultImpl.class); assertThat(instance.getEndpointMetricsHandler()).isSameAs(instance.endpointMetricsHandler); assertThat(instance.includeServerConfigMetrics).isFalse(); assertNamingStrategyIsDefault(instance.serverStatsMetricNamingStrategy, DEFAULT_PREFIX, DEFAULT_WORD_DELIMITER); assertNamingStrategyIsDefault(instance.serverConfigMetricNamingStrategy, ServerConfig.class.getSimpleName(), DEFAULT_WORD_DELIMITER); assertThat(instance.requestAndResponseSizeHistogramSupplier) .isSameAs(DEFAULT_REQUEST_AND_RESPONSE_SIZE_HISTOGRAM_SUPPLIER); assertThat(registeredGauges).isEmpty(); }
@DataProvider(value = { "true", "false" }) @Test public void kitchen_sink_constructor_sets_fields_as_expected(boolean includeServerConfigMetrics) { // given setupMetricRegistryAndCodahaleMetricsCollector(); MetricNamingStrategy<ServerStatisticsMetricNames> statsNamingStrategyMock = new DefaultMetricNamingStrategy<>(); MetricNamingStrategy<ServerConfigMetricNames> configNamingStrategyMock = new DefaultMetricNamingStrategy<>(); Supplier<Histogram> customRequestAndResponseSizeHistogramSupplier = () -> mock(Histogram.class); // when CodahaleMetricsListener instance = new CodahaleMetricsListener( cmcMock, endpointMetricsHandlerMock, includeServerConfigMetrics, statsNamingStrategyMock, configNamingStrategyMock, customRequestAndResponseSizeHistogramSupplier ); // then verifyServerStatisticMetrics(instance); assertThat(instance.getMetricsCollector()).isSameAs(cmcMock); assertThat(instance.metricsCollector).isSameAs(cmcMock); assertThat(instance.getEndpointMetricsHandler()).isSameAs(endpointMetricsHandlerMock); assertThat(instance.endpointMetricsHandler).isSameAs(endpointMetricsHandlerMock); assertThat(instance.includeServerConfigMetrics).isEqualTo(includeServerConfigMetrics); assertThat(instance.serverStatsMetricNamingStrategy).isSameAs(statsNamingStrategyMock); assertThat(instance.serverConfigMetricNamingStrategy).isSameAs(configNamingStrategyMock); assertThat(instance.requestAndResponseSizeHistogramSupplier) .isSameAs(customRequestAndResponseSizeHistogramSupplier); assertThat(registeredGauges).isEmpty(); }