You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2014/01/20 12:27:56 UTC
svn commit: r1559668 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/mongomk/util/
test/java/org/apache/jackrabbit/oak/plugins/mongomk/
test/java/org/apache/jackrabbit/oak/plugins/mongomk/blob/
test/java/org/apache/...
Author: thomasm
Date: Mon Jan 20 11:27:56 2014
New Revision: 1559668
URL: http://svn.apache.org/r1559668
Log:
OAK-619 MongoMK: remove duplicate code, make MongoBlobStoreTest independent of AbstractMongoConnectionTest
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/util/MongoConnection.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/AbstractMongoConnectionTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidationIT.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/ClusterJoinTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoUtils.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/blob/MongoBlobStoreTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/impl/MongoMKConcurrentAddTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/multitenancy/MultiTenancyTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/util/MongoConnection.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/util/MongoConnection.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/util/MongoConnection.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/util/MongoConnection.java Mon Jan 20 11:27:56 2014
@@ -74,7 +74,7 @@ public class MongoConnection {
.threadsAllowedToBlockForConnectionMultiplier(100);
}
- public static String toString(MongoClientOptions opts){
+ public static String toString(MongoClientOptions opts) {
return Objects.toStringHelper(opts)
.add("connectionsPerHost", opts.getConnectionsPerHost())
.add("connectTimeout", opts.getConnectTimeout())
@@ -85,7 +85,7 @@ public class MongoConnection {
.add("maxWaitTime", opts.getMaxWaitTime())
.add("threadsAllowedToBlockForConnectionMultiplier",
opts.getThreadsAllowedToBlockForConnectionMultiplier())
- .add("readPreference",opts.getReadPreference().getName())
+ .add("readPreference", opts.getReadPreference().getName())
.add("writeConcern", opts.getWriteConcern())
.toString();
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/AbstractMongoConnectionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/AbstractMongoConnectionTest.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/AbstractMongoConnectionTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/AbstractMongoConnectionTest.java Mon Jan 20 11:27:56 2014
@@ -23,54 +23,25 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-
/**
* Base class for test cases that need a {@link MongoConnection}
* to a clean test database. Tests in subclasses are automatically
* skipped if the configured MongoDB connection can not be created.
*/
public abstract class AbstractMongoConnectionTest extends MongoMKTestBase {
-
- protected static final String HOST =
- System.getProperty("mongo.host", "127.0.0.1");
-
- protected static final int PORT =
- Integer.getInteger("mongo.port", 27017);
-
- protected static final String DB =
- System.getProperty("mongo.db", "MongoMKDB");
-
- protected static Boolean mongoAvailable;
-
- private static Exception mongoException;
protected MongoConnection mongoConnection;
-
protected MongoMK mk;
-
+
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
- if (mongoAvailable == null) {
- MongoConnection mongoConnection = new MongoConnection(HOST, PORT, DB);
- try {
- mongoConnection.getDB().command(new BasicDBObject("ping", 1));
- mongoAvailable = Boolean.TRUE;
- } catch (Exception e) {
- mongoAvailable = Boolean.FALSE;
- mongoException = e;
- } finally {
- mongoConnection.close();
- }
- }
- Assume.assumeNoException(mongoException);
+ public static void checkMongoDbAvailable() {
+ Assume.assumeNotNull(MongoUtils.getConnection());
}
@Before
public void setUpConnection() throws Exception {
- mongoConnection = new MongoConnection(HOST, PORT, DB);
- dropCollections(mongoConnection.getDB());
+ mongoConnection = MongoUtils.getConnection();
+ MongoUtils.dropCollections(mongoConnection.getDB());
mk = new MongoMK.Builder().setMongoDB(mongoConnection.getDB()).open();
}
@@ -79,8 +50,8 @@ public abstract class AbstractMongoConne
mk.dispose();
// the db might already be closed
mongoConnection.close();
- mongoConnection = new MongoConnection(HOST, PORT, DB);
- dropCollections(mongoConnection.getDB());
+ mongoConnection = MongoUtils.getConnection();
+ MongoUtils.dropCollections(mongoConnection.getDB());
mongoConnection.close();
}
@@ -89,12 +60,4 @@ public abstract class AbstractMongoConne
return mk;
}
- protected void dropCollections(DB db) throws Exception {
- for (String name : db.getCollectionNames()) {
- if (!name.startsWith("system.")) {
- db.getCollection(name).drop();
- }
- }
- }
-
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidationIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidationIT.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidationIT.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidationIT.java Mon Jan 20 11:27:56 2014
@@ -196,7 +196,7 @@ public class CacheInvalidationIT extends
}
private MongoNodeStore createNS(int clusterId) throws Exception {
- MongoConnection mc = new MongoConnection(HOST, PORT, DB);
+ MongoConnection mc = MongoUtils.getConnection();
return new MongoMK.Builder()
.setMongoDB(mc.getDB())
.setClusterId(clusterId)
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/ClusterJoinTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/ClusterJoinTest.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/ClusterJoinTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/ClusterJoinTest.java Mon Jan 20 11:27:56 2014
@@ -37,7 +37,7 @@ public class ClusterJoinTest extends Abs
// start a new MongoMK instance. this instance sees /foo
// because it started after the commit on the first MongoMK
MongoMK mk2 = new MongoMK.Builder().setAsyncDelay(0)
- .setMongoDB(new MongoConnection(HOST, PORT, DB).getDB()).open();
+ .setMongoDB(MongoUtils.getConnection().getDB()).open();
try {
// this creates a first commit from the second MongoMK instance
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoUtils.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoUtils.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoUtils.java Mon Jan 20 11:27:56 2014
@@ -44,12 +44,22 @@ public class MongoUtils {
* @return the connection or null
*/
public static MongoConnection getConnection() {
+ return getConnection(DB);
+ }
+
+ /**
+ * Get a connection if available. If not available, null is returned.
+ *
+ * @param dbName the database name
+ * @return the connection or null
+ */
+ public static MongoConnection getConnection(String dbName) {
if (exception != null) {
return null;
}
MongoConnection mongoConnection = null;
try {
- mongoConnection = new MongoConnection(HOST, PORT, DB);
+ mongoConnection = new MongoConnection(HOST, PORT, dbName);
mongoConnection.getDB().command(new BasicDBObject("ping", 1));
// dropCollections(mongoConnection.getDB());
} catch (Exception e) {
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/blob/MongoBlobStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/blob/MongoBlobStoreTest.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/blob/MongoBlobStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/blob/MongoBlobStoreTest.java Mon Jan 20 11:27:56 2014
@@ -34,22 +34,32 @@ import java.util.concurrent.atomic.Atomi
import org.apache.jackrabbit.mk.blobs.AbstractBlobStore;
import org.apache.jackrabbit.mk.blobs.BlobStoreInputStream;
-import org.apache.jackrabbit.oak.plugins.mongomk.AbstractMongoConnectionTest;
+import org.apache.jackrabbit.oak.plugins.mongomk.MongoUtils;
+import org.apache.jackrabbit.oak.plugins.mongomk.util.MongoConnection;
import org.junit.After;
+import org.junit.Assume;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
- * Tests the {@link MongoBlobStore} implementation. It should really extend from
- * AbstractBlobStore but it cannot due to classpath issues, so instead AbstractBlobStore
- * tests are copied here as well.
+ * Tests the {@link MongoBlobStore} implementation.
*/
-public class MongoBlobStoreTest extends AbstractMongoConnectionTest {
+public class MongoBlobStoreTest {
+ private MongoConnection mongoConnection;
protected AbstractBlobStore store;
-
+
+ @BeforeClass
+ public static void checkMongoDbAvailable() {
+ Assume.assumeNotNull(MongoUtils.getConnection());
+ }
+
@Before
public void setUp() throws Exception {
+ mongoConnection = MongoUtils.getConnection();
+ MongoUtils.dropCollections(mongoConnection.getDB());
+
MongoBlobStore blobStore = new MongoBlobStore(mongoConnection.getDB());
blobStore.setBlockSize(128);
blobStore.setBlockSizeMin(48);
@@ -58,6 +68,7 @@ public class MongoBlobStoreTest extends
@After
public void tearDown() throws Exception {
+ MongoUtils.dropCollections(mongoConnection.getDB());
store = null;
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/impl/MongoMKConcurrentAddTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/impl/MongoMKConcurrentAddTest.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/impl/MongoMKConcurrentAddTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/impl/MongoMKConcurrentAddTest.java Mon Jan 20 11:27:56 2014
@@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.oak.plugins.mongomk.AbstractMongoConnectionTest;
import org.apache.jackrabbit.oak.plugins.mongomk.MongoMK;
+import org.apache.jackrabbit.oak.plugins.mongomk.MongoUtils;
import org.apache.jackrabbit.oak.plugins.mongomk.util.MongoConnection;
import org.junit.After;
import org.junit.Test;
@@ -44,8 +45,7 @@ public class MongoMKConcurrentAddTest ex
private List<MongoConnection> connections = new ArrayList<MongoConnection>();
private MicroKernel createMicroKernel() throws Exception {
- MongoConnection connection = new MongoConnection(HOST,
- PORT, DB);
+ MongoConnection connection = MongoUtils.getConnection();
connections.add(connection);
DB mongoDB = connection.getDB();
return new MongoMK.Builder().setMongoDB(mongoDB).open();
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/multitenancy/MultiTenancyTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/multitenancy/MultiTenancyTest.java?rev=1559668&r1=1559667&r2=1559668&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/multitenancy/MultiTenancyTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/multitenancy/MultiTenancyTest.java Mon Jan 20 11:27:56 2014
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertTru
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.oak.plugins.mongomk.AbstractMongoConnectionTest;
import org.apache.jackrabbit.oak.plugins.mongomk.MongoMK;
+import org.apache.jackrabbit.oak.plugins.mongomk.MongoUtils;
import org.apache.jackrabbit.oak.plugins.mongomk.util.MongoConnection;
import org.junit.After;
import org.junit.Before;
@@ -49,8 +50,8 @@ public class MultiTenancyTest extends Ab
@BeforeClass
public static void createMongoConnections() throws Exception {
- mongoConnection2 = new MongoConnection(HOST, PORT, DB2);
- mongoConnection3 = new MongoConnection(HOST, PORT, DB);
+ mongoConnection2 = MongoUtils.getConnection(DB2);
+ mongoConnection3 = MongoUtils.getConnection();
}
@@ -71,7 +72,7 @@ public class MultiTenancyTest extends Ab
@After
public void dropCollections() throws Exception {
- dropCollections(mongoConnection2.getDB());
+ MongoUtils.dropCollections(mongoConnection2.getDB());
// DB1 handled by the AbstractMongoConnectionTest
}