From 2cb015842da400097537564717789e6a077a8688 Mon Sep 17 00:00:00 2001 From: Jarrod Ribble Date: Thu, 12 Jan 2017 15:18:47 -0700 Subject: [PATCH] Add a version of RedissonLocalCachedMapTest that uses the SerializationCodec. Fix most of the tests by making classes implement Serializable. The testAddAndGet test is still failing and after an hour of looking through it, I still can't figure why. --- .../org/redisson/RedissonLocalCachedMap.java | 9 ++-- ...nLocalCachedMapSerializationCodecTest.java | 46 +++++++++++++++++++ .../redisson/RedissonLocalCachedMapTest.java | 2 +- 3 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 redisson/src/test/java/org/redisson/RedissonLocalCachedMapSerializationCodecTest.java diff --git a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java index b452837d4..430510a56 100644 --- a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java +++ b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java @@ -15,6 +15,7 @@ */ package org.redisson; +import java.io.Serializable; import java.math.BigDecimal; import java.util.AbstractCollection; import java.util.AbstractMap; @@ -65,11 +66,11 @@ import io.netty.util.internal.ThreadLocalRandom; */ public class RedissonLocalCachedMap extends RedissonMap implements RLocalCachedMap { - public static class LocalCachedMapClear { + public static class LocalCachedMapClear implements Serializable { } - public static class LocalCachedMapInvalidate { + public static class LocalCachedMapInvalidate implements Serializable { private byte[] excludedId; private byte[] keyHash; @@ -93,7 +94,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } - public static class CacheKey { + public static class CacheKey implements Serializable { private final byte[] keyHash; @@ -135,7 +136,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } - public static class CacheValue { + public static class CacheValue implements Serializable { private final Object key; private final Object value; diff --git a/redisson/src/test/java/org/redisson/RedissonLocalCachedMapSerializationCodecTest.java b/redisson/src/test/java/org/redisson/RedissonLocalCachedMapSerializationCodecTest.java new file mode 100644 index 000000000..6085e6c55 --- /dev/null +++ b/redisson/src/test/java/org/redisson/RedissonLocalCachedMapSerializationCodecTest.java @@ -0,0 +1,46 @@ +package org.redisson; + +import org.junit.Before; +import org.junit.BeforeClass; +import org.redisson.api.RedissonClient; +import org.redisson.codec.SerializationCodec; +import org.redisson.config.Config; + +import java.io.IOException; + +/** + * Created by jribble on 1/12/17. + */ +public class RedissonLocalCachedMapSerializationCodecTest extends RedissonLocalCachedMapTest { + public static Config createConfig() { + Config config = RedissonLocalCachedMapTest.createConfig(); + config.setCodec(new SerializationCodec()); + return config; + } + + public static RedissonClient createInstance() { + Config config = createConfig(); + return Redisson.create(config); + } + + @BeforeClass + public static void beforeClass() throws IOException, InterruptedException { + if (!RedissonRuntimeEnvironment.isTravis) { + RedisRunner.startDefaultRedisServerInstance(); + defaultRedisson = createInstance(); + } + } + + @Before + public void before() throws IOException, InterruptedException { + if (RedissonRuntimeEnvironment.isTravis) { + RedisRunner.startDefaultRedisServerInstance(); + redisson = createInstance(); + } else { + if (redisson == null) { + redisson = defaultRedisson; + } + redisson.getKeys().flushall(); + } + } +} diff --git a/redisson/src/test/java/org/redisson/RedissonLocalCachedMapTest.java b/redisson/src/test/java/org/redisson/RedissonLocalCachedMapTest.java index 98ba2b63d..8bb73c6bb 100644 --- a/redisson/src/test/java/org/redisson/RedissonLocalCachedMapTest.java +++ b/redisson/src/test/java/org/redisson/RedissonLocalCachedMapTest.java @@ -27,7 +27,7 @@ import mockit.Deencapsulation; public class RedissonLocalCachedMapTest extends BaseTest { -// @Test + // @Test public void testPerf() { LocalCachedMapOptions options = LocalCachedMapOptions.defaults().evictionPolicy(EvictionPolicy.LFU).cacheSize(100000).invalidateEntryOnChange(true); Map map = redisson.getLocalCachedMap("test", options);