1 | package eu.clarin.cmdi.vlo; |
---|
2 | |
---|
3 | import eu.clarin.cmdi.vlo.config.VloConfig; |
---|
4 | import eu.clarin.cmdi.vlo.pages.SearchPageQuery; |
---|
5 | import org.apache.solr.client.solrj.response.FacetField; |
---|
6 | import org.apache.solr.common.params.CommonParams; |
---|
7 | import org.apache.wicket.request.mapper.parameter.PageParameters; |
---|
8 | import static org.junit.Assert.assertEquals; |
---|
9 | import static org.junit.Assert.assertNull; |
---|
10 | import org.junit.Before; |
---|
11 | import org.junit.Test; |
---|
12 | |
---|
13 | public class SearchPageQueryTest { |
---|
14 | |
---|
15 | @Before |
---|
16 | public void setup() { |
---|
17 | |
---|
18 | // read the configuration from the packaged configuration file |
---|
19 | VloConfig.readPackagedConfig(); |
---|
20 | |
---|
21 | // optionally, modify the configuration here |
---|
22 | } |
---|
23 | |
---|
24 | @Test |
---|
25 | public void testQueryParse() throws Exception { |
---|
26 | PageParameters params = new PageParameters(); |
---|
27 | SearchPageQuery q = new SearchPageQuery(params); |
---|
28 | assertEquals("", q.getSearchQuery()); |
---|
29 | assertEquals("*:*", q.getSolrQuery().getQuery()); |
---|
30 | assertEquals("name,id,description", q.getSolrQuery().getFields()); |
---|
31 | assertEquals(13, q.getSolrQuery().getFacetFields().length); |
---|
32 | assertEquals("collection", q.getSolrQuery().getFacetFields()[0]); |
---|
33 | assertEquals("resourceClass", q.getSolrQuery().getFacetFields()[2]); |
---|
34 | assertEquals(0, q.getSolrQuery().getFilterQueries().length); |
---|
35 | |
---|
36 | params = new PageParameters(); |
---|
37 | params.add(CommonParams.Q, "test"); |
---|
38 | params.add(CommonParams.FQ, "country:New Zealand"); |
---|
39 | q = new SearchPageQuery(params); |
---|
40 | assertEquals("test", q.getSearchQuery()); |
---|
41 | assertEquals("test", q.getSolrQuery().getQuery()); |
---|
42 | assertEquals("name,id,description", q.getSolrQuery().getFields()); |
---|
43 | assertEquals(13, q.getSolrQuery().getFacetFields().length); |
---|
44 | assertEquals("collection", q.getSolrQuery().getFacetFields()[0]); |
---|
45 | assertEquals("resourceClass", q.getSolrQuery().getFacetFields()[2]); |
---|
46 | assertEquals(1, q.getSolrQuery().getFilterQueries().length); |
---|
47 | assertEquals("country:New\\ Zealand", q.getSolrQuery().getFilterQueries()[0]); |
---|
48 | assertEquals("New Zealand", q.getSelectedValue(new FacetField("country"))); |
---|
49 | assertNull(q.getSelectedValue(new FacetField("genre"))); |
---|
50 | } |
---|
51 | } |
---|