AriadnePlus/dnet-ariadneplus-publisher/test/main/java/eu/dnetlib/ariadneplus/virtuoso/VirtuosoClientTest.java

89 lines
2.7 KiB
Java

package eu.dnetlib.ariadneplus.virtuoso;
import java.io.IOException;
import eu.dnetlib.ariadneplus.publisher.AriadnePlusPublisherException;
import eu.dnetlib.ariadneplus.publisher.SaxonHelper;
import eu.dnetlib.ariadneplus.rdf.RecordParserHelper;
import net.sf.saxon.s9api.SaxonApiException;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.springframework.core.io.ClassPathResource;
import virtuoso.jena.driver.VirtModel;
/**
* Created by Alessia Bardi on 12/07/2017.
*
* @author Alessia Bardi
*/
@Ignore
@RunWith(JUnit4.class)
public class VirtuosoClientTest {
private static final Log log = LogFactory.getLog(VirtuosoClientTest.class);
private String testGraph = "virt:test";
//private String connectionString = "jdbc:virtuoso://localhost:1111";
private String connectionString = "jdbc:virtuoso://virtuoso.ariadneplus.d4science.org:1111";
private String testUser = "dba";
private String testPwd = "dba";
private String defaultURIBaseURl = "http://test/";
private String recordPath = "eu/dnetlib/ariadneplus/virtuoso/test_record_plain.xml";
private VirtuosoClient client;
private SaxonHelper saxonHelper = new SaxonHelper();
@Before
public void prepare() throws SaxonApiException {
RecordParserHelper rph = new RecordParserHelper();
rph.setSaxonHelper(saxonHelper);
rph.init();
client = new VirtuosoClient(connectionString, testUser, testPwd, rph, defaultURIBaseURl);
}
@Test
public void testConnection(){
VirtModel.openDatabaseModel("x", connectionString, testUser, testPwd);
}
@Test
public void testFeedProvenance(){
long res = client.feedProvenance("ariadne_____::0002b8b77eb2d6c62f61c6e1a1ce6891", "2017-05-14T12:06:38.152+02:00" , "2017-05-14T12:11:55.573", "ARIADNE", "ariadne_api");
Assert.assertEquals(3, res);
}
@Test
public void testRecord() throws AriadnePlusPublisherException {
System.out.println(client.feed(getString(recordPath)));
}
@Test
public void testRemoveFromProvenance(){
long res = client.feedProvenance("ariadne_____::0002b8b77eb2d6c62f61c6e1a1ce6891", "2017-05-14T12:06:38.152+02:00" , "2017-05-14T12:11:55.573", "ARIADNE", "ariadne_api");
Assert.assertEquals(3, res);
long deleted = client.drop("ariadne_api");
Assert.assertEquals(0, deleted);
}
private String getString(final String classpath) {
try {
final ClassPathResource resource = new ClassPathResource(classpath);
return IOUtils.toString(resource.getInputStream(), "UTF-8");
}catch(IOException e){
return null;
}
}
}