//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.jobs.patterns; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.uima.analysis_engine.AnalysisEngine; import org.apache.uima.analysis_engine.AnalysisEngineProcessException; import org.apache.uima.fit.factory.ExternalResourceFactory; import org.apache.uima.resource.ExternalResourceDescription; import org.apache.uima.resource.ResourceAccessException; import org.apache.uima.resource.ResourceInitializationException; import org.bson.Document; import org.junit.Before; import org.junit.Test; import com.google.common.io.Files; import com.mongodb.client.MongoCollection; import uk.gov.dstl.baleen.jobs.interactions.UploadInteractionsToMongo; import uk.gov.dstl.baleen.resources.SharedFongoResource; import uk.gov.dstl.baleen.uima.AbstractBaleenTaskTest; public class UploadInteractionsToMongoTest extends AbstractBaleenTaskTest { private ExternalResourceDescription fongoErd; @Before public void before() { fongoErd = ExternalResourceFactory.createExternalResourceDescription("mongo", SharedFongoResource.class, "fongo.collection", "na", "fongo.data", "[ ]"); } @Test public void test() throws ResourceInitializationException, AnalysisEngineProcessException, IOException, ResourceAccessException { final File file = File.createTempFile("test", "uimt"); Files.write("Type,SubType\nMOVEMENT,went,source,target,went,VERB,gone", file, StandardCharsets.UTF_8); final AnalysisEngine ae = create(UploadInteractionsToMongo.class, "mongo", fongoErd, "input", file); execute(ae); final SharedFongoResource sfr = (SharedFongoResource) ae.getUimaContext().getResourceObject("mongo"); final MongoCollection<Document> relationTypes = sfr.getDB().getCollection("relationTypes"); assertTrue(relationTypes.count() > 0); final MongoCollection<Document> interactions = sfr.getDB().getCollection("interactions"); assertTrue(interactions.count() > 0); } }