Example usage for com.liferay.portal.kernel.search SearchResult getFileEntryRelatedSearchResults

List of usage examples for com.liferay.portal.kernel.search SearchResult getFileEntryRelatedSearchResults

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search SearchResult getFileEntryRelatedSearchResults.

Prototype

public List<RelatedSearchResult<FileEntry>> getFileEntryRelatedSearchResults() 

Source Link

Usage

From source file:com.liferay.document.library.internal.search.SearchResultUtilDLFileEntryTest.java

License:Open Source License

@Test
public void testDLFileEntryAttachment() throws Exception {
    Mockito.when(assetRenderer.getSearchSummary((Locale) Matchers.any()))
            .thenReturn(SearchTestUtil.SUMMARY_CONTENT);

    Mockito.when(assetRenderer.getTitle((Locale) Matchers.any())).thenReturn(SearchTestUtil.SUMMARY_TITLE);

    replace(method(AssetRendererFactoryRegistryUtil.class, "getAssetRendererFactoryByClassName", String.class))
            .with(new InvocationHandler() {

                @Override/*  w w w  .j  a va 2s . c o m*/
                public AssetRendererFactory<?> invoke(Object proxy, Method method, Object[] args)
                        throws Throwable {

                    String className = (String) args[0];

                    if (_DL_FILE_ENTRY_CLASS_NAME.equals(className)) {
                        return null;
                    }

                    if (SearchTestUtil.ATTACHMENT_OWNER_CLASS_NAME.equals(className)) {

                        return assetRendererFactory;
                    }

                    throw new IllegalArgumentException();
                }

            });

    Mockito.doReturn(assetRenderer).when(assetRendererFactory)
            .getAssetRenderer(SearchTestUtil.ATTACHMENT_OWNER_CLASS_PK);

    Mockito.when(_dlAppLocalService.getFileEntry(SearchTestUtil.ENTRY_CLASS_PK)).thenReturn(_fileEntry);

    Mockito.doThrow(new IllegalArgumentException()).when(_indexerRegistry).getIndexer(Mockito.anyString());

    Mockito.doReturn(_indexer).when(_indexerRegistry).getIndexer(_DL_FILE_ENTRY_CLASS_NAME);

    Mockito.doReturn(null).when(_indexerRegistry).getIndexer(SearchTestUtil.ATTACHMENT_OWNER_CLASS_NAME);

    String title = RandomTestUtil.randomString();
    String content = RandomTestUtil.randomString();

    Summary summary = new Summary(null, title, content);

    Mockito.doReturn(summary).when(_indexer).getSummary((Document) Matchers.any(), Matchers.anyString(),
            (PortletRequest) Matchers.isNull(), (PortletResponse) Matchers.isNull());

    SearchResult searchResult = assertOneSearchResult(
            SearchTestUtil.createAttachmentDocument(_DL_FILE_ENTRY_CLASS_NAME));

    Assert.assertEquals(SearchTestUtil.ATTACHMENT_OWNER_CLASS_NAME, searchResult.getClassName());
    Assert.assertEquals(SearchTestUtil.ATTACHMENT_OWNER_CLASS_PK, searchResult.getClassPK());

    Summary searchResultSummary = searchResult.getSummary();

    Assert.assertNotSame(summary, searchResultSummary);
    Assert.assertEquals(SearchTestUtil.SUMMARY_CONTENT, searchResultSummary.getContent());
    Assert.assertEquals(SearchTestUtil.SUMMARY_TITLE, searchResultSummary.getTitle());

    List<RelatedSearchResult<FileEntry>> relatedSearchResults = searchResult.getFileEntryRelatedSearchResults();

    Assert.assertEquals(relatedSearchResults.toString(), 1, relatedSearchResults.size());

    RelatedSearchResult<FileEntry> relatedSearchResult = relatedSearchResults.get(0);

    FileEntry relatedSearchResultFileEntry = relatedSearchResult.getModel();

    Assert.assertSame(_fileEntry, relatedSearchResultFileEntry);

    Summary relatedSearchResultSummary = relatedSearchResult.getSummary();

    Assert.assertSame(summary, relatedSearchResultSummary);
    Assert.assertEquals(content, relatedSearchResultSummary.getContent());
    Assert.assertEquals(title, relatedSearchResultSummary.getTitle());

    assertEmptyCommentRelatedSearchResults(searchResult);
    assertEmptyVersions(searchResult);
}