@Test public void testCounterToCell() { MetricsContainer mockContainer = Mockito.mock(MetricsContainer.class); Counter mockCounter = Mockito.mock(Counter.class); when(mockContainer.getCounter(METRIC_NAME)).thenReturn(mockCounter); Counter counter = Metrics.counter(NS, NAME); MetricsEnvironment.setCurrentContainer(mockContainer); counter.inc(); verify(mockCounter).inc(1); counter.inc(47L); verify(mockCounter).inc(47); counter.dec(5L); verify(mockCounter).inc(-5); } }
@Test public void testUsesAppropriateMetricsContainer() { Counter counter = Metrics.counter("ns", "name"); MetricsContainer c1 = Mockito.mock(MetricsContainer.class); MetricsContainer c2 = Mockito.mock(MetricsContainer.class); Counter counter1 = Mockito.mock(Counter.class); Counter counter2 = Mockito.mock(Counter.class); when(c1.getCounter(MetricName.named("ns", "name"))).thenReturn(counter1); when(c2.getCounter(MetricName.named("ns", "name"))).thenReturn(counter2); MetricsEnvironment.setCurrentContainer(c1); counter.inc(); MetricsEnvironment.setCurrentContainer(c2); counter.dec(); MetricsEnvironment.setCurrentContainer(null); verify(counter1).inc(1L); verify(counter2).inc(-1L); verifyNoMoreInteractions(counter1, counter2); }