Example usage for com.liferay.portal.kernel.search RelatedSearchResult getSummary

List of usage examples for com.liferay.portal.kernel.search RelatedSearchResult getSummary

Introduction

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

Prototype

public Summary getSummary() 

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  ww  .ja v a2 s  . co 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);
}