Changeset 4505


Ignore:
Timestamp:
02/13/14 09:54:35 (10 years ago)
Author:
twagoo
Message:

wrote test for getFacets() method of search results dao impl

Location:
vlo/branches/vlo-3.0/vlo-web-app
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/pom.xml

    r4504 r4505  
    1414    <artifactId>vlo-web-app</artifactId>
    1515    <packaging>war</packaging>
    16     <version>1.0-SNAPSHOT</version>
     16    <version>3.0-SNAPSHOT</version>
    1717    <!-- TODO project name  -->
    1818    <name>VLO Web Application</name>
     
    2929            <groupId>${project.groupId}</groupId>
    3030            <artifactId>vlo-commons</artifactId>
    31             <version>3.0-SNAPSHOT</version>
     31            <version>${project.version}</version>
     32        </dependency>
     33        <!-- Importer only used in web app for testing -->
     34        <dependency>
     35            <groupId>${project.groupId}</groupId>
     36            <artifactId>vlo-importer</artifactId>
     37            <version>${project.version}</version>
     38            <scope>test</scope>
    3239        </dependency>
    3340       
  • vlo/branches/vlo-3.0/vlo-web-app/src/test/java/eu/clarin/cmdi/vlo/service/impl/SearchResultsDaoImplTest.java

    r4504 r4505  
    1717package eu.clarin.cmdi.vlo.service.impl;
    1818
     19import eu.clarin.cmdi.vlo.FacetConstants;
     20import eu.clarin.cmdi.vlo.importer.CMDIData;
    1921import java.io.File;
     22import java.util.List;
    2023import org.apache.solr.client.solrj.SolrQuery;
    2124import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
    22 import org.apache.solr.client.solrj.response.QueryResponse;
     25import org.apache.solr.client.solrj.response.FacetField;
    2326import org.apache.solr.common.SolrInputDocument;
    24 import org.apache.solr.common.params.SolrParams;
    2527import org.apache.solr.util.AbstractSolrTestCase;
     28import org.hamcrest.Matchers;
    2629import org.junit.After;
    2730import org.junit.Before;
    2831import org.junit.Test;
     32import static org.hamcrest.Matchers.*;
    2933
    3034/**
     
    3741
    3842    private EmbeddedSolrServer server;
     43    private SearchResultsDaoImpl instance;
    3944
    4045    @Before
     
    4449        initCore(getResourcePath(getConfigString()), getResourcePath(getSchemaString()));
    4550        server = new EmbeddedSolrServer(h.getCoreContainer(), h.getCore().getName());
     51        instance = new SearchResultsDaoImpl(server);
    4652    }
    4753
     
    6066    @Test
    6167    public void testGetFacets() throws Exception {
    62         SolrInputDocument document = new SolrInputDocument();
    63         document.addField("id", "1");
    64         document.addField("text", "test");
    65 
     68        int id = 1;
     69        CMDIData cmdiData = new CMDIData();
     70        cmdiData.addDocField(FacetConstants.FIELD_COLLECTION, "Collection1", false);
     71        cmdiData.addDocField(FacetConstants.FIELD_COUNTRY, "Country1", false);
     72        SolrInputDocument document = cmdiData.getSolrDocument();
     73        document.addField("id", Integer.toString(id++));
    6674        server.add(document);
    6775        server.commit();
    68        
    69         SolrParams params = new SolrQuery("text");
    70         QueryResponse response = server.query(params);
    71         assertEquals(1L, response.getResults().getNumFound());
    72         assertEquals("1", response.getResults().get(0).get("id"));
     76
     77        cmdiData = new CMDIData();
     78        cmdiData.addDocField(FacetConstants.FIELD_COLLECTION, "Collection1", false);
     79        cmdiData.addDocField(FacetConstants.FIELD_COUNTRY, "Country2", false);
     80        document = cmdiData.getSolrDocument();
     81        document.addField("id", Integer.toString(id++));
     82        server.add(document);
     83        server.commit();
     84
     85        SolrQuery query = new SolrQuery();
     86        query.setRows(10);
     87        query.setStart(0);
     88        query.setFields(FacetConstants.FIELD_NAME, FacetConstants.FIELD_ID, FacetConstants.FIELD_DESCRIPTION);
     89        query.setQuery("*:*");
     90
     91        query.setFacet(true);
     92        query.setFacetMinCount(1);
     93        query.addFacetField(FacetConstants.FIELD_COLLECTION, FacetConstants.FIELD_COUNTRY);
     94
     95        List<FacetField> facetFields = instance.getFacets(query);
     96        assertNotNull(facetFields);
     97        assertEquals(2, facetFields.size());
     98
     99        // 1 collection
     100        assertThat(facetFields, Matchers.<FacetField>hasItem(Matchers.allOf(
     101                Matchers.<FacetField>hasProperty("name", equalTo(FacetConstants.FIELD_COLLECTION)),
     102                Matchers.<FacetField>hasProperty("valueCount", equalTo(1)))));
     103
     104        // 2 countries
     105        assertThat(facetFields, Matchers.<FacetField>hasItem(Matchers.allOf(
     106                Matchers.<FacetField>hasProperty("name", equalTo(FacetConstants.FIELD_COUNTRY)),
     107                Matchers.<FacetField>hasProperty("valueCount", equalTo(2)))));
    73108    }
    74109
Note: See TracChangeset for help on using the changeset viewer.