package org.ovirt.engine.core.dao; import static org.junit.Assert.*; import java.util.List; import org.junit.Before; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.AdRefStatus; import org.ovirt.engine.core.common.businessentities.ad_groups; import org.ovirt.engine.core.compat.Guid; /** * <code>AdGroupDAOTest</code> performs tests against the {@link AdGroupDAO} type. * * */ public class AdGroupDAOTest extends BaseDAOTestCase { private static final int AD_GROUP_COUNT = 10; private AdGroupDAO dao; private ad_groups newAdGroup; private ad_groups existingAdGroup; @Override @Before public void setUp() throws Exception { super.setUp(); dao = prepareDAO(dbFacade.getAdGroupDAO()); // create some test data newAdGroup = new ad_groups(); newAdGroup.setid(Guid.NewGuid()); newAdGroup.setdomain("domain"); newAdGroup.setname("name"); newAdGroup.setstatus(AdRefStatus.Active); existingAdGroup = dao.get(new Guid("b399944a-81ab-4ec5-8266-e19ba7c3c9d1")); } /** * Ensures that if the id is invalid then no adGroup is returned. */ @Test public void testGetWithInvalidId() { ad_groups result = dao.get(Guid.NewGuid()); assertNull(result); } /** * Ensures that, if the id is valid, then retrieving a adGroup works as expected. */ @Test public void testGet() { ad_groups result = dao.get(existingAdGroup.getid()); assertNotNull(result); assertEquals(existingAdGroup, result); } /** * Ensures that, if the supplied name is invalid, then no adGroup is returned. */ @Test public void testGetByNameWithInvalidName() { ad_groups result = dao.getByName("thisnameisinvalid"); assertNull(result); } /** * Ensures that finding by name works as expected. */ @Test public void testGetByName() { ad_groups result = dao.getByName(existingAdGroup.getname()); assertNotNull(result); assertEquals(existingAdGroup, result); } /** * Ensures that finding all adGroups works as expected. */ @Test public void testGetAll() { List<ad_groups> result = dao.getAll(); assertEquals(AD_GROUP_COUNT, result.size()); } /** * Ensures that saving a ad_group works as expected. */ @Test public void testSave() { dao.save(newAdGroup); ad_groups result = dao.getByName(newAdGroup.getname()); assertEquals(newAdGroup, result); } /** * Ensures that updating a ad_group works as expected. */ @Test public void testUpdate() { existingAdGroup.setname(existingAdGroup.getname().toUpperCase()); existingAdGroup.setdomain(existingAdGroup.getdomain().toUpperCase()); existingAdGroup.setstatus(AdRefStatus.Inactive); dao.update(existingAdGroup); ad_groups result = dao.get(existingAdGroup.getid()); assertNotNull(result); assertEquals(existingAdGroup, result); } /** * Ensures that removing a ad_group works as expected. */ @Test public void testRemove() { dao.remove(existingAdGroup.getid()); ad_groups result = dao.get(existingAdGroup.getid()); assertNull(result); } }