diff --git a/src/test/java/org/springframework/data/redis/RedisTestProfileValueSource.java b/src/test/java/org/springframework/data/redis/RedisTestProfileValueSource.java index 0d3a8e68f..ef384a721 100644 --- a/src/test/java/org/springframework/data/redis/RedisTestProfileValueSource.java +++ b/src/test/java/org/springframework/data/redis/RedisTestProfileValueSource.java @@ -52,7 +52,7 @@ public class RedisTestProfileValueSource implements ProfileValueSource { public String get(String key) { if (REDIS_VERSION_KEY.equals(key)) { if (redisVersion.compareTo(RedisVersionUtils.parseVersion(REDIS_28)) >= 0) { - return REDIS_28; + return redisVersion.toString(); } if (redisVersion.compareTo(RedisVersionUtils.parseVersion(REDIS_26)) >= 0) { return REDIS_26; diff --git a/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java index 7938eed8b..f07b91dd2 100644 --- a/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java @@ -2071,6 +2071,7 @@ public abstract class AbstractConnectionIntegrationTests { * @see DATAREDIS-308 */ @Test + @IfProfileValue(name = "redisVersion", value = "2.8.9+") public void pfAddShouldAddToNonExistingKeyCorrectly() { if (!ConnectionUtils.isJedis(connectionFactory)) { @@ -2087,6 +2088,7 @@ public abstract class AbstractConnectionIntegrationTests { * @see DATAREDIS-308 */ @Test + @IfProfileValue(name = "redisVersion", value = "2.8.9+") public void pfAddShouldReturnZeroWhenValueAlreadyExists() { if (!ConnectionUtils.isJedis(connectionFactory)) { @@ -2107,6 +2109,7 @@ public abstract class AbstractConnectionIntegrationTests { * @see DATAREDIS-308 */ @Test + @IfProfileValue(name = "redisVersion", value = "2.8.9+") public void pfCountShouldReturnCorrectly() { if (!ConnectionUtils.isJedis(connectionFactory)) { @@ -2125,6 +2128,7 @@ public abstract class AbstractConnectionIntegrationTests { * @see DATAREDIS-308 */ @Test + @IfProfileValue(name = "redisVersion", value = "2.8.9+") public void pfCountWithMultipleKeysShouldReturnCorrectly() { if (!ConnectionUtils.isJedis(connectionFactory)) { @@ -2145,6 +2149,7 @@ public abstract class AbstractConnectionIntegrationTests { * @see DATAREDIS-308 */ @Test(expected = IllegalArgumentException.class) + @IfProfileValue(name = "redisVersion", value = "2.8.9+") public void pfCountWithNullKeysShouldThrowIllegalArgumentException() { if (!ConnectionUtils.isJedis(connectionFactory)) { diff --git a/src/test/java/org/springframework/data/redis/core/DefaultHyperLogLogOperationsTests.java b/src/test/java/org/springframework/data/redis/core/DefaultHyperLogLogOperationsTests.java index eebca3412..27eef4c8d 100644 --- a/src/test/java/org/springframework/data/redis/core/DefaultHyperLogLogOperationsTests.java +++ b/src/test/java/org/springframework/data/redis/core/DefaultHyperLogLogOperationsTests.java @@ -22,7 +22,7 @@ import java.util.Collection; import org.junit.After; import org.junit.Before; -import org.junit.Rule; +import org.junit.ClassRule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -36,6 +36,7 @@ import org.springframework.test.annotation.IfProfileValue; * @author Christoph Strobl */ @RunWith(Parameterized.class) +@IfProfileValue(name = "redisVersion", value = "2.8.9+") public class DefaultHyperLogLogOperationsTests { private RedisTemplate redisTemplate; @@ -46,7 +47,7 @@ public class DefaultHyperLogLogOperationsTests { private HyperLogLogOperations hyperLogLogOps; - public @Rule MinimumRedisVersionRule versionRule = new MinimumRedisVersionRule(); + public static @ClassRule MinimumRedisVersionRule versionRule = new MinimumRedisVersionRule(); public DefaultHyperLogLogOperationsTests(RedisTemplate redisTemplate, ObjectFactory keyFactory, ObjectFactory valueFactory) { @@ -80,7 +81,6 @@ public class DefaultHyperLogLogOperationsTests { */ @Test @SuppressWarnings("unchecked") - @IfProfileValue(name = "redisVersion", value = "2.8+") public void addShouldAddDistinctValuesCorrectly() { K key = keyFactory.instance(); @@ -96,7 +96,6 @@ public class DefaultHyperLogLogOperationsTests { */ @Test @SuppressWarnings("unchecked") - @IfProfileValue(name = "redisVersion", value = "2.8+") public void addShouldNotAddExistingValuesCorrectly() { K key = keyFactory.instance(); @@ -113,7 +112,6 @@ public class DefaultHyperLogLogOperationsTests { */ @Test @SuppressWarnings("unchecked") - @IfProfileValue(name = "redisVersion", value = "2.8+") public void sizeShouldCountValuesCorrectly() { K key = keyFactory.instance(); @@ -130,7 +128,6 @@ public class DefaultHyperLogLogOperationsTests { */ @Test @SuppressWarnings("unchecked") - @IfProfileValue(name = "redisVersion", value = "2.8+") public void sizeShouldCountValuesOfMultipleKeysCorrectly() { K key = keyFactory.instance(); @@ -152,7 +149,6 @@ public class DefaultHyperLogLogOperationsTests { */ @Test @SuppressWarnings("unchecked") - @IfProfileValue(name = "redisVersion", value = "2.8+") public void unionShouldMergeValuesOfMultipleKeysCorrectly() throws InterruptedException { K sourceKey_1 = keyFactory.instance(); diff --git a/src/test/java/org/springframework/data/redis/test/util/RelaxedJUnit4ClassRunner.java b/src/test/java/org/springframework/data/redis/test/util/RelaxedJUnit4ClassRunner.java index 66d6efa89..673f6d4ef 100644 --- a/src/test/java/org/springframework/data/redis/test/util/RelaxedJUnit4ClassRunner.java +++ b/src/test/java/org/springframework/data/redis/test/util/RelaxedJUnit4ClassRunner.java @@ -20,6 +20,8 @@ import java.lang.reflect.Method; import org.junit.Ignore; import org.junit.runners.model.FrameworkMethod; import org.junit.runners.model.InitializationError; +import org.springframework.data.redis.Version; +import org.springframework.data.redis.VersionParser; import org.springframework.test.annotation.IfProfileValue; import org.springframework.test.annotation.ProfileValueSource; import org.springframework.test.annotation.ProfileValueUtils; @@ -64,8 +66,8 @@ public class RelaxedJUnit4ClassRunner extends SpringJUnit4ClassRunner { if (value.endsWith("+")) { - String expected = value.replace("+", ""); - if (expected.compareTo(environmentValue) <= 0) { + Version expected = VersionParser.parseVersion(value.replace("+", "")); + if (expected.compareTo(VersionParser.parseVersion(environmentValue)) <= 0) { return true; }