package org.ovirt.engine.core.bll.storage.disk.image; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.ovirt.engine.core.bll.AbstractQueryTest; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VmBase; import org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk; import org.ovirt.engine.core.common.queries.IdAndBooleanQueryParameters; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.UnregisteredDisksDao; import org.ovirt.engine.core.utils.ovf.OvfReaderException; public class GetUnregisteredDisksFromDBQueryTest extends AbstractQueryTest<IdAndBooleanQueryParameters, GetUnregisteredDisksFromDBQuery<? extends IdAndBooleanQueryParameters>> { Guid storageDomainId = Guid.newGuid(); Guid newDiskId = Guid.newGuid(); Guid newDiskId2 = Guid.newGuid(); @Mock private UnregisteredDisksDao unregisteredDisksDaoMock; @Before @Override public void setUp() throws Exception { super.setUp(); mockQueryParameters(); setUpQueryEntities(); } @Test public void testExecuteQueryGetAllEntitiesCommand() throws OvfReaderException { getQuery().executeQueryCommand(); @SuppressWarnings("unchecked") List<VM> result = getQuery().getQueryReturnValue().getReturnValue(); assertEquals("Wrong number of Disks in result", 1, result.size()); } private void mockQueryParameters() { // Mock the Query Parameters when(getQueryParameters().getId()).thenReturn(storageDomainId); when(getQueryParameters().isFilterResult()).thenReturn(true); } private void setUpQueryEntities() throws OvfReaderException { // Set up the expected result UnregisteredDisk unregistedDisk = new UnregisteredDisk(); unregistedDisk.setId(newDiskId); unregistedDisk.setDiskAlias("DiskAlias"); unregistedDisk.setDescription("DiskDescription"); ArrayList<VmBase> vms = new ArrayList<>(); VmBase vm = new VmBase(); vm.setId(Guid.newGuid()); vm.setName("FirstVM"); vms.add(vm); unregistedDisk.setVms(vms); UnregisteredDisk unregistedDisk2 = new UnregisteredDisk(); unregistedDisk2.setId(newDiskId2); unregistedDisk2.setDiskAlias("DiskAlias2"); unregistedDisk2.setDescription("DiskDescription2"); List<UnregisteredDisk> expectedResultFromDB = new ArrayList<>(); expectedResultFromDB.add(unregistedDisk); expectedResultFromDB.add(unregistedDisk2); // Mock the Daos when(unregisteredDisksDaoMock.getByDiskIdAndStorageDomainId(null, storageDomainId)).thenReturn(expectedResultFromDB); } }