Skip to content

Commit

Permalink
[Fix] Fix test to not depend on absolute path (not finished)
Browse files Browse the repository at this point in the history
Still throw error while using mockito framework.
  • Loading branch information
blcham committed Jul 13, 2023
1 parent 78281b5 commit 56bbd9b
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,8 @@ public String getTypeURI() {
@Override
public void loadConfiguration() {
}

void setOntologyDocumentManager(OntologyDocumentManager ontologyDocumentManager) {
this.ontologyDocumentManager = ontologyDocumentManager;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,90 @@

import cz.cvut.spipes.engine.ExecutionContext;
import cz.cvut.spipes.engine.ExecutionContextFactory;
import cz.cvut.spipes.manager.OntoDocManager;
import cz.cvut.spipes.manager.OntologyDocumentManager;
import org.apache.jena.ontology.OntDocumentManager;
import org.apache.jena.ontology.OntModel;
import org.apache.jena.ontology.OntModelSpec;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.util.FileManager;
import org.apache.jena.util.FileUtils;
import org.junit.jupiter.api.Disabled;
import org.apache.jena.vocabulary.OWL;
import org.apache.jena.vocabulary.RDF;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.InputStream;
import java.util.HashMap;
import java.util.LinkedHashMap;

import static org.mockito.BDDMockito.given;

@ExtendWith(MockitoExtension.class)
class RetrievePrefixesModuleTest {

@Disabled
@Mock
OntologyDocumentManager ontoDocManager;

private final static String[] ontologyResourcePaths = new String[]{
"/manager/import-closure/indirect-import.ttl",
"/manager/import-closure/direct-import.ttl"
};

HashMap<String, OntModel> uri2ontModel;

@BeforeEach
void setUp() {
uri2ontModel = new LinkedHashMap<>();
for (String ontologyPath : ontologyResourcePaths) {
OntModel model = loadOntModel(ontologyPath);
String iri = getOntologyIri(model);
uri2ontModel.put(
iri,
model
);
}
}

@Test
void testGetPrefixesFromFile() {
void testExecuteSelf() {
given(ontoDocManager.getRegisteredOntologyUris()).willReturn(uri2ontModel.keySet());
uri2ontModel.forEach((key, value) -> given(ontoDocManager.getOntology(key)).willReturn(value));

ExecutionContext inputExecutionContext = ExecutionContextFactory.createEmptyContext();
OntologyDocumentManager ontDocManager = OntoDocManager.getInstance();
Path ontologiesDir = Paths.get("/home/blcha/projects/kbss/git/s-pipes/s-pipes-core/src/test/resources/manager");
ontDocManager.registerDocuments(ontologiesDir);

RetrievePrefixesModule retrievePrefixesModule = new RetrievePrefixesModule();
retrievePrefixesModule.setOntologyDocumentManager(ontoDocManager);
retrievePrefixesModule.setInputContext(inputExecutionContext);
ExecutionContext outputExecutionContext = retrievePrefixesModule.executeSelf();

outputExecutionContext.getDefaultModel().write(System.out, FileUtils.langTurtle, null);
}


private static String getOntologyIri(OntModel model) {
return model.listResourcesWithProperty(RDF.type, OWL.Ontology).nextResource().toString();
}

private static OntModel loadOntModel(String resourcePath) {
InputStream is = RetrievePrefixesModuleTest.class.getResourceAsStream(resourcePath);

if (is == null) {
throw new IllegalArgumentException("Resource " + resourcePath + " not found.");
}
return loadOntModel(is);
}

private static OntModel loadOntModel(InputStream inputStream) {
OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);

OntDocumentManager dm = OntDocumentManager.getInstance();
dm.setFileManager(FileManager.get());

ontModel.read(inputStream, null, FileUtils.langTurtle);
dm.loadImports(ontModel);
return ontModel;
}
}

0 comments on commit 56bbd9b

Please sign in to comment.