package org.ovirt.engine.core.dao; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import java.util.Arrays; import java.util.List; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.MacPool; import org.ovirt.engine.core.common.businessentities.MacRange; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.utils.RandomUtils; public class MacPoolDaoTest extends BaseGenericDaoTestCase<Guid, MacPool, MacPoolDao>{ @Test public void testGetDefaultPool() throws Exception { final MacPool defaultPool = dao.getDefaultPool(); assertThat(defaultPool, notNullValue()); assertThat(defaultPool.getId(), is(FixturesTool.DEFAULT_MAC_POOL_ID)); assertThat(defaultPool.isDefaultPool(), is(true)); } @Test public void testGetAllMacsForMacPool() throws Exception { final List<String> allMacsForMacPool = dao.getAllMacsForMacPool(FixturesTool.NON_DEFAULT_MAC_POOL); assertThat(allMacsForMacPool.containsAll(Arrays.asList("00:1a:4a:16:87:da", "00:1a:4a:16:87:d9")), is(true)); } @Test public void testMacPoolGetByClusterIdExist() throws Exception { final MacPool macPool = dao.getByClusterId(FixturesTool.CLUSTER_RHEL6_ISCSI); assertThat(macPool, notNullValue()); assertThat(macPool.getId(), is(FixturesTool.NON_DEFAULT_MAC_POOL)); } @Test public void testGetByClusterId() throws Exception { final Guid notExistingRecordGuid = Guid.newGuid(); final MacPool macPool = dao.getByClusterId(notExistingRecordGuid); assertThat(macPool, nullValue()); } @Override protected MacPool generateNewEntity() { final MacPool macPool = new MacPool(); macPool.setId(Guid.newGuid()); macPool.setName("someName"); macPool.setAllowDuplicateMacAddresses(true); macPool.setDescription("someDesc"); macPool.setDefaultPool(false); final MacRange macRange = new MacRange(); macRange.setMacPoolId(macPool.getId()); macRange.setMacFrom("01:c0:81:21:71:17"); macRange.setMacTo("01:c1:81:21:71:17"); macPool.getRanges().add(macRange); return macPool; } @Override protected void updateExistingEntity() { existingEntity.setName(RandomUtils.instance().nextString(15)); } @Override protected Guid getExistingEntityId() { return FixturesTool.NOT_USED_MAC_POOL_ID; } @Override protected MacPoolDao prepareDao() { return dbFacade.getMacPoolDao(); } @Override protected Guid generateNonExistingId() { return Guid.newGuid(); } @Override protected int getEntitiesTotalCount() { return 4; } }