package org.ovirt.engine.core.dao; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.storage.BaseDisk; import org.ovirt.engine.core.common.businessentities.storage.PropagateErrors; import org.ovirt.engine.core.common.businessentities.storage.ScsiGenericIO; import org.ovirt.engine.core.compat.Guid; /** * Unit tests to validate {@link BaseDiskDao}. */ public class BaseDiskDaoTest extends BaseGenericDaoTestCase<Guid, BaseDisk, BaseDiskDao> { private static final Guid EXISTING_DISK_ID = new Guid("1b26a52b-b60f-44cb-9f46-3ef333b04a34"); private static final int TOTAL_DISKS = 8; @Override protected Guid generateNonExistingId() { return Guid.newGuid(); } @Override protected int getEntitiesTotalCount() { return TOTAL_DISKS; } @Override protected BaseDisk generateNewEntity() { BaseDisk d = new BaseDisk(); d.setId(Guid.newGuid()); d.setWipeAfterDelete(true); d.setPropagateErrors(PropagateErrors.Off); d.setDiskAlias("DiskName"); d.setSgio(ScsiGenericIO.FILTERED); return d; } @Override protected void updateExistingEntity() { existingEntity.setDiskAlias("Other_Alias"); } @Override protected BaseDiskDao prepareDao() { return dbFacade.getBaseDiskDao(); } @Override protected Guid getExistingEntityId() { return EXISTING_DISK_ID; } @Test public void existsForExistingDisk() throws Exception { assertTrue(dao.exists(EXISTING_DISK_ID)); } @Test public void existsForNonExistingDisk() throws Exception { assertFalse(dao.exists(Guid.Empty)); } @Test public void getBaseDiskByAlias() { assertEquals(0, dao.getDisksByAlias("No such disk alias").size()); assertTrue(dao.getDisksByAlias("New Disk Alias Name").size() > 1); } }