package io.prometheus.client.hotspot;
import io.prometheus.client.CollectorRegistry;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import java.lang.management.ClassLoadingMXBean;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
public class ClassLoadingExportsTest {
private ClassLoadingMXBean mockClassLoadingsBean = Mockito.mock(ClassLoadingMXBean.class);
private CollectorRegistry registry = new CollectorRegistry();
private ClassLoadingExports collectorUnderTest;
private static final String[] EMPTY_LABEL = new String[0];
@Before
public void setUp() {
when(mockClassLoadingsBean.getLoadedClassCount()).thenReturn(1000);
when(mockClassLoadingsBean.getTotalLoadedClassCount()).thenReturn(2000L);
when(mockClassLoadingsBean.getUnloadedClassCount()).thenReturn(500L);
collectorUnderTest = new ClassLoadingExports(mockClassLoadingsBean).register(registry);
}
@Test
public void testClassLoading() {
assertEquals(
1000,
registry.getSampleValue(
"jvm_classes_loaded", EMPTY_LABEL, EMPTY_LABEL),
.0000001);
assertEquals(
2000L,
registry.getSampleValue(
"jvm_classes_loaded_total", EMPTY_LABEL, EMPTY_LABEL),
.0000001);
assertEquals(
500L,
registry.getSampleValue(
"jvm_classes_unloaded_total", EMPTY_LABEL, EMPTY_LABEL),
.0000001);
}
}