package org.ovirt.engine.core.dao; import static org.junit.Assert.*; import java.util.List; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.VdsDynamic; import org.ovirt.engine.core.common.businessentities.VdsStatic; import org.ovirt.engine.core.common.businessentities.VdsStatistics; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.NGuid; public class VdsStaticDAOTest extends BaseDAOTestCase { private static final Guid EXISTING_VDS_ID = new Guid("afce7a39-8e8c-4819-ba9c-796d316592e7"); private static final String IP_ADDRESS = "192.168.122.17"; private VdsStaticDAO dao; private VdsDynamicDAO dynamicDao; private VdsStatisticsDAO statisticsDao; private VdsStatic existingVds; private VdsStatic newStaticVds; @Override public void setUp() throws Exception { super.setUp(); dao = prepareDAO(dbFacade.getVdsStaticDAO()); dynamicDao = prepareDAO(dbFacade.getVdsDynamicDAO()); statisticsDao = prepareDAO(dbFacade.getVdsStatisticsDAO()); existingVds = dao.get(EXISTING_VDS_ID); newStaticVds = new VdsStatic(); newStaticVds.sethost_name("farkle.redhat.com"); newStaticVds.setvds_group_id(existingVds.getvds_group_id()); } /** * Ensures that an invalid id returns null. */ @Test public void testGetWithInvalidId() { VdsStatic result = dao.get(NGuid.NewGuid()); assertNull(result); } /** * Ensures that the right object is returned. */ @Test public void testGet() { VdsStatic result = dao.get(existingVds.getId()); assertNotNull(result); assertEquals(existingVds.getId(), result.getId()); } /** * Ensures null is returned when the name is invalid. */ @Test public void testGetByNameWithInvalidName() { VdsStatic result = dao.get("farkle"); assertNull(result); } /** * Ensures that retrieving by name works. */ @Test public void testGetByName() { VdsStatic result = dao.get(existingVds.getvds_name()); assertNotNull(result); assertEquals(existingVds.getvds_name(), result.getvds_name()); } /** * Ensures all the right VdsStatic instances are returned. */ @Test public void testGetAllForHost() { List<VdsStatic> result = dao.getAllForHost(existingVds .gethost_name()); assertNotNull(result); assertFalse(result.isEmpty()); for (VdsStatic vds : result) { assertEquals(existingVds.gethost_name(), vds.gethost_name()); } } /** * Ensures the right set of VdsStatic instances are returned. */ @Test public void testGetAllWithIpAddress() { List<VdsStatic> result = dao.getAllWithIpAddress(IP_ADDRESS); assertNotNull(result); assertFalse(result.isEmpty()); } /** * Ensures all the right set of VdsStatic instances are returned. */ @Test public void testGetAllForVdsGroup() { List<VdsStatic> result = dao.getAllForVdsGroup(existingVds .getvds_group_id()); assertNotNull(result); assertFalse(result.isEmpty()); for (VdsStatic vds : result) { assertEquals(existingVds.getvds_group_id(), vds.getvds_group_id()); } } /** * Ensures saving a VDS instance works. */ @Test public void testSave() { dao.save(newStaticVds); VdsStatic staticResult = dao.get(newStaticVds.getId()); assertNotNull(staticResult); assertEquals(newStaticVds, staticResult); } /** * Ensures removing a VDS instance works. */ @Test public void testRemove() { statisticsDao.remove(existingVds.getId()); dynamicDao.remove(existingVds.getId()); dao.remove(existingVds.getId()); VdsStatic resultStatic = dao.get(existingVds.getId()); assertNull(resultStatic); VdsDynamic resultDynamic = dynamicDao.get(existingVds.getId()); assertNull(resultDynamic); VdsStatistics resultStatistics = statisticsDao.get(existingVds.getId()); assertNull(resultStatistics); } }