/* * Copyright 2015-2017 Hewlett Packard Enterprise Development Company, L.P. * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. */ package com.hp.autonomy.frontend.find.hod.savedsearches.query; import com.hp.autonomy.frontend.find.core.savedsearches.query.SavedQueryControllerTest; import com.hp.autonomy.hod.client.api.resource.ResourceName; import com.hp.autonomy.hod.client.error.HodErrorException; import com.hp.autonomy.searchcomponents.core.search.DocumentsService; import com.hp.autonomy.searchcomponents.hod.search.HodDocumentsService; import com.hp.autonomy.searchcomponents.hod.search.HodQueryRequest; import com.hp.autonomy.searchcomponents.hod.search.HodQueryRequestBuilder; import com.hp.autonomy.searchcomponents.hod.search.HodQueryRestrictions; import com.hp.autonomy.searchcomponents.hod.search.HodQueryRestrictionsBuilder; import com.hp.autonomy.searchcomponents.hod.search.HodSearchResult; import org.mockito.Mock; import org.springframework.beans.factory.ObjectFactory; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.when; public class HodSavedQueryControllerTest extends SavedQueryControllerTest<HodQueryRequest, ResourceName, HodQueryRestrictions, HodSearchResult, HodErrorException, HodSavedQueryController> { @Mock private HodDocumentsService hodDocumentsService; @Mock private ObjectFactory<HodQueryRestrictionsBuilder> queryRestrictionsBuilderFactory; @Mock private HodQueryRestrictionsBuilder queryRestrictionsBuilder; @Mock private ObjectFactory<HodQueryRequestBuilder> queryRequestBuilderFactory; @Mock private HodQueryRequestBuilder queryRequestBuilder; @Override protected HodSavedQueryController constructController() { when(queryRestrictionsBuilderFactory.getObject()).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.queryText(anyString())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.fieldText(anyString())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.databases(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.minDate(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.maxDate(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.minScore(anyInt())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.stateMatchIds(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.stateDontMatchIds(any())).thenReturn(queryRestrictionsBuilder); when(queryRequestBuilderFactory.getObject()).thenReturn(queryRequestBuilder); when(queryRequestBuilder.queryRestrictions(any())).thenReturn(queryRequestBuilder); when(queryRequestBuilder.maxResults(anyInt())).thenReturn(queryRequestBuilder); when(queryRequestBuilder.queryType(any())).thenReturn(queryRequestBuilder); return new HodSavedQueryController(savedQueryService, hodDocumentsService, fieldTextParser, queryRestrictionsBuilderFactory, queryRequestBuilderFactory); } @Override protected DocumentsService<HodQueryRequest, ?, ?, HodQueryRestrictions, HodSearchResult, HodErrorException> constructDocumentsService() { return hodDocumentsService; } }