MARMOTTA-584: proper usage of the KiWiDatabaseRunner in the GeoSPARQLFunctionsTest
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/bf532217 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/bf532217 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/bf532217 Branch: refs/heads/MARMOTTA-584 Commit: bf5322174bedc92f85ba2ff31f0fd90b6688c480 Parents: b93cdc7 Author: Sergio Fernández <[email protected]> Authored: Fri Sep 11 09:41:12 2015 +0200 Committer: Sergio Fernández <[email protected]> Committed: Fri Sep 11 09:41:12 2015 +0200 ---------------------------------------------------------------------- .../geosparql/GeoSPARQLFunctionsTest.java | 51 +++++++++++--------- .../kiwi/sparql/test/KiWiSparqlUpdateTest.java | 1 - .../marmotta/kiwi/persistence/KiWiDialect.java | 9 ++-- 3 files changed, 31 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/bf532217/libraries/kiwi/kiwi-geosparql/src/test/java/org/apache/marmotta/kiwi/sparql/geosparql/GeoSPARQLFunctionsTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-geosparql/src/test/java/org/apache/marmotta/kiwi/sparql/geosparql/GeoSPARQLFunctionsTest.java b/libraries/kiwi/kiwi-geosparql/src/test/java/org/apache/marmotta/kiwi/sparql/geosparql/GeoSPARQLFunctionsTest.java index 45a04ac..c5c24e5 100644 --- a/libraries/kiwi/kiwi-geosparql/src/test/java/org/apache/marmotta/kiwi/sparql/geosparql/GeoSPARQLFunctionsTest.java +++ b/libraries/kiwi/kiwi-geosparql/src/test/java/org/apache/marmotta/kiwi/sparql/geosparql/GeoSPARQLFunctionsTest.java @@ -22,8 +22,10 @@ import org.apache.marmotta.kiwi.config.KiWiConfiguration; import org.apache.marmotta.kiwi.sail.KiWiStore; import org.apache.marmotta.kiwi.sparql.sail.KiWiSparqlSail; import org.junit.*; +import org.junit.internal.AssumptionViolatedException; import org.junit.rules.TestWatcher; import org.junit.runner.Description; +import org.junit.runner.RunWith; import org.openrdf.query.*; import org.openrdf.repository.Repository; import org.openrdf.repository.RepositoryConnection; @@ -52,66 +54,67 @@ import org.apache.marmotta.kiwi.test.junit.KiWiDatabaseRunner; * @author Xavier Sumba ([email protected]) * @author Sergio Fernández ([email protected]) */ +@RunWith(KiWiDatabaseRunner.class) public class GeoSPARQLFunctionsTest { + final Logger log = LoggerFactory.getLogger(this.getClass()); + private KiWiStore store; private KiWiSparqlSail sail; private Repository repository; private final KiWiConfiguration dbConfig; - public GeoSPARQLFunctionsTest() { - logger.info("creating test setup..."); - dbConfig = KiWiDatabaseRunner.createKiWiConfig("PostgreSQL", new PostgreSQLDialect()); - DBConnectionChecker.checkDatabaseAvailability(dbConfig); - + public GeoSPARQLFunctionsTest(KiWiConfiguration dbConfig) { + this.dbConfig = dbConfig; dbConfig.setFulltextEnabled(true); - dbConfig.setFulltextLanguages(new String[]{"en"}); + dbConfig.setFulltextLanguages(new String[] {"en"}); + DBConnectionChecker.checkDatabaseAvailability(dbConfig); } @Before public void initDatabase() throws RepositoryException, IOException, RDFParseException { + if (!PostgreSQLDialect.class.equals(this.dbConfig.getDialect().getClass())) { + log.warn("PostgreSQL not available! (using {})", this.dbConfig.getDialect().getClass().getSimpleName()); + Assume.assumeTrue(false); + } + store = new KiWiStore(dbConfig); store.setDropTablesOnShutdown(true); sail = new KiWiSparqlSail(store); repository = new SailRepository(sail); repository.initialize(); - logger.info("loading data to test..."); + log.info("loading data to test..."); // load demo data spain provinces - RepositoryConnection con = repository.getConnection(); + RepositoryConnection conn = repository.getConnection(); try { - con.begin(); - con.add(this.getClass().getResourceAsStream("demo_data_spain_provinces.rdf"), "http://localhost/test/", RDFFormat.RDFXML); - con.add(this.getClass().getResourceAsStream("demo_data_spain_towns.rdf"), "http://localhost/test/", RDFFormat.RDFXML); - con.add(this.getClass().getResourceAsStream("demo_data_spain_rivers.rdf"), "http://localhost/test/", RDFFormat.RDFXML); - con.commit(); + conn.begin(); + conn.add(this.getClass().getResourceAsStream("/demo_data_spain_provinces.rdf"), "http://localhost/test/", RDFFormat.RDFXML); + conn.add(this.getClass().getResourceAsStream("/demo_data_spain_towns.rdf"), "http://localhost/test/", RDFFormat.RDFXML); + conn.add(this.getClass().getResourceAsStream("/demo_data_spain_rivers.rdf"), "http://localhost/test/", RDFFormat.RDFXML); + conn.commit(); } finally { - con.close(); + conn.close(); } } @After public void dropDatabase() throws RepositoryException, SQLException { - logger.info("cleaning up test setup..."); if (store != null && store.isInitialized()) { + log.info("cleaning up test setup..."); store.getPersistence().dropDatabase(); repository.shutDown(); } } - final Logger logger - = LoggerFactory.getLogger(this.getClass()); - @Rule public TestWatcher watchman = new TestWatcher() { - /** - * Invoked when a test is about to start - */ @Override - protected void starting(Description description) { - logger.info("{} being run...", description.getMethodName()); + protected void skipped(AssumptionViolatedException e, Description description) { + super.skipped(e, description); + log.warn("{} skipped because a precondition failed", description.getMethodName()); } }; @@ -291,7 +294,7 @@ public class GeoSPARQLFunctionsTest { } private void testQueryBoolean(String filename, String function) throws Exception { - String queryString = IOUtils.toString(this.getClass().getResourceAsStream(filename), "UTF-8"); + String queryString = IOUtils.toString(this.getClass().getResourceAsStream("/" + filename), "UTF-8"); RepositoryConnection conn = repository.getConnection(); try { http://git-wip-us.apache.org/repos/asf/marmotta/blob/bf532217/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlUpdateTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlUpdateTest.java b/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlUpdateTest.java index 4eaf946..e12b341 100644 --- a/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlUpdateTest.java +++ b/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlUpdateTest.java @@ -38,7 +38,6 @@ import org.openrdf.repository.sail.SailRepository; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; - /** * Run the Sesame SPARQL Update Test Suite. * http://git-wip-us.apache.org/repos/asf/marmotta/blob/bf532217/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/persistence/KiWiDialect.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/persistence/KiWiDialect.java b/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/persistence/KiWiDialect.java index 470c2d0..9ffc4d7 100644 --- a/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/persistence/KiWiDialect.java +++ b/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/persistence/KiWiDialect.java @@ -30,9 +30,10 @@ import java.util.Set; /** * A dialect provides the SQL statements necessary to access the different types of database systems. Each * method should return a PreparedStatement that can be executed on the respective JDBC connection - * <p/> - * Author: Sebastian Schaffert - * Version 5 is implemented in MARMOTTA 584 + * + * @author: Sebastian Schaffert + * + * Version 5 is implemented by MARMOTTA-584 */ public abstract class KiWiDialect { @@ -42,7 +43,6 @@ public abstract class KiWiDialect { private Properties statements; - protected KiWiDialect() throws DriverNotFoundException { statements = new Properties(); @@ -55,7 +55,6 @@ public abstract class KiWiDialect { } catch (Exception e) { log.error("could not load statement definitions (statement.properties)",e); } - } public int getVersion() {
