From e48cae25715fc161f85b2f601195d0b1212cb0a8 Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 1 Dec 2015 15:05:50 +0300 Subject: [PATCH] RedissonKeysTest added --- .../java/org/redisson/RedissonKeysTest.java | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 src/test/java/org/redisson/RedissonKeysTest.java diff --git a/src/test/java/org/redisson/RedissonKeysTest.java b/src/test/java/org/redisson/RedissonKeysTest.java new file mode 100644 index 000000000..17721699a --- /dev/null +++ b/src/test/java/org/redisson/RedissonKeysTest.java @@ -0,0 +1,100 @@ +package org.redisson; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import org.hamcrest.MatcherAssert; +import org.hamcrest.Matchers; +import org.junit.Assert; +import org.junit.Test; +import org.redisson.core.RBucket; +import org.redisson.core.RMap; + +public class RedissonKeysTest extends BaseTest { + + @Test + public void testKeysIterablePattern() { + redisson.getBucket("test1").set("someValue"); + redisson.getBucket("test2").set("someValue"); + + redisson.getBucket("test12").set("someValue"); + + Iterator iterator = redisson.getKeys().getKeysByPattern("test?").iterator(); + for (; iterator.hasNext();) { + String key = iterator.next(); + MatcherAssert.assertThat(key, Matchers.isOneOf("test1", "test2")); + } + } + + @Test + public void testKeysIterable() throws InterruptedException { + Set keys = new HashSet(); + for (int i = 0; i < 115; i++) { + String key = "key" + Math.random(); + RBucket bucket = redisson.getBucket(key); + bucket.set("someValue"); + } + + Iterator iterator = redisson.getKeys().getKeys().iterator(); + for (; iterator.hasNext();) { + String key = iterator.next(); + keys.remove(key); + iterator.remove(); + } + Assert.assertEquals(0, keys.size()); + Assert.assertFalse(redisson.getKeys().getKeys().iterator().hasNext()); + } + + @Test + public void testRandomKey() { + RBucket bucket = redisson.getBucket("test1"); + bucket.set("someValue1"); + + RBucket bucket2 = redisson.getBucket("test2"); + bucket2.set("someValue2"); + + MatcherAssert.assertThat(redisson.getKeys().randomKey(), Matchers.isOneOf("test1", "test2")); + redisson.getKeys().delete("test1"); + Assert.assertEquals(redisson.getKeys().randomKey(), "test2"); + redisson.flushdb(); + Assert.assertNull(redisson.getKeys().randomKey()); + } + + @Test + public void testDeleteByPattern() { + RBucket bucket = redisson.getBucket("test1"); + bucket.set("someValue"); + RMap map = redisson.getMap("test2"); + map.fastPut("1", "2"); + + Assert.assertEquals(2, redisson.getKeys().deleteByPattern("test?")); + } + + @Test + public void testFindKeys() { + RBucket bucket = redisson.getBucket("test1"); + bucket.set("someValue"); + RMap map = redisson.getMap("test2"); + map.fastPut("1", "2"); + + Collection keys = redisson.getKeys().findKeysByPattern("test?"); + MatcherAssert.assertThat(keys, Matchers.containsInAnyOrder("test1", "test2")); + + Collection keys2 = redisson.getKeys().findKeysByPattern("test"); + MatcherAssert.assertThat(keys2, Matchers.empty()); + } + + @Test + public void testMassDelete() { + RBucket bucket = redisson.getBucket("test"); + bucket.set("someValue"); + RMap map = redisson.getMap("map2"); + map.fastPut("1", "2"); + + Assert.assertEquals(2, redisson.getKeys().delete("test", "map2")); + Assert.assertEquals(0, redisson.getKeys().delete("test", "map2")); + } + +}