Search in sources :

Example 51 with SearchParameters

use of org.ovirt.engine.core.common.queries.SearchParameters in project ovirt-engine by oVirt.

the class FrontendTest method testrunQuery_failure_404_with_pending.

/**
 * Run the following test case.
 * <ol>
 *   <li>Run a search query, with *win* as the parameter, searching for VMs</li>
 *   <li>Immediately, before returning a failure result, call the same run query again</li>
 *   <li>The callback is NOT marked to handle failures</li>
 *   <li>Force a failure with an HTTP status code = 404 (file not found)</li>
 *   <li>Check to make sure only one query is called. Due to the second being a duplicate</li>
 *   <li>Check to make sure the appropriate query start and query complete events are fired</li>
 * </ol>
 */
@Test
public void testrunQuery_failure_404_with_pending() {
    // $NON-NLS-1$
    QueryParametersBase testParameters = new SearchParameters("*win*", SearchType.VM);
    frontend.runQuery(QueryType.Search, testParameters, mockAsyncQuery, false);
    frontend.runQuery(QueryType.Search, testParameters, mockAsyncQuery, false);
    StatusCodeException exception = new StatusCodeException(HttpServletResponse.SC_NOT_FOUND, // $NON-NLS-1$
    "404 status code");
    // Repeat 4 times, because of retries.
    for (int i = 1; i < RETRY_COUNT; i++) {
        // Verify that only one request is executed, until the first one is complete.
        verify(mockService, times(i)).runQuery(eq(QueryType.Search), eq(testParameters), callback.capture());
        // Now finish the first request.
        // Call the failure handler.
        callback.getValue().onFailure(exception);
    }
    verify(mockEventsHandler, atLeastOnce()).runQueryFailed(null);
    verifyAsyncQueryFailed();
}
Also used : SearchParameters(org.ovirt.engine.core.common.queries.SearchParameters) QueryParametersBase(org.ovirt.engine.core.common.queries.QueryParametersBase) StatusCodeException(com.google.gwt.user.client.rpc.StatusCodeException) Test(org.junit.Test)

Example 52 with SearchParameters

use of org.ovirt.engine.core.common.queries.SearchParameters in project ovirt-engine by oVirt.

the class FrontendTest method testrunMultipleQueries_multiple_success.

/**
 * Run the following test case.
 * <ol>
 *   <li>Run a multiple search query, with multiple requests, with *win* or *lin* as the parameter,
 *   searching for VMs</li>
 *   <li>Return success, the success status is succeeded</li>
 *   <li>Check to make sure the appropriate query start and query complete events are fired</li>
 * </ol>
 */
@Test
public void testrunMultipleQueries_multiple_success() {
    // Don't immediately call process until both queries are in the queue.
    fakeScheduler.setThreshold(2);
    ArrayList<QueryType> queryTypeList = new ArrayList<>();
    queryTypeList.add(QueryType.Search);
    queryTypeList.add(QueryType.Search);
    ArrayList<QueryParametersBase> queryParamsList = new ArrayList<>();
    // $NON-NLS-1$
    queryParamsList.add(new SearchParameters("*win*", SearchType.VM));
    // $NON-NLS-1$
    queryParamsList.add(new SearchParameters("*lin*", SearchType.VM));
    // $NON-NLS-1$
    frontend.runMultipleQueries(queryTypeList, queryParamsList, mockMultipleQueryCallback, ASYNC_OPERATION_TARGET);
    verify(mockService).runMultipleQueries(eq(queryTypeList), eq(queryParamsList), callbackMultipleQueries.capture());
    // Call the failure handler.
    List<QueryReturnValue> result = new ArrayList<>();
    result.add(new QueryReturnValue());
    result.get(0).setSucceeded(true);
    result.add(new QueryReturnValue());
    result.get(1).setSucceeded(true);
    ArgumentCaptor<FrontendMultipleQueryAsyncResult> multipleResultCaptor = ArgumentCaptor.forClass(FrontendMultipleQueryAsyncResult.class);
    callbackMultipleQueries.getValue().onSuccess((ArrayList<QueryReturnValue>) result);
    verify(mockMultipleQueryCallback).executed(multipleResultCaptor.capture());
    assertEquals(// $NON-NLS-1$
    "callback result much match", // $NON-NLS-1$
    result, multipleResultCaptor.getValue().getReturnValues());
    verifyAsyncQuerySucceeded();
}
Also used : SearchParameters(org.ovirt.engine.core.common.queries.SearchParameters) QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) ArrayList(java.util.ArrayList) QueryParametersBase(org.ovirt.engine.core.common.queries.QueryParametersBase) QueryType(org.ovirt.engine.core.common.queries.QueryType) FrontendMultipleQueryAsyncResult(org.ovirt.engine.ui.uicompat.FrontendMultipleQueryAsyncResult) Test(org.junit.Test)

