Skip to content

Commit 0f8e239

Browse files
committed
Feature - MapCache nameMapper test add #6586
Signed-off-by: seakider <[email protected]>
1 parent bc681e1 commit 0f8e239

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

redisson/src/test/java/org/redisson/RedissonMapCacheTest.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
import org.redisson.api.*;
88
import org.redisson.api.MapOptions.WriteMode;
99
import org.redisson.api.map.event.*;
10+
import org.redisson.client.RedisClient;
11+
import org.redisson.client.RedisClientConfig;
12+
import org.redisson.client.RedisConnection;
1013
import org.redisson.client.codec.*;
14+
import org.redisson.client.protocol.RedisCommands;
1115
import org.redisson.codec.CompositeCodec;
1216
import org.redisson.config.Config;
1317
import org.redisson.eviction.EvictionScheduler;
@@ -1562,5 +1566,49 @@ public void testComputeIfAbsentWithTTL() throws Exception{
15621566
map.destroy();
15631567

15641568
}
1569+
1570+
@Test
1571+
public void testNameMapper() throws InterruptedException, ExecutionException {
1572+
Config config = new Config();
1573+
config.useSingleServer()
1574+
.setNameMapper(new NameMapper() {
1575+
@Override
1576+
public String map(String name) {
1577+
return name + ":suffix:";
1578+
}
1579+
1580+
@Override
1581+
public String unmap(String name) {
1582+
return name.replace(":suffix:", "");
1583+
}
1584+
})
1585+
.setConnectionMinimumIdleSize(3)
1586+
.setConnectionPoolSize(3)
1587+
.setAddress(redisson.getConfig().useSingleServer().getAddress());
1588+
1589+
RedissonClient redisson = Redisson.create(config);
1590+
1591+
AtomicBoolean executed = new AtomicBoolean();
1592+
RMapCache<String, String> map = redisson.getMapCache("test");
1593+
map.addListener(new EntryExpiredListener() {
1594+
@Override
1595+
public void onExpired(EntryEvent event) {
1596+
executed.set(true);
1597+
}
1598+
});
1599+
map.put("1", "2", 1, TimeUnit.SECONDS);
1600+
1601+
Awaitility.await().atMost(Duration.ofSeconds(10)).untilAsserted(() -> assertThat(executed.get()).isTrue());
1602+
1603+
RedisClientConfig destinationCfg = new RedisClientConfig();
1604+
destinationCfg.setAddress(redisson.getConfig().useSingleServer().getAddress());
1605+
RedisClient client = RedisClient.create(destinationCfg);
1606+
RedisConnection destinationConnection = client.connect();
1607+
List<String> channels = destinationConnection.sync(RedisCommands.PUBSUB_CHANNELS);
1608+
assertThat(channels).contains("redisson_map_cache_expired:{test:suffix:}");
1609+
client.shutdown();
1610+
1611+
redisson.shutdown();
1612+
}
15651613
}
15661614

0 commit comments

Comments
 (0)