package eu.europeana.cloud.service.dls.solr;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import org.apache.commons.io.FileUtils;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.core.CoreContainer;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class SolrTest {
private SolrServer server;
@Before
public void setUp()
throws Exception {
File solrConfig = FileUtils.toFile(this.getClass().getResource("/solr_home/solr.xml"));
File solrHome = FileUtils.toFile(this.getClass().getResource("/solr_home/"));
CoreContainer container = CoreContainer.createAndLoad(solrHome.getAbsolutePath(), solrConfig);
server = new EmbeddedSolrServer(container, "");
}
@Test
public void test()
throws Exception {
RepresentationSolrDocument doc = new RepresentationSolrDocument("cid", "version", "dc", "provider", new Date(),
true);
server.addBean(doc);
server.commit();
SolrQuery q = new SolrQuery("version_id:version");
RepresentationSolrDocument docFetched = server.query(q).getBeans(RepresentationSolrDocument.class).get(0);
assertThat(docFetched, is(doc));
}
@After
public void cleanUp()
throws SolrServerException, IOException {
server.deleteByQuery("*:*");
server.commit();
server.shutdown();
}
}