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 java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import org.junit.Test; import org.ovirt.engine.core.common.scheduling.ClusterPolicy; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.scheduling.ClusterPolicyDao; public class ClusterPolicyDaoTest extends BaseDaoTestCase { private static final int NUMBER_OF_CLUSTER_POLICIES = 2; private ClusterPolicyDao dao; private ClusterPolicy existingPolicy; private ClusterPolicy dummyPolicy; @Override public void setUp() throws Exception { super.setUp(); dao = dbFacade.getClusterPolicyDao(); existingPolicy = dao.get(FixturesTool.CLUSTER_POLICY_EVEN_DISTRIBUTION, Collections.emptyMap()); createDummyPolicy(); } @Test public void testGet() { ClusterPolicy result = dao.get(existingPolicy.getId(), Collections.emptyMap()); assertEquals(result, existingPolicy); } @Test public void testGetNegative() { ClusterPolicy result = dao.get(Guid.newGuid(), Collections.emptyMap()); assertNull(result); } @Test public void testGetAll() { List<ClusterPolicy> result = dao.getAll(Collections.emptyMap()); assertNotNull(result); assertEquals(NUMBER_OF_CLUSTER_POLICIES, result.size()); } @Test public void testSave() { dao.save(dummyPolicy); ClusterPolicy result = dao.get(dummyPolicy.getId(), Collections.emptyMap()); assertEquals(result, dummyPolicy); dao.remove(dummyPolicy.getId()); } @Test public void testUpdate() { dao.save(dummyPolicy); dummyPolicy.setName("Altered dummy policy"); dao.update(dummyPolicy); ClusterPolicy result = dao.get(dummyPolicy.getId(), Collections.emptyMap()); assertEquals(result, dummyPolicy); } @Test public void testRemove() { dao.save(dummyPolicy); dao.remove(dummyPolicy.getId()); ClusterPolicy result = dao.get(dummyPolicy.getId(), Collections.emptyMap()); assertNull(result); } private void createDummyPolicy() { dummyPolicy = new ClusterPolicy(); dummyPolicy.setId(Guid.newGuid()); dummyPolicy.setName("Dummy policy"); dummyPolicy.setDescription("Dummy policy description"); dummyPolicy.setLocked(false); ArrayList<Guid> filters = new ArrayList<>(); filters.add(FixturesTool.POLICY_UNIT_MIGRATION); dummyPolicy.setFilters(filters); HashMap<Guid, Integer> filterPositionMap = new HashMap<>(); filterPositionMap.put(FixturesTool.POLICY_UNIT_MIGRATION, 1); dummyPolicy.setFilterPositionMap(filterPositionMap); dummyPolicy.setParameterMap(new LinkedHashMap<>()); } }