package edu.isi.karma.mapreduce.driver; import static org.junit.Assert.assertEquals; import java.io.File; import java.net.URL; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdfs.MiniDFSCluster; import org.apache.hadoop.mapreduce.v2.MiniMRYarnCluster; import org.apache.hadoop.util.ToolRunner; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class TestN3Generation { protected static MiniDFSCluster dfsCluster; protected static MiniMRYarnCluster cluster; @BeforeClass public static void setUpBeforeClass() throws Exception { Configuration dfsConf = new Configuration(); dfsCluster = new MiniDFSCluster.Builder(dfsConf).build(); System.setProperty("hadoop.log.dir", "/tmp/logs"); YarnConfiguration clusterConf = new YarnConfiguration(); clusterConf.addResource(dfsConf); clusterConf.set("yarn.nodemanager.vmem-check-enabled", "false"); clusterConf.set("yarn.nodemanager.pmem-check-enabled", "false"); cluster = new MiniMRYarnCluster("simpleprocessor"); cluster.init(clusterConf); cluster.start(); } @AfterClass public static void tearDownAfterClass() throws Exception { if(cluster != null) { cluster.stop(); cluster.close(); } } @Test public void test() throws Exception { Configuration conf = cluster.getConfig(); String[] args = {new File( getTestResource("InputFileDirectoryLoader.properties").toURI()).getAbsolutePath()}; int res = ToolRunner.run(conf, new InputFileDirectoryLoader(),args); assertEquals(0, res); String [] jobArgs = {"-files", new File(getTestResource("people-model.ttl").toURI()).getAbsolutePath().toString(), "-libjars", System.getProperty("user.home") + "/.m2/repository/edu/isi/karma-offline/0.0.1-SNAPSHOT/karma-offline-0.0.1-SNAPSHOT-shaded.jar", new File(getTestResource("N3Processor.properties").toURI()).getAbsolutePath().toString()}; res = ToolRunner.run(conf, new N3Processor(), jobArgs); assertEquals(0, res); } protected URL getTestResource(String name) { return getClass().getClassLoader().getResource(name); } }