From cc07a1bbb483885f9268351d4588b1f0722908d5 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Tue, 17 Sep 2019 13:42:55 +0200 Subject: [PATCH] DATAMONGO-2331 - Guard test execution. Original pull request: #789. --- .../data/mongodb/core/MongoTemplateUpdateTests.java | 4 ++++ .../data/mongodb/core/ReactiveMongoTemplateUpdateTests.java | 4 ++++ .../data/mongodb/test/util/MongoVersionRule.java | 3 +++ 3 files changed, 11 insertions(+) diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUpdateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUpdateTests.java index 5b8367035..ed07f88c9 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUpdateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUpdateTests.java @@ -23,6 +23,7 @@ import java.util.Collection; import java.util.List; import org.junit.Before; +import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; import org.springframework.data.annotation.Id; @@ -36,6 +37,7 @@ import org.springframework.data.mongodb.core.mapping.Field; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.test.util.MongoTestUtils; +import org.springframework.data.mongodb.test.util.MongoVersionRule; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; @@ -45,6 +47,8 @@ import com.mongodb.client.MongoCollection; */ public class MongoTemplateUpdateTests { + public static @ClassRule MongoVersionRule REQUIRES_AT_LEAST_4_2 = MongoVersionRule.REQUIRES_4_2; + static final String DB_NAME = "update-test"; MongoClient client; diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUpdateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUpdateTests.java index 4d0a99e7c..f8ef235b3 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUpdateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUpdateTests.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.List; import org.junit.Before; +import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; import org.springframework.data.annotation.Id; @@ -39,6 +40,7 @@ import org.springframework.data.mongodb.core.mapping.Field; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.test.util.MongoTestUtils; +import org.springframework.data.mongodb.test.util.MongoVersionRule; import com.mongodb.reactivestreams.client.MongoClient; import com.mongodb.reactivestreams.client.MongoCollection; @@ -48,6 +50,8 @@ import com.mongodb.reactivestreams.client.MongoCollection; */ public class ReactiveMongoTemplateUpdateTests { + public static @ClassRule MongoVersionRule REQUIRES_AT_LEAST_4_2 = MongoVersionRule.REQUIRES_4_2; + static final String DB_NAME = "reactive-update-test"; MongoClient client; diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/MongoVersionRule.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/MongoVersionRule.java index 9e2cccf83..5b77044dd 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/MongoVersionRule.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/MongoVersionRule.java @@ -45,6 +45,9 @@ public class MongoVersionRule implements TestRule { private static final Version DEFAULT_HIGH = ANY; private static final Version DEFAULT_LOW = new Version(0, 0, 0); + public static MongoVersionRule REQUIRES_4_2 = MongoVersionRule + .atLeast(org.springframework.data.util.Version.parse("4.2")); + private final AtomicReference currentVersion = new AtomicReference<>(null); private final Version minVersion; private final Version maxVersion;