added redisson reference test for live object support

added redisson reference test for sharing between RedissonClient and RedissonReactiveClient
pull/605/head
jackygurui 9 years ago
parent 835ff6a0ff
commit 08320375bb

@ -3,7 +3,9 @@ package org.redisson;
import java.util.List;
import static org.junit.Assert.*;
import org.junit.Test;
import org.redisson.api.RBatch;
import org.redisson.api.RBatchReactive;
import org.redisson.api.RBucket;
import org.redisson.api.RBucketReactive;
import org.redisson.reactive.RedissonBucketReactive;
import org.redisson.reactive.RedissonMapCacheReactive;
@ -50,4 +52,25 @@ public class RedissonReferenceReactiveTest extends BaseReactiveTest {
assertEquals("b3", result.get(1).getName());
assertEquals("b1", result.get(2).getName());
}
@Test
public void testReactiveToNormal() throws InterruptedException {
RBatchReactive batch = redisson.createBatch();
RBucketReactive<Object> b1 = batch.getBucket("b1");
RBucketReactive<Object> b2 = batch.getBucket("b2");
RBucketReactive<Object> b3 = batch.getBucket("b3");
b2.set(b3);
b1.set(b2);
b3.set(b1);
sync(batch.execute());
RBatch b = Redisson.create(redisson.getConfig()).createBatch();
b.getBucket("b1").getAsync();
b.getBucket("b2").getAsync();
b.getBucket("b3").getAsync();
List<RBucket> result = (List<RBucket>)b.execute();
assertEquals("b2", result.get(0).getName());
assertEquals("b3", result.get(1).getName());
assertEquals("b1", result.get(2).getName());
}
}

@ -5,8 +5,11 @@ import java.util.concurrent.TimeUnit;
import static org.junit.Assert.*;
import org.junit.Test;
import org.redisson.api.RBatch;
import org.redisson.api.RBatchReactive;
import org.redisson.api.RBucket;
import org.redisson.api.RBucketAsync;
import org.redisson.api.RBucketReactive;
import org.redisson.api.RLiveObject;
/**
*
@ -28,6 +31,15 @@ public class RedissonReferenceTest extends BaseTest {
assertTrue(b4.get() instanceof RedissonMapCache);
((RedissonMapCache) b4.get()).fastPut(b1, b2, 1, TimeUnit.MINUTES);
assertEquals("b2", ((RBucket)((RedissonMapCache) b4.get()).get(b1)).getName());
RBucket<Object> b5 = redisson.getBucket("b5");
RedissonLiveObjectServiceTest.TestREntity rlo = redisson.getLiveObjectService().create(RedissonLiveObjectServiceTest.TestREntity.class);
rlo.setName("t1");
rlo.setValue("t2");
b5.set(rlo);
assertTrue(redisson.getBucket("b5").get() instanceof RLiveObject);
assertEquals("t1", ((RedissonLiveObjectServiceTest.TestREntity) redisson.getBucket("b5").get()).getName());
assertEquals("t2", ((RedissonLiveObjectServiceTest.TestREntity) redisson.getBucket("b5").get()).getValue());
}
@Test
@ -51,4 +63,25 @@ public class RedissonReferenceTest extends BaseTest {
assertEquals("b1", result.get(2).getName());
}
@Test
public void testNormalToReactive() {
RBatch batch = redisson.createBatch();
RBucketAsync<Object> b1 = batch.getBucket("b1");
RBucketAsync<Object> b2 = batch.getBucket("b2");
RBucketAsync<Object> b3 = batch.getBucket("b3");
b2.setAsync(b3);
b1.setAsync(b2);
b3.setAsync(b1);
batch.execute();
RBatchReactive b = Redisson.createReactive(redisson.getConfig()).createBatch();
b.getBucket("b1").get();
b.getBucket("b2").get();
b.getBucket("b3").get();
List<RBucketReactive> result = (List<RBucketReactive>) BaseReactiveTest.sync(b.execute());
assertEquals("b2", result.get(0).getName());
assertEquals("b3", result.get(1).getName());
assertEquals("b1", result.get(2).getName());
}
}

Loading…
Cancel
Save