Browse Source

DATAMONGO-1770 - Upgrade to MongoDB Java driver 3.5 and reactive driver 1.6.

Fix test failures do to changed Json rendering.
pull/497/head
Christoph Strobl 8 years ago
parent
commit
995e5bf830
  1. 2
      .travis.yml
  2. 16
      pom.xml
  3. 4
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/QueryTests.java
  4. 9
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java

2
.travis.yml

@ -12,7 +12,7 @@ services:
env: env:
matrix: matrix:
- PROFILE=ci - PROFILE=ci
- PROFILE=mongo35-next - PROFILE=mongo36-next
# Current MongoDB version is 2.4.2 as of 2016-04, see https://github.com/travis-ci/travis-ci/issues/3694 # Current MongoDB version is 2.4.2 as of 2016-04, see https://github.com/travis-ci/travis-ci/issues/3694
# apt-get starts a MongoDB instance so it's not started using before_script # apt-get starts a MongoDB instance so it's not started using before_script

16
pom.xml

@ -28,8 +28,8 @@
<project.type>multi</project.type> <project.type>multi</project.type>
<dist.id>spring-data-mongodb</dist.id> <dist.id>spring-data-mongodb</dist.id>
<springdata.commons>2.0.0.BUILD-SNAPSHOT</springdata.commons> <springdata.commons>2.0.0.BUILD-SNAPSHOT</springdata.commons>
<mongo>3.4.2</mongo> <mongo>3.5.0</mongo>
<mongo.reactivestreams>1.5.0</mongo.reactivestreams> <mongo.reactivestreams>1.6.0</mongo.reactivestreams>
<jmh.version>1.19</jmh.version> <jmh.version>1.19</jmh.version>
</properties> </properties>
@ -115,11 +115,11 @@
<profiles> <profiles>
<profile> <!-- not-yet available profile>
<id>mongo34-next</id> <id>mongo35-next</id>
<properties> <properties>
<mongo>3.4.3-SNAPSHOT</mongo> <mongo>3.5.1-SNAPSHOT</mongo>
</properties> </properties>
<repositories> <repositories>
@ -129,13 +129,13 @@
</repository> </repository>
</repositories> </repositories>
</profile> </profile -->
<profile> <profile>
<id>mongo35-next</id> <id>mongo36-next</id>
<properties> <properties>
<mongo>3.5.0-SNAPSHOT</mongo> <mongo>3.6.0-SNAPSHOT</mongo>
</properties> </properties>
<repositories> <repositories>

4
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/QueryTests.java

@ -141,7 +141,7 @@ public class QueryTests {
Query q = new Query( Query q = new Query(
where("name").regex("^T.*").and("age").gt(20).lt(80).and("city").in("Stockholm", "London", "New York")); where("name").regex("^T.*").and("age").gt(20).lt(80).and("city").in("Stockholm", "London", "New York"));
Document expected = Document Document expected = Document
.parse("{ \"name\" : { \"$regex\" : \"^T.*\"} , \"age\" : { \"$gt\" : 20 , \"$lt\" : 80} , " .parse("{ \"name\" : { \"$regex\" : \"^T.*\", \"$options\" : \"\" } , \"age\" : { \"$gt\" : 20 , \"$lt\" : 80} , "
+ "\"city\" : { \"$in\" : [ \"Stockholm\" , \"London\" , \"New York\"]}}"); + "\"city\" : { \"$in\" : [ \"Stockholm\" , \"London\" , \"New York\"]}}");
Assert.assertEquals(expected.toJson(), q.getQueryObject().toJson()); Assert.assertEquals(expected.toJson(), q.getQueryObject().toJson());
@ -177,7 +177,7 @@ public class QueryTests {
@Test @Test
public void testQueryWithRegex() { public void testQueryWithRegex() {
Query q = new Query(where("name").regex("b.*")); Query q = new Query(where("name").regex("b.*"));
Document expected = Document.parse("{ \"name\" : { \"$regex\" : \"b.*\"}}"); Document expected = Document.parse("{ \"name\" : { \"$regex\" : \"b.*\", \"$options\" : \"\" }}");
Assert.assertEquals(expected.toJson(), q.getQueryObject().toJson()); Assert.assertEquals(expected.toJson(), q.getQueryObject().toJson());
} }

9
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java

@ -30,7 +30,6 @@ import java.util.Map;
import javax.xml.bind.DatatypeConverter; import javax.xml.bind.DatatypeConverter;
import org.bson.BSON; import org.bson.BSON;
import org.bson.BsonRegularExpression;
import org.bson.Document; import org.bson.Document;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -417,7 +416,7 @@ public class StringBasedMongoQueryUnitTests {
assertThat(query.getQueryObject(), is(new Document("lastname", "{ $ne : \"\\\"calamity\\\"\" }"))); assertThat(query.getQueryObject(), is(new Document("lastname", "{ $ne : \"\\\"calamity\\\"\" }")));
} }
@Test // DATAMONGO-1575 @Test // DATAMONGO-1575, DATAMONGO-1770
public void shouldTakeBsonParameterAsIs() { public void shouldTakeBsonParameterAsIs() {
StringBasedMongoQuery mongoQuery = createQueryForMethod("findByWithBsonArgument", Document.class); StringBasedMongoQuery mongoQuery = createQueryForMethod("findByWithBsonArgument", Document.class);
@ -425,17 +424,17 @@ public class StringBasedMongoQueryUnitTests {
new Document("$regex", "^calamity$")); new Document("$regex", "^calamity$"));
org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor);
assertThat(query.getQueryObject(), is(new Document("arg0", new BsonRegularExpression("^calamity$")))); assertThat(query.getQueryObject(), is(new Document("arg0", new Document("$regex", "^calamity$"))));
} }
@Test // DATAMONGO-1575 @Test // DATAMONGO-1575, DATAMONGO-1770
public void shouldReplaceParametersInInQuotedExpressionOfNestedQueryOperator() { public void shouldReplaceParametersInInQuotedExpressionOfNestedQueryOperator() {
StringBasedMongoQuery mongoQuery = createQueryForMethod("findByLastnameRegex", String.class); StringBasedMongoQuery mongoQuery = createQueryForMethod("findByLastnameRegex", String.class);
ConvertingParameterAccessor accessor = StubParameterAccessor.getAccessor(converter, "calamity"); ConvertingParameterAccessor accessor = StubParameterAccessor.getAccessor(converter, "calamity");
org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor);
assertThat(query.getQueryObject(), is(new Document("lastname", new BsonRegularExpression("^(calamity)")))); assertThat(query.getQueryObject(), is(new Document("lastname", new Document("$regex", "^(calamity)"))));
} }
@Test // DATAMONGO-1603 @Test // DATAMONGO-1603

Loading…
Cancel
Save