package eu.choreos.monitoring.platform.daemon; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.junit.Before; import org.junit.Test; import eu.choreos.monitoring.platform.daemon.datatypes.Host; import eu.choreos.monitoring.platform.daemon.datatypes.Metric; import eu.choreos.monitoring.platform.exception.GangliaException; import eu.choreos.monitoring.platform.utils.GmondDataReader; public class HostManagerTest { private HostManager hostManager; private GmondDataReader dataReader; private List<Host> hostList; @Before public void setUp() throws GangliaException { dataReader = mock(GmondDataReader.class); hostManager = new HostManager(dataReader); hostList = new ArrayList<Host>(); } @Test public void shouldNotFindHostsDown() throws GangliaException { HashMap<String, Metric> hashMap = new HashMap<String, Metric>(); hashMap.put("test", (new Metric("test", "0.0", 10, 30, 0))); hostList.add(new Host("test", "test", "ip", hashMap, 20,30)); when(dataReader.getUpToDateHostsInfo()).thenReturn(hostList); hostManager.getDataReaderHostInfo(); assertEquals(0, hostManager.getHostsDown().size()); assertEquals(false, hostManager.thereAreHostsDown()); } @Test public void shouldFindHostsDown() throws GangliaException { HashMap<String, Metric> hashMap = new HashMap<String, Metric>(); hashMap.put("load_one", new Metric("load_one", "value", 90, 20, 10)); hostList.add(new Host("test", "test", "ip", hashMap, 35, 20)); when(dataReader.getUpToDateHostsInfo()).thenReturn(hostList); hostManager.getDataReaderHostInfo(); assertEquals(1, hostManager.getHostsDown().size()); assertEquals(true, hostManager.thereAreHostsDown()); } }