package org.ovirt.engine.core.bll.storage.domain; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; import org.junit.Test; import org.mockito.Mock; import org.ovirt.engine.core.bll.AbstractUserQueryTest; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.StorageDomainDao; /** * A test case for the {@link GetStorageDomainByIdQuery} class. * This test mocks away all the Daos, and just tests the flow of the query itself. */ public class GetStorageDomainByIdQueryTest extends AbstractUserQueryTest<IdQueryParameters, GetStorageDomainByIdQuery<IdQueryParameters>> { @Mock private StorageDomainDao storageDoaminDaoMock; @Test public void testExecuteQuery() { // Create a storage domain for the test Guid storageDomainId = Guid.newGuid(); StorageDomain expected = new StorageDomain(); expected.setId(storageDomainId); when(getQueryParameters().getId()).thenReturn(storageDomainId); // Mock the Daos when(storageDoaminDaoMock.get(storageDomainId, getUser().getId(), getQueryParameters().isFiltered())).thenReturn(expected); getQuery().executeQueryCommand(); // Assert we got the correct storage domain back StorageDomain actual = getQuery().getQueryReturnValue().getReturnValue(); assertEquals("Wrong storage domain returned", expected, actual); } }