diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java index 3b633dc972..0110b67fde 100644 --- a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java +++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java @@ -204,7 +204,7 @@ class Utils { } MongoConnection mongo = new MongoConnection(uri.getURI()); closer.register(asCloseable(mongo)); - builder = newMongoDocumentNodeStoreBuilder().setMongoDB(mongo.getDB()); + builder = newMongoDocumentNodeStoreBuilder().setMongoDB(src, mongo.getDB().getName(), 16); } else if (src.startsWith("jdbc")) { RDBOptions opts = new RDBOptions(); if (options.getRDBTablePrefix() != null) { diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderHelper.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderHelper.java new file mode 100644 index 0000000000..c58efc1f75 --- /dev/null +++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderHelper.java @@ -0,0 +1,8 @@ +package org.apache.jackrabbit.oak.plugins.document.mongo; + +public class MongoDocumentNodeStoreBuilderHelper { + + public static String getMongoUri(MongoDocumentNodeStoreBuilder builder) { + return builder.getMongoUri(); + } +} diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/RevisionsCommandTest.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/RevisionsCommandTest.java index 8260c66947..59061d1bc4 100644 --- a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/RevisionsCommandTest.java +++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/RevisionsCommandTest.java @@ -23,6 +23,7 @@ import java.io.PrintStream; import java.util.concurrent.TimeUnit; import com.google.common.collect.ImmutableList; +import com.google.common.io.Closer; import org.apache.jackrabbit.oak.plugins.document.Collection; import org.apache.jackrabbit.oak.plugins.document.Document; @@ -34,6 +35,8 @@ import org.apache.jackrabbit.oak.plugins.document.MongoConnectionFactory; import org.apache.jackrabbit.oak.plugins.document.MongoUtils; import org.apache.jackrabbit.oak.plugins.document.Revision; import org.apache.jackrabbit.oak.plugins.document.UpdateOp; +import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentNodeStoreBuilder; +import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentNodeStoreBuilderHelper; import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.junit.Before; import org.junit.BeforeClass; @@ -42,6 +45,7 @@ import org.junit.Test; import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getIdFromPath; import static org.hamcrest.CoreMatchers.containsString; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; @@ -103,6 +107,21 @@ public class RevisionsCommandTest { assertTrue(output.contains("starting gc collect")); } + @Test + public void validateMongoUri() throws Exception { + ImmutableList args = ImmutableList.builder().add(MongoUtils.URL) + .build().asList(); + Closer closer = Closer.create(); + DocumentNodeStoreBuilder builder = Utils.createDocumentMKBuilder(args.toArray(new String[args.size()]), closer, ""); + if(builder instanceof MongoDocumentNodeStoreBuilder) { + MongoDocumentNodeStoreBuilder mb = (MongoDocumentNodeStoreBuilder)builder; + String mongoUri = MongoDocumentNodeStoreBuilderHelper.getMongoUri(mb); + assertNotNull(mongoUri); + assertEquals(MongoUtils.URL, mongoUri); + } + closer.close(); + } + @Test public void sweep() throws Exception { int clusterId = ns.getClusterId();