Rework managing the backgroud test server
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5b6643fe Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5b6643fe Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5b6643fe Branch: refs/heads/master Commit: 5b6643fe5f1a3c0380533d72eb6c7536276281d2 Parents: 32fb3e4 Author: Andy Seaborne <a...@apache.org> Authored: Thu Oct 13 17:09:49 2016 +0100 Committer: ajs6f <aj...@virginia.edu> Committed: Thu Oct 13 16:09:42 2016 -0400 ---------------------------------------------------------------------- .../connections/RemoteEndpointConnection.java | 4 +- .../RemoteEndpointPreparedStatement.java | 4 +- .../statements/RemoteEndpointStatement.java | 3 +- .../org/apache/jena/jdbc/remote/ServerCtl.java | 106 +++++++++++++++++++ .../jena/jdbc/remote/TS_JdbcDriverRemote.java | 20 ++-- .../AbstractRemoteEndpointConnectionTests.java | 5 - .../TestRemoteEndpointConnection.java | 30 ++---- ...stRemoteEndpointConnectionWithGraphUris.java | 33 ++---- ...oteEndpointConnectionWithResultSetTypes.java | 29 ++--- .../metadata/TestRemoteConnectionMetadata.java | 33 ++---- .../AbstractRemoteEndpointResultSetTests.java | 4 +- .../results/TestRemoteEndpointResults.java | 19 ++-- .../TestRemoteEndpointResultsWithGraphUris.java | 21 ++-- ...RemoteEndpointResultsWithResultSetTypes.java | 26 ++--- .../TestRemoteEndpointStatements.java | 35 ++---- 15 files changed, 181 insertions(+), 191 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java index 2f26ac9..c39a76c 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java @@ -85,8 +85,8 @@ public class RemoteEndpointConnection extends JenaConnection { * Default Graph URIs for SPARQL updates * @param usingNamedGraphUris * Named Graph URIs for SPARQL updates - * @param authenticator - * HTTP Authenticator + * @param client + * HTTP client * @param holdability * Result Set holdability * @param compatibilityLevel http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointPreparedStatement.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointPreparedStatement.java b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointPreparedStatement.java index 91a15d7..347b1dc 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointPreparedStatement.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointPreparedStatement.java @@ -65,8 +65,8 @@ public class RemoteEndpointPreparedStatement extends JenaPreparedStatement { * SPARQL command * @param connection * Connection - * @param authenticator - * HTTP Authenticator + * @param client + * HTTP client * @param type * Result Set type for result sets produced by this statement * @param fetchDir http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointStatement.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointStatement.java b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointStatement.java index d75c246..5fa5c7e 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointStatement.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/statements/RemoteEndpointStatement.java @@ -63,7 +63,8 @@ public class RemoteEndpointStatement extends JenaStatement { * Connection * @param type * Result Set type for result sets produced by this statement - * @param authenticator HTTP Authenticator + * @param client + * HTTP client * @param fetchDir * Fetch Direction * @param fetchSize http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/ServerCtl.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/ServerCtl.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/ServerCtl.java new file mode 100644 index 0000000..66bc4dc --- /dev/null +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/ServerCtl.java @@ -0,0 +1,106 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.jena.jdbc.remote; + +import org.apache.http.client.HttpClient ; +import org.apache.http.impl.client.CloseableHttpClient ; +import org.apache.jena.atlas.io.IO ; +import org.apache.jena.fuseki.Fuseki ; +import org.apache.jena.fuseki.ServerTest ; +import org.apache.jena.riot.web.HttpOp ; + +public class ServerCtl { + static { Fuseki.init(); } + + /* Put this in each test class using the Fuseki server: + @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + @AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } + */ + + // One server, all tests. + //static { ServerTest.allocServer(); } + + // Use HttpOp caching of connections during testing to avoid + // swamping kernel socket management + static HttpClient defaultHttpClient = HttpOp.getDefaultHttpClient(); + + // Used for all tests except auth tests. + //static final HttpClient globalPoolingClient = HttpOp.createPoolingHttpClient(); + + public static void ctlBeforeTestSuite() { + // Does not work to have pool across server free/alloc. + // This may be to do with timing when using localhost + // and a high frequence connection churn. + //setPoolingHttpClient() ; + } + + public static void ctlAfterTestSuite() { + //resetDefaultHttpClient(); + } + + /** + * Setup for the tests by allocating a Fuseki instance to work with + */ + public static void ctlBeforeClass() { + setPoolingHttpClient() ; + ServerTest.allocServer(); + } + + /** + * Clean up after tests by de-allocating the Fuseki instance + */ + public static void ctlAfterClass() { + ServerTest.freeServer(); + resetDefaultHttpClient() ; + } + + /** + * Placeholder. + */ + public static void ctlBeforeTest() { + } + + /** + * Clean up after each test by resetting the Fuseki dataset + */ + public static void ctlAfterTest() { + ServerTest.resetServer(); + } + + /** Set a PoolingHttpClient */ + private static void setPoolingHttpClient() { + setHttpClient(HttpOp.createPoolingHttpClient()) ; + } + + /** Restore the original setup */ + private static void resetDefaultHttpClient() { + setHttpClient(defaultHttpClient); + } + + /** Set the HttpClient - close the old one if appropriate */ + private static void setHttpClient(HttpClient newHttpClient) { + HttpClient hc = HttpOp.getDefaultHttpClient() ; + if ( hc instanceof CloseableHttpClient ) + IO.close((CloseableHttpClient)hc) ; + HttpOp.setDefaultHttpClient(newHttpClient) ; + } + +} http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/TS_JdbcDriverRemote.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/TS_JdbcDriverRemote.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/TS_JdbcDriverRemote.java index 1b6eb36..5fadd00 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/TS_JdbcDriverRemote.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/TS_JdbcDriverRemote.java @@ -17,7 +17,6 @@ */ package org.apache.jena.jdbc.remote; -import org.apache.http.client.HttpClient; import org.apache.jena.jdbc.remote.connections.TestRemoteEndpointConnection; import org.apache.jena.jdbc.remote.connections.TestRemoteEndpointConnectionWithAuth; import org.apache.jena.jdbc.remote.connections.TestRemoteEndpointConnectionWithGraphUris; @@ -28,7 +27,6 @@ import org.apache.jena.jdbc.remote.results.TestRemoteEndpointResultsWithAuth; import org.apache.jena.jdbc.remote.results.TestRemoteEndpointResultsWithGraphUris; import org.apache.jena.jdbc.remote.results.TestRemoteEndpointResultsWithResultSetTypes; import org.apache.jena.jdbc.remote.statements.TestRemoteEndpointStatements; -import org.apache.jena.riot.web.HttpOp; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; @@ -41,12 +39,15 @@ import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ TestRemoteEndpointDriver.class, + TestRemoteEndpointConnection.class, TestRemoteEndpointConnectionWithAuth.class, TestRemoteEndpointConnectionWithGraphUris.class, - TestRemoteEndpointConnectionWithResultSetTypes.class, + TestRemoteEndpointConnectionWithResultSetTypes.class + , TestRemoteConnectionMetadata.class, - TestRemoteEndpointStatements.class, + TestRemoteEndpointStatements.class + , TestRemoteEndpointResults.class, TestRemoteEndpointResultsWithAuth.class, TestRemoteEndpointResultsWithGraphUris.class, @@ -56,20 +57,13 @@ import org.junit.runners.Suite; public class TS_JdbcDriverRemote { - // Use HttpOp caching of connections during testing to avoid - // swamping kernel socket management - static HttpClient defaultHttpClient = HttpOp.getDefaultHttpClient(); - // Used for all tests except auth tests. - static final HttpClient globalPoolingClient = HttpOp.createPoolingHttpClient(); - @BeforeClass public static void beforeClassAbstract1() { - HttpOp.setDefaultHttpClient(globalPoolingClient); + ServerCtl.ctlBeforeTestSuite() ; } @AfterClass public static void afterClassAbstract1() { - HttpOp.setDefaultHttpClient(defaultHttpClient); + ServerCtl.ctlAfterTestSuite() ; } - } http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/AbstractRemoteEndpointConnectionTests.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/AbstractRemoteEndpointConnectionTests.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/AbstractRemoteEndpointConnectionTests.java index 08da404..ea66abb 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/AbstractRemoteEndpointConnectionTests.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/AbstractRemoteEndpointConnectionTests.java @@ -17,15 +17,10 @@ */ package org.apache.jena.jdbc.remote.connections; -import org.apache.jena.fuseki.Fuseki; import org.apache.jena.jdbc.connections.AbstractJenaConnectionTests; /** * Abstract tests for remote endpoint driver connections */ public abstract class AbstractRemoteEndpointConnectionTests extends AbstractJenaConnectionTests { - - static { - Fuseki.init(); - } } http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java index 21ce9e1..37cb8ad 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java @@ -23,11 +23,12 @@ import java.sql.SQLException; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; -import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.utils.TestUtils; import org.apache.jena.query.Dataset ; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -36,29 +37,10 @@ import org.junit.BeforeClass; */ public class TestRemoteEndpointConnection extends AbstractRemoteEndpointConnectionTests { - /** - * Setup for the tests by allocating a Fuseki instance to work with - */ - @BeforeClass - public static void setup() { - ServerTest.allocServer(); - } - - /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** - * Clean up after tests by de-allocating the Fuseki instance - */ - @AfterClass - public static void cleanup() { - ServerTest.freeServer(); - } + @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + @AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } @Override protected boolean supportsTimeouts() { http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java index f01cd3f..e4beca0 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java @@ -26,13 +26,11 @@ import java.util.List; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.apache.jena.jdbc.utils.TestUtils; import org.apache.jena.query.Dataset ; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; +import org.junit.* ; /** * Tests for the {@link RemoteEndpointConnection} where we force the default @@ -47,29 +45,10 @@ public class TestRemoteEndpointConnectionWithGraphUris extends AbstractRemoteEnd */ private static final String DEFAULT_GRAPH_URI = "http://example.org/defaultGraph"; - /** - * Setup for the tests by allocating a Fuseki instance to work with - */ - @BeforeClass - public static void setup() { - ServerTest.allocServer(); - } - - /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** - * Clean up after tests by de-allocating the Fuseki instance - */ - @AfterClass - public static void cleanup() { - ServerTest.freeServer(); - } + @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + @AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } @Override protected boolean supportsTimeouts() { http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java index e0478cc..620b21f 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java @@ -23,12 +23,14 @@ import java.sql.SQLException; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.apache.jena.jdbc.utils.TestUtils; import org.apache.jena.query.Dataset ; import org.apache.jena.riot.WebContent; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -37,29 +39,10 @@ import org.junit.BeforeClass; */ public class TestRemoteEndpointConnectionWithResultSetTypes extends AbstractRemoteEndpointConnectionTests { - /** - * Setup for the tests by allocating a Fuseki instance to work with - */ - @BeforeClass - public static void setup() { - ServerTest.allocServer(); - } - - /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** - * Clean up after tests by de-allocating the Fuseki instance - */ - @AfterClass - public static void cleanup() { - ServerTest.freeServer(); - } + @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + @AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } @Override protected boolean supportsTimeouts() { http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java index 65b1110..7367d3b 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java @@ -28,9 +28,11 @@ import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; import org.apache.jena.jdbc.metadata.results.AbstractDatabaseMetadataTests; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -39,33 +41,10 @@ import org.junit.BeforeClass; */ public class TestRemoteConnectionMetadata extends AbstractDatabaseMetadataTests { - static { - Fuseki.init(); - } - - /** - * Setup for the tests by allocating a Fuseki instance to work with - */ - @BeforeClass - public static void setup() { - ServerTest.allocServer(); - } - - /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** - * Clean up after tests by de-allocating the Fuseki instance - */ - @AfterClass - public static void cleanup() { - ServerTest.freeServer(); - } + @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + @AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } @Override protected JenaConnection getConnection() throws SQLException { http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/AbstractRemoteEndpointResultSetTests.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/AbstractRemoteEndpointResultSetTests.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/AbstractRemoteEndpointResultSetTests.java index f1b965d..085ad10 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/AbstractRemoteEndpointResultSetTests.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/AbstractRemoteEndpointResultSetTests.java @@ -34,12 +34,12 @@ public abstract class AbstractRemoteEndpointResultSetTests extends AbstractResul static HttpClient defaultHttpClient = HttpOp.getDefaultHttpClient() ; // Used for all tests except auth tests. - static HttpClient globalCachingClient = HttpOp.createCachingHttpClient() ; + static HttpClient globalPoolingClient = HttpOp.createPoolingHttpClient() ; @BeforeClass public static void beforeClassAbstract1() { JenaSystem.init() ; Fuseki.init(); - HttpOp.setDefaultHttpClient(globalCachingClient) ; + HttpOp.setDefaultHttpClient(globalPoolingClient) ; } @AfterClass public static void afterClassAbstract1() { http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java index 12769c4..53711b7 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java @@ -25,12 +25,14 @@ import java.sql.Statement; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.apache.jena.jdbc.utils.TestUtils; import org.apache.jena.query.Dataset ; import org.apache.jena.riot.web.HttpOp; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -41,33 +43,30 @@ public class TestRemoteEndpointResults extends AbstractRemoteEndpointResultSetTe private static RemoteEndpointConnection connection; + //@BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + //@AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } + /** * Setup for the tests by allocating a Fuseki instance to work with * @throws SQLException */ @BeforeClass public static void setup() throws SQLException { - ServerTest.allocServer(); - HttpOp.setDefaultHttpClient(null); + ServerCtl.ctlBeforeClass(); connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT); connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH); } /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - /** * Clean up after tests by de-allocating the Fuseki instance * @throws SQLException */ @AfterClass public static void cleanup() throws SQLException { connection.close(); - ServerTest.freeServer(); + ServerCtl.ctlAfterClass(); } @Override http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java index dfeb69d..da2e8e7 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java @@ -27,12 +27,14 @@ import org.apache.jena.ext.com.google.common.collect.Lists; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.apache.jena.jdbc.utils.TestUtils; import org.apache.jena.query.Dataset ; import org.apache.jena.riot.web.HttpOp; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -41,6 +43,12 @@ import org.junit.BeforeClass; */ public class TestRemoteEndpointResultsWithGraphUris extends AbstractRemoteEndpointResultSetTests { + //@BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + //@AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } + + /** * Constant for default graph URI used in these tests */ @@ -54,29 +62,20 @@ public class TestRemoteEndpointResultsWithGraphUris extends AbstractRemoteEndpoi */ @BeforeClass public static void setup() throws SQLException { - ServerTest.allocServer(); - HttpOp.setDefaultHttpClient(null); + ServerCtl.ctlBeforeClass(); List<String> defaultGraphUris = Lists.newArrayList(DEFAULT_GRAPH_URI); connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, defaultGraphUris, null, defaultGraphUris, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null); connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH); } /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** * Clean up after tests by de-allocating the Fuseki instance * @throws SQLException */ @AfterClass public static void cleanup() throws SQLException { connection.close(); - ServerTest.freeServer(); + ServerCtl.ctlAfterClass(); } @Override http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java index 3b88663..7a7d46f 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java @@ -25,13 +25,14 @@ import java.sql.Statement; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.apache.jena.jdbc.utils.TestUtils; import org.apache.jena.query.Dataset ; import org.apache.jena.riot.WebContent; -import org.apache.jena.riot.web.HttpOp; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -39,7 +40,12 @@ import org.junit.BeforeClass; * */ public class TestRemoteEndpointResultsWithResultSetTypes extends AbstractRemoteEndpointResultSetTests { - + + //@BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + //@AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } + private static RemoteEndpointConnection connection; /** @@ -48,31 +54,19 @@ public class TestRemoteEndpointResultsWithResultSetTypes extends AbstractRemoteE */ @BeforeClass public static void setup() throws SQLException { - ServerTest.allocServer(); - HttpOp.setDefaultHttpClient(null); + ServerCtl.ctlBeforeClass(); connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson); connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH); } /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** * Clean up after tests by de-allocating the Fuseki instance * @throws SQLException */ @AfterClass public static void cleanup() throws SQLException { - - // Sleep attempts to avoid a intermittent timing issue on the build server that can result in hung builds - connection.close(); - ServerTest.freeServer(); + ServerCtl.ctlAfterClass(); } @Override http://git-wip-us.apache.org/repos/asf/jena/blob/5b6643fe/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java ---------------------------------------------------------------------- diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java index 4c6f52c..16b8758 100644 --- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java +++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java @@ -24,10 +24,12 @@ import org.apache.jena.fuseki.Fuseki; import org.apache.jena.fuseki.ServerTest; import org.apache.jena.jdbc.JdbcCompatibility; import org.apache.jena.jdbc.connections.JenaConnection; +import org.apache.jena.jdbc.remote.ServerCtl ; import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection; import org.apache.jena.jdbc.statements.AbstractJenaStatementTests; import org.junit.After; import org.junit.AfterClass; +import org.junit.Before ; import org.junit.BeforeClass; /** @@ -35,34 +37,11 @@ import org.junit.BeforeClass; * */ public class TestRemoteEndpointStatements extends AbstractJenaStatementTests { - - static { - Fuseki.init(); - } - - /** - * Setup for the tests by allocating a Fuseki instance to work with - */ - @BeforeClass - public static void setup() { - ServerTest.allocServer(); - } - - /** - * Clean up after each test by resetting the Fuseki instance - */ - @After - public void cleanupTest() { - ServerTest.resetServer(); - } - - /** - * Clean up after tests by de-allocating the Fuseki instance - */ - @AfterClass - public static void cleanup() { - ServerTest.freeServer(); - } + + @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); } + @AfterClass public static void ctlAfterClass() { ServerCtl.ctlAfterClass(); } + @Before public void ctlBeforeTest() { ServerCtl.ctlBeforeTest(); } + @After public void ctlAfterTest() { ServerCtl.ctlAfterTest(); } @Override protected JenaConnection getConnection() throws SQLException {