1
+ package de .gwdg .metadataqa .api .calculator ;
2
+
3
+ import de .gwdg .metadataqa .api .json .JsonBranch ;
4
+ import de .gwdg .metadataqa .api .model .PathCacheFactory ;
5
+ import de .gwdg .metadataqa .api .model .pathcache .CsvPathCache ;
6
+ import de .gwdg .metadataqa .api .schema .BaseSchema ;
7
+ import de .gwdg .metadataqa .api .schema .CsvAwareSchema ;
8
+ import de .gwdg .metadataqa .api .schema .Format ;
9
+ import de .gwdg .metadataqa .api .schema .Schema ;
10
+ import de .gwdg .metadataqa .api .uniqueness .SolrClientMock ;
11
+ import de .gwdg .metadataqa .api .uniqueness .SolrConfiguration ;
12
+ import de .gwdg .metadataqa .api .util .CsvReader ;
13
+ import org .junit .Before ;
14
+ import org .junit .Test ;
15
+
16
+ import java .util .List ;
17
+
18
+ import static org .junit .Assert .*;
19
+
20
+ public class IndexerTest {
21
+
22
+ Indexer indexer ;
23
+ CsvPathCache cache ;
24
+ SolrClientMock solrClient ;
25
+
26
+ @ Before
27
+ public void setUp () throws Exception {
28
+ SolrConfiguration solrConfiguration = new SolrConfiguration ("localhost" , "8983" , "solr" );
29
+ Schema schema = getSchema (Format .CSV );
30
+ solrClient = new SolrClientMock (solrConfiguration );
31
+ indexer = new Indexer (solrClient , schema );
32
+ assertNotNull (indexer );
33
+
34
+ cache = (CsvPathCache ) PathCacheFactory .getInstance (schema .getFormat (), "URL,two three" );
35
+ cache .setCsvReader (new CsvReader ().setHeader ( ((CsvAwareSchema ) schema ).getHeader () ));
36
+ }
37
+
38
+ @ Test
39
+ public void measure () {
40
+ indexer .measure (cache );
41
+ assertEquals ("URL" , solrClient .getId ());
42
+ assertTrue (solrClient .getObjectMap ().containsKey ("name_ss" ));
43
+ assertEquals (List .of ("two three" ), solrClient .getObjectMap ().get ("name_ss" ));
44
+ }
45
+
46
+ @ Test
47
+ public void getHeader () {
48
+ assertEquals (List .of (), indexer .getHeader ());
49
+ }
50
+
51
+ @ Test
52
+ public void getCalculatorName () {
53
+ assertEquals ("indexer" , indexer .getCalculatorName ());
54
+ }
55
+
56
+ @ Test
57
+ public void shutDown () {
58
+ indexer .shutDown ();
59
+ assertTrue (solrClient .isCommited ());
60
+ }
61
+
62
+ private Schema getSchema (Format format ) {
63
+ BaseSchema schema = new BaseSchema ()
64
+ .setFormat (format )
65
+ .addField (new JsonBranch ("url" ).setExtractable ().setIndexField ("url" ))
66
+ .addField (new JsonBranch ("name" ).setExtractable ().setIndexField ("name" ));
67
+ schema .setRecordId (schema .getPathByLabel ("url" ));
68
+ return schema ;
69
+ }
70
+
71
+ }
0 commit comments