Example 53 with SearchParameters

use of org.ovirt.engine.core.common.queries.SearchParameters in project ovirt-engine by oVirt.

the class FrontendTest method testrunQuery_success_succeeded_multiple_same_eventshandler_noconverter.

/**
 * Run the following test case.
 * <ol>
 *   <li>Run a search query, with *win* as the parameter, searching for VMs</li>
 *   <li>Immediately, before returning a result, call the same run query again</li>
 *   <li>Return success, the success status is succeeded</li>
 *   <li>No success converter defined</li>
 *   <li>Make sure that the result callback is called only once</li>
 *   <li>Check to make sure the appropriate query start and query complete events are fired</li>
 * </ol>
 */
@Test
public void testrunQuery_success_succeeded_multiple_same_eventshandler_noconverter() {
    Object mockModel = new Object();
    when(mockAsyncQuery.getModel()).thenReturn(mockModel);
    // $NON-NLS-1$
    QueryParametersBase testParameters = new SearchParameters("*win*", SearchType.VM);
    frontend.runQuery(QueryType.Search, testParameters, mockAsyncQuery, false);
    frontend.runQuery(QueryType.Search, testParameters, mockAsyncQuery, false);
    verify(mockService).runQuery(eq(QueryType.Search), eq(testParameters), callback.capture());
    QueryReturnValue mockReturnValue = new QueryReturnValue();
    // $NON-NLS-1$
    mockReturnValue.setExceptionString("USER_IS_NOT_LOGGED_IN");
    // Return value set to success
    mockReturnValue.setSucceeded(true);
    callback.getValue().onSuccess(mockReturnValue);
    verify(mockAsyncCallback).onSuccess(mockReturnValue);
    verifyAsyncQuerySucceeded();
}
Also used : SearchParameters(org.ovirt.engine.core.common.queries.SearchParameters) QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) QueryParametersBase(org.ovirt.engine.core.common.queries.QueryParametersBase) Test(org.junit.Test)

Example 54 with SearchParameters

use of org.ovirt.engine.core.common.queries.SearchParameters in project ovirt-engine by oVirt.

the class QuotaListModel method syncSearch.

@Override
protected void syncSearch() {
    SearchParameters tempVar = new SearchParameters(applySortOptions(getSearchString()), SearchType.Quota, isCaseSensitiveSearch());
    tempVar.setMaxCount(getSearchPageSize());
    super.syncSearch(QueryType.Search, tempVar);
}
Also used : SearchParameters(org.ovirt.engine.core.common.queries.SearchParameters)

Example 55 with SearchParameters

use of org.ovirt.engine.core.common.queries.SearchParameters in project ovirt-engine by oVirt.

the class ProviderListModel method syncSearch.

@Override
protected void syncSearch() {
    SearchParameters tempVar = new SearchParameters(applySortOptions(getSearchString()), SearchType.Provider, isCaseSensitiveSearch());
    tempVar.setMaxCount(getSearchPageSize());
    super.syncSearch(QueryType.Search, tempVar);
}
Also used : SearchParameters(org.ovirt.engine.core.common.queries.SearchParameters)

Aggregations

SearchParameters (org.ovirt.engine.core.common.queries.SearchParameters)58 QueryReturnValue (org.ovirt.engine.core.common.queries.QueryReturnValue)19 Test (org.junit.Test)17 QueryParametersBase (org.ovirt.engine.core.common.queries.QueryParametersBase)17 ArrayList (java.util.ArrayList)15 QueryType (org.ovirt.engine.core.common.queries.QueryType)12 StatusCodeException (com.google.gwt.user.client.rpc.StatusCodeException)9 SearchType (org.ovirt.engine.core.common.interfaces.SearchType)7 Frontend (org.ovirt.engine.ui.frontend.Frontend)7 ConstantsManager (org.ovirt.engine.ui.uicompat.ConstantsManager)7 List (java.util.List)6 Guid (org.ovirt.engine.core.compat.Guid)6 AsyncDataProvider (org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider)6 VDS (org.ovirt.engine.core.common.businessentities.VDS)5 PropertyChangedEventArgs (org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs)5 UIConstants (org.ovirt.engine.ui.uicompat.UIConstants)5 IdQueryParameters (org.ovirt.engine.core.common.queries.IdQueryParameters)4 EntityModel (org.ovirt.engine.ui.uicommonweb.models.EntityModel)4 ListModel (org.ovirt.engine.ui.uicommonweb.models.ListModel)4 EnumTranslator (org.ovirt.engine.ui.uicompat.EnumTranslator)4