package org.ovirt.engine.core.bll; import static org.junit.Assert.assertFalse; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; /** An abstract test class for query classes that handles common mocking requirements */ public abstract class AbstractUserQueryTest<P extends VdcQueryParametersBase, Q extends QueriesCommandBase<? extends P>> extends AbstractQueryTest<P, Q> { protected static final long UNPRIVILEGED_USER_SESSION_ID = 1; @Before @Override public void setUp() throws Exception { super.setUp(); setUpMockQueryParameters(); } /** Sets up a mock for {@link #params} */ protected void setUpMockQueryParameters() { when(getQueryParameters().isFiltered()).thenReturn(true); } /** Verify that all queries tested in this manner were flagged as user queries in the {@link org.ovirt.engine.core.common.queries.VdcQueryType} enum */ @Test public void testQueryIsAUserQuery() throws IllegalArgumentException, IllegalAccessException { assertFalse("A query tested for filtered access should not be an admin query", TestHelperQueriesCommandType.getQueryTypeFieldValue(getQuery()).isAdmin()); } }