Project

General

Profile

« Previous | Next » 

Revision 62892

View differences:

SolrUtilsTest.java
66 66
    public void createEprQuery() {
67 67
        String query = SearchServiceImpl.createEprQuery("(oaftype=result)", refineFields, specialFacets, fieldQueries);
68 68
        Assert.assertEquals("query=(oaftype=result)" +
69
                "&groupby=relfunderid,relfundinglevel0_id,relfundinglevel1_id,relfundinglevel2_id" +
69
                "&sort=&groupby=relfunderid,relfundinglevel0_id,relfundinglevel1_id,relfundinglevel2_id" +
70 70
                "&sf=relfundinglevel0_id,relfundinglevel1_id"+
71 71
                "&fq=(relfunderid exact ec___::EC) and (relfunderid exact wt___::WT),relfundinglevel0_id exact ec___::EC::SP1," +
72 72
                        "(relfundinglevel1_id exact ec___::EC::SP1::VALUE1) or (relfundinglevel1_id exact ec___::EC::SP1::VALUE2)", query);
......
75 75
        //empty refine, empty fq, empty fc
76 76
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), new ArrayList<>(),new ArrayList<String>());
77 77
        Assert.assertEquals("query=(oaftype=result)" +
78
                "&sort="+
78 79
                "&groupby=" +
79 80
                "&sf="+
80 81
                "&fq=", query);
......
82 83
        //empty refine, empty fq
83 84
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), specialFacets,new ArrayList<String>());
84 85
        Assert.assertEquals("query=(oaftype=result)" +
86
                "&sort=" +
85 87
                "&groupby=" +
86 88
                "&sf=relfundinglevel0_id,relfundinglevel1_id"+
87 89
                "&fq=", query);
......
90 92
        //empty fq, empty sf
91 93
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", refineFields, new ArrayList<>(),  new ArrayList<String>());
92 94
        Assert.assertEquals("query=(oaftype=result)" +
95
                "&sort=" +
93 96
                "&groupby=relfunderid,relfundinglevel0_id,relfundinglevel1_id,relfundinglevel2_id" +
94 97
                "&sf="+
95 98
                "&fq=", query);
......
97 100
        //empty refine, empty sf
98 101
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), new ArrayList<>(), fieldQueries);
99 102
        Assert.assertEquals("query=(oaftype=result)" +
103
                "&sort=" +
100 104
                "&groupby=" +
101 105
                "&sf="+
102 106
                "&fq=(relfunderid exact ec___::EC) and (relfunderid exact wt___::WT),relfundinglevel0_id exact ec___::EC::SP1," +
......
105 109
        //empty refine, empty sf
106 110
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), new ArrayList<>(), fieldQueries);
107 111
        Assert.assertEquals("query=(oaftype=result)" +
112
                "&sort=" +
108 113
                "&groupby=" +
109 114
                "&sf="+
110 115
                "&fq=(relfunderid exact ec___::EC) and (relfunderid exact wt___::WT),relfundinglevel0_id exact ec___::EC::SP1," +
......
113 118
        //empty query, empty fc
114 119
        query = SearchServiceImpl.createEprQuery("", new ArrayList<String>(), new ArrayList<>(), new ArrayList<String>());
115 120
        Assert.assertEquals("query=" +
121
                "&sort=" +
116 122
                "&groupby=" +
117 123
                "&sf="+
118 124
                "&fq=", query);
......
120 126
        //null values
121 127
        query = SearchServiceImpl.createEprQuery(null, null, null,null);
122 128
        Assert.assertEquals("query=" +
129
                "&sort=" +
123 130
                "&groupby=" +
124 131
                "&sf="+
125 132
                "&fq=", query);
......
127 134
    }
128 135

  
129 136
    @Test
