package org.ovirt.engine.core.bll; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; import java.util.Collections; import java.util.List; import org.junit.Test; import org.mockito.Mock; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.ClusterDao; /** A test case for {@link GetClustersByStoragePoolIdQuery} */ public class GetClustersByStoragePoolIdQueryTest extends AbstractUserQueryTest<IdQueryParameters, GetClustersByStoragePoolIdQuery<IdQueryParameters>> { @Mock private ClusterDao clusterDaoMock; /** Tests the flow of {@link GetClustersByStoragePoolIdQuery#executeQueryCommand()} using mock objects */ @Test public void testExecuteQueryCommand() { // Set up the result Guid storagePoolId = Guid.newGuid(); Cluster group = new Cluster(); group.setStoragePoolId(storagePoolId); List<Cluster> result = Collections.singletonList(group); // Set up the query parameters when(getQueryParameters().getId()).thenReturn(storagePoolId); // Mock the Dao when(clusterDaoMock.getAllForStoragePool(storagePoolId, getUser().getId(), getQueryParameters().isFiltered())). thenReturn(result); // Execute the query getQuery().executeQueryCommand(); // Check the result assertEquals("Wrong query result", result, getQuery().getQueryReturnValue().getReturnValue()); } }