package org.ovirt.engine.core.dao; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VdsDynamic; import org.ovirt.engine.core.common.businessentities.VdsStatic; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.NGuid; public class VdsDynamicDAOTest extends BaseDAOTestCase { private static final Guid EXISTING_VDS_ID = new Guid("afce7a39-8e8c-4819-ba9c-796d316592e7"); private VdsDynamicDAO dao; private VdsStaticDAO staticDao; private VdsStatisticsDAO statisticsDao; private VdsStatic existingVds; private VdsStatic newStaticVds; private VdsDynamic newDynamicVds; @Override public void setUp() throws Exception { super.setUp(); dao = prepareDAO(dbFacade.getVdsDynamicDAO()); staticDao = prepareDAO(dbFacade.getVdsStaticDAO()); statisticsDao = prepareDAO(dbFacade.getVdsStatisticsDAO()); existingVds = staticDao.get(EXISTING_VDS_ID); newStaticVds = new VdsStatic(); newStaticVds.sethost_name("farkle.redhat.com"); newStaticVds.setvds_group_id(existingVds.getvds_group_id()); newDynamicVds = new VdsDynamic(); } /** * Ensures that an invalid id returns null. */ @Test public void testGetWithInvalidId() { VdsDynamic result = dao.get(NGuid.NewGuid()); assertNull(result); } /** * Ensures that the right object is returned. */ @Test public void testGet() { VdsDynamic result = dao.get(existingVds.getId()); assertNotNull(result); assertEquals(existingVds.getId(), result.getId()); } /** * Ensures saving a VDS instance works. */ @Test public void testSave() { staticDao.save(newStaticVds); newDynamicVds.setId(newStaticVds.getId()); dao.save(newDynamicVds); VdsStatic staticResult = staticDao.get(newStaticVds.getId()); VdsDynamic dynamicResult = dao.get(newDynamicVds.getId()); assertNotNull(staticResult); assertEquals(newStaticVds, staticResult); assertNotNull(dynamicResult); assertEquals(newDynamicVds, dynamicResult); } /** * Ensures removing a VDS instance works. */ @Test public void testRemove() { dao.remove(existingVds.getId()); statisticsDao.remove(existingVds.getId()); staticDao.remove(existingVds.getId()); VdsStatic resultStatic = staticDao.get(existingVds.getId()); assertNull(resultStatic); VdsDynamic resultDynamic = dao.get(existingVds.getId()); assertNull(resultDynamic); } @Test public void testUpdateStatus() { VdsDynamic before = dao.get(existingVds.getId()); before.setstatus(VDSStatus.Down); dao.updateStatus(before.getId(), before.getstatus()); VdsDynamic after = dao.get(existingVds.getId()); assertEquals(before, after); } }