137
    public void createEprQueryWithSort() {
138
        String query = SearchServiceImpl.createEprQuery("(oaftype=result) sortBy dateofcollection/sort.ascending, impulse/sort.descending", refineFields, specialFacets, fieldQueries);
139
        Assert.assertEquals("query=(oaftype=result) sortBy dateofcollection/sort.ascending, impulse/sort.descending" +
140
                "&sort=dateofcollection/sort.ascending, impulse/sort.descending" +
141
                "&groupby=relfunderid,relfundinglevel0_id,relfundinglevel1_id,relfundinglevel2_id" +
142
                "&sf=relfundinglevel0_id,relfundinglevel1_id"+
143
                "&fq=(relfunderid exact ec___::EC) and (relfunderid exact wt___::WT),relfundinglevel0_id exact ec___::EC::SP1," +
144
                "(relfundinglevel1_id exact ec___::EC::SP1::VALUE1) or (relfundinglevel1_id exact ec___::EC::SP1::VALUE2)", query);
145

  
146

  
147
        //empty refine, empty fq, empty fc
148
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), new ArrayList<>(),new ArrayList<String>());
149
        Assert.assertEquals("query=(oaftype=result)" +
150
                "&sort="+
151
                "&groupby=" +
152
                "&sf="+
153
                "&fq=", query);
154

  
155
        //empty refine, empty fq
156
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), specialFacets,new ArrayList<String>());
157
        Assert.assertEquals("query=(oaftype=result)" +
158
                "&sort=" +
159
                "&groupby=" +
160
                "&sf=relfundinglevel0_id,relfundinglevel1_id"+
161
                "&fq=", query);
162

  
163

  
164
        //empty fq, empty sf
165
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", refineFields, new ArrayList<>(),  new ArrayList<String>());
166
        Assert.assertEquals("query=(oaftype=result)" +
167
                "&sort=" +
168
                "&groupby=relfunderid,relfundinglevel0_id,relfundinglevel1_id,relfundinglevel2_id" +
169
                "&sf="+
170
                "&fq=", query);
171

  
172
        //empty refine, empty sf
173
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), new ArrayList<>(), fieldQueries);
174
        Assert.assertEquals("query=(oaftype=result)" +
175
                "&sort=" +
176
                "&groupby=" +
177
                "&sf="+
178
                "&fq=(relfunderid exact ec___::EC) and (relfunderid exact wt___::WT),relfundinglevel0_id exact ec___::EC::SP1," +
179
                "(relfundinglevel1_id exact ec___::EC::SP1::VALUE1) or (relfundinglevel1_id exact ec___::EC::SP1::VALUE2)", query);
180

  
181
        //empty refine, empty sf
182
        query = SearchServiceImpl.createEprQuery("(oaftype=result)", new ArrayList<String>(), new ArrayList<>(), fieldQueries);
183
        Assert.assertEquals("query=(oaftype=result)" +
184
                "&sort=" +
185
                "&groupby=" +
186
                "&sf="+
187
                "&fq=(relfunderid exact ec___::EC) and (relfunderid exact wt___::WT),relfundinglevel0_id exact ec___::EC::SP1," +
188
                "(relfundinglevel1_id exact ec___::EC::SP1::VALUE1) or (relfundinglevel1_id exact ec___::EC::SP1::VALUE2)", query);
189

  
190
        //empty query, empty fc
191
        query = SearchServiceImpl.createEprQuery("", new ArrayList<String>(), new ArrayList<>(), new ArrayList<String>());
192
        Assert.assertEquals("query=" +
193
                "&sort=" +
194
                "&groupby=" +
195
                "&sf="+
196
                "&fq=", query);
197

  
198
        //null values
199
        query = SearchServiceImpl.createEprQuery(null, null, null,null);
200
        Assert.assertEquals("query=" +
201
                "&sort=" +
202
                "&groupby=" +
203
                "&sf="+
204
                "&fq=", query);
205

  
206
    }
207

  
208
    @Test
