use of com.nike.riposte.metrics.codahale.contrib.SignalFxReporterFactory in project riposte by Nike-Inc.
the class SignalFxEndpointMetricsHandlerTest method two_arg_constructor_sets_fields_as_expected.
@Test
public void two_arg_constructor_sets_fields_as_expected() {
// given
SignalFxReporterFactory reporterFactoryMock = mock(SignalFxReporterFactory.class);
Pair<Pair<SignalFxReporter, MetricMetadata>, Pair<Long, TimeUnit>> wiredUpMocksAndData = wireUpReporterFactoryMockForConstructor(reporterFactoryMock, metricRegistryMock);
MetricMetadata expectedMetricMetadata = wiredUpMocksAndData.getLeft().getRight();
long expectedReportingInterval = wiredUpMocksAndData.getRight().getLeft();
TimeUnit expectedReportingTimeUnit = wiredUpMocksAndData.getRight().getRight();
// when
SignalFxEndpointMetricsHandler instance = new SignalFxEndpointMetricsHandler(reporterFactoryMock, metricRegistryMock);
// then
assertThat(instance.metricMetadata).isSameAs(expectedMetricMetadata);
assertThat(instance.metricRegistry).isSameAs(metricRegistryMock);
assertThat(instance.requestTimerBuilder).isInstanceOf(RollingWindowTimerBuilder.class);
RollingWindowTimerBuilder rwtb = (RollingWindowTimerBuilder) instance.requestTimerBuilder;
assertThat(rwtb.amount).isEqualTo(expectedReportingInterval);
assertThat(rwtb.timeUnit).isEqualTo(expectedReportingTimeUnit);
assertThat(instance.requestTimerDimensionConfigurator).isSameAs(DEFAULT_REQUEST_LATENCY_TIMER_DIMENSION_CONFIGURATOR);
}
use of com.nike.riposte.metrics.codahale.contrib.SignalFxReporterFactory in project riposte by Nike-Inc.
the class SignalFxEndpointMetricsHandlerTest method two_arg_constructor_fails_with_IllegalArgumentException_if_reporting_frequency_args_are_null.
@DataProvider(value = { "true | false", "false | true" }, splitBy = "\\|")
@Test
public void two_arg_constructor_fails_with_IllegalArgumentException_if_reporting_frequency_args_are_null(boolean amountIsNull, boolean timeUnitIsNull) {
// given
SignalFxReporterFactory reporterFactoryMock = mock(SignalFxReporterFactory.class);
wireUpReporterFactoryMockForConstructor(reporterFactoryMock, metricRegistryMock);
if (amountIsNull)
doReturn(null).when(reporterFactoryMock).getInterval();
if (timeUnitIsNull)
doReturn(null).when(reporterFactoryMock).getTimeUnit();
// when
Throwable ex = catchThrowable(() -> new SignalFxEndpointMetricsHandler(reporterFactoryMock, metricRegistryMock));
// then
if (amountIsNull) {
assertThat(ex).isInstanceOf(IllegalArgumentException.class).hasMessage("reportingFrequency amount cannot be null");
}
if (timeUnitIsNull) {
assertThat(ex).isInstanceOf(IllegalArgumentException.class).hasMessage("reportingFrequency TimeUnit cannot be null");
}
}
use of com.nike.riposte.metrics.codahale.contrib.SignalFxReporterFactory in project riposte by Nike-Inc.
the class SignalFxEndpointMetricsHandlerTest method two_arg_constructor_fails_with_IllegalArgumentException_if_metricRegistry_is_null.
@Test
public void two_arg_constructor_fails_with_IllegalArgumentException_if_metricRegistry_is_null() {
// given
SignalFxReporterFactory reporterFactoryMock = mock(SignalFxReporterFactory.class);
wireUpReporterFactoryMockForConstructor(reporterFactoryMock, metricRegistryMock);
// when
Throwable ex = catchThrowable(() -> new SignalFxEndpointMetricsHandler(reporterFactoryMock, null));
// then
assertThat(ex).isInstanceOf(IllegalArgumentException.class).hasMessage("MetricRegistry cannot be null");
}
Aggregations