diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoClientOptionsFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoClientOptionsFactoryBean.java index 9f7e85bd7..df9b6c646 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoClientOptionsFactoryBean.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoClientOptionsFactoryBean.java @@ -41,7 +41,8 @@ public class MongoClientOptionsFactoryBean extends AbstractFactoryBean) value); } else if (ObjectUtils.isArray(value)) { return toString(Arrays.asList(ObjectUtils.toObjectArray(value))); - } - - else { + } else { return String.format("{ \"$java\" : %s }", value.toString()); } } @@ -140,7 +137,7 @@ public abstract class SerializationUtils { public static String serializeValue(@Nullable Object value) { - if(value == null) { + if (value == null) { return "null"; } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/CleanMongoDBTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/CleanMongoDBTests.java index b8ef4ec6c..4bf3bbf13 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/CleanMongoDBTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/CleanMongoDBTests.java @@ -20,11 +20,8 @@ import static org.mockito.Mockito.*; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.HashSet; -import java.util.concurrent.TimeUnit; import org.bson.Document; -import org.bson.conversions.Bson; import org.junit.Before; import org.junit.Test; import org.junit.runner.Description; @@ -32,20 +29,17 @@ import org.junit.runner.RunWith; import org.junit.runners.model.Statement; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; + import org.springframework.data.mongodb.test.util.CleanMongoDB.Struct; -import com.mongodb.Block; -import com.mongodb.Function; import com.mongodb.MongoClient; -import com.mongodb.client.ListCollectionsIterable; import com.mongodb.client.ListDatabasesIterable; import com.mongodb.client.MongoCollection; -import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; -import com.mongodb.client.MongoIterable; /** * @author Christoph Strobl + * @author Mark Paluch */ @RunWith(MockitoJUnitRunner.class) public class CleanMongoDBTests { @@ -63,144 +57,26 @@ public class CleanMongoDBTests { private @Mock MongoDatabase db1mock, db2mock; private @Mock MongoCollection db1collection1mock, db1collection2mock, db2collection1mock; - @SuppressWarnings("serial") + @SuppressWarnings({ "serial", "unchecked" }) @Before public void setUp() { // DB setup - when(mongoClientMock.listDatabaseNames()).thenReturn(new ListDatabasesIterable() { - @Override - public ListDatabasesIterable maxTime(long maxTime, TimeUnit timeUnit) { - return null; - } - @Override - public ListDatabasesIterable batchSize(int batchSize) { - return null; - } - - @Override - public ListDatabasesIterable filter(Bson filter) { - return null; - } - - @Override - public ListDatabasesIterable nameOnly(Boolean nameOnly) { - return null; - } - - @Override - public MongoCursor iterator() { - return null; - } - - @Override - public String first() { - return null; - } - - @Override - public MongoIterable map(Function mapper) { - return null; - } - - @Override - public void forEach(Block block) { - - } - - @Override - public > A into(A target) { - return (A) Arrays.asList("admin", "db1", "db2"); - } - }); + ListDatabasesIterable dbIterable = mock(ListDatabasesIterable.class); + when(dbIterable.into(any(Collection.class))).thenReturn(Arrays.asList("admin", "db1", "db2")); + when(mongoClientMock.listDatabaseNames()).thenReturn(dbIterable); when(mongoClientMock.getDatabase(eq("db1"))).thenReturn(db1mock); when(mongoClientMock.getDatabase(eq("db2"))).thenReturn(db2mock); // collections have to exist - when(db1mock.listCollectionNames()).thenReturn(new ListCollectionsIterable() { - @Override - public ListCollectionsIterable filter(Bson filter) { - return null; - } + ListDatabasesIterable collectionIterable = mock(ListDatabasesIterable.class); + when(collectionIterable.into(any(Collection.class))).thenReturn(Arrays.asList("db1collection1", "db1collection2")); + when(db1mock.listCollectionNames()).thenReturn(collectionIterable); - @Override - public ListCollectionsIterable maxTime(long maxTime, TimeUnit timeUnit) { - return null; - } - - @Override - public ListCollectionsIterable batchSize(int batchSize) { - return null; - } - - @Override - public MongoCursor iterator() { - return null; - } - - @Override - public String first() { - return null; - } - - @Override - public MongoIterable map(Function mapper) { - return null; - } - - @Override - public void forEach(Block block) { - - } - - @Override - public > A into(A target) { - return (A) Arrays.asList("db1collection1", "db1collection2"); - } - }); - - when(db2mock.listCollectionNames()).thenReturn(new ListCollectionsIterable() { - @Override - public ListCollectionsIterable filter(Bson filter) { - return null; - } - - @Override - public ListCollectionsIterable maxTime(long maxTime, TimeUnit timeUnit) { - return null; - } - - @Override - public ListCollectionsIterable batchSize(int batchSize) { - return null; - } - - @Override - public MongoCursor iterator() { - return null; - } - - @Override - public String first() { - return null; - } - - @Override - public MongoIterable map(Function mapper) { - return null; - } - - @Override - public void forEach(Block block) { - - } - - @Override - public > A into(A target) { - return (A) Arrays.asList("db2collection1"); - } - }); + ListDatabasesIterable collectionIterable2 = mock(ListDatabasesIterable.class); + when(collectionIterable2.into(any(Collection.class))).thenReturn(Collections.singletonList("db2collection1")); + when(db2mock.listCollectionNames()).thenReturn(collectionIterable2); // return collections according to names when(db1mock.getCollection(eq("db1collection1"))).thenReturn(db1collection1mock);