130 209
    public void extractQueryOptions() throws IOException, CQLParseException {
131 210
        CqlTranslator cqlTranslator = new CqlTranslatorImpl();
132 211

  
133
        NamedList<String> actual = SolrResultSetOptionsUtil.extractQueryOptions(SearchServiceImpl.createEprQuery("(oaftype=result)", refineFields, specialFacets, fieldQueries));
212
        NamedList<String> actual = SolrResultSetOptionsUtil.extractQueryOptions(SearchServiceImpl
213
                .createEprQuery("(oaftype=result)", refineFields, specialFacets, fieldQueries));
214

  
134 215
        Assert.assertEquals(cqlTranslator.toLucene("(oaftype=result)"), actual.get("q"));
135 216
        Assert.assertEquals("__result", actual.get("fl"));
136 217
        Assert.assertEquals("true", actual.get("shards.tolerant"));
......
140 221
        Assert.assertEquals(refineFields.size(), actual.getAll("facet.field").size());
141 222
        Assert.assertTrue(actual.getAll("facet.field").contains("relfunderid"));
142 223
        Assert.assertTrue(actual.getAll("facet.field").contains("relfundinglevel1_id"));
224
        System.out.println(actual.getAll("facet.field"));
143 225
        Assert.assertTrue(actual.getAll("facet.field").contains("relfundinglevel2_id"));
144 226
        Assert.assertFalse(actual.getAll("facet.field").contains("relfundinglevel3_id"));
145 227

  
......
255 337
        Assert.assertTrue(actual.getAll("fq").isEmpty());
256 338
    }
257 339

  
340
    @Test
341
    public void extractQueryOptionsWithSort() throws IOException, CQLParseException {
342
        CqlTranslator cqlTranslator = new CqlTranslatorImpl();
343

  
344
        NamedList<String> actual = SolrResultSetOptionsUtil.extractQueryOptions(SearchServiceImpl
345
                .createEprQuery("(oaftype=result)", refineFields, specialFacets, fieldQueries));
346

  
347
        //no sort option
348
        Assert.assertEquals(cqlTranslator.toLucene("(oaftype=result)"), actual.get("q"));
349
        Assert.assertEquals(0, actual.getAll("sort").size());
350
        Assert.assertTrue(actual.getAll("sort").isEmpty());
351

  
352
        //one sort option
353
        actual = SolrResultSetOptionsUtil.extractQueryOptions(SearchServiceImpl.createEprQuery("(oaftype=result) sortBy dateofcollection/sort.ascending", new ArrayList<String>(), new ArrayList<>(), new ArrayList<String>()));
354
        Assert.assertEquals(cqlTranslator.toLucene("(oaftype=result) sortBy dateofcollection/sort.ascending"), actual.get("q"));
355
        Assert.assertEquals(1, actual.getAll("sort").size());
356
        Assert.assertEquals(actual.getAll("sort").get(0),"dateofcollection asc");
357

  
358

  
359
        //multiple sort options
360
        actual = SolrResultSetOptionsUtil.extractQueryOptions(SearchServiceImpl.createEprQuery("(oaftype=result) sortBy dateofcollection/sort.ascending, impulse/sort.ascending, impulse/sort.descending", new ArrayList<String>(), new ArrayList<>(), new ArrayList<String>()));
361
        Assert.assertEquals(cqlTranslator.toLucene("(oaftype=result)"), actual.get("q"));
362
        Assert.assertEquals(cqlTranslator.toLucene("(oaftype=result) sortBy dateofcollection/sort.ascending, impulse/sort.ascending, impulse/sort.descending"), actual.get("q"));
363
        Assert.assertEquals(3, actual.getAll("sort").size());
364
        Assert.assertEquals("dateofcollection asc", actual.getAll("sort").get(0));
365
        Assert.assertEquals("impulse asc", actual.getAll("sort").get(1));
366
        Assert.assertEquals("impulse desc", actual.getAll("sort").get(2));
367

  
368
    }
369

  
258 370
    @Test(expected=CQLParseException.class)
259 371
    public void extractQueryOptionsEmptyQuery() throws IOException, CQLParseException {
260 372
        NamedList<String> actual  = SolrResultSetOptionsUtil.extractQueryOptions(SearchServiceImpl.createEprQuery(null, null, null, null));

Also available in: Unified diff