Skip to content

Commit a21bc1e

Browse files
committed
test: add obkv-client test (#415)
1 parent cc2943c commit a21bc1e

2 files changed

Lines changed: 104 additions & 0 deletions

File tree

  • camellia-redis-proxy/camellia-redis-proxy-extensions/camellia-redis-proxy-kv/camellia-redis-proxy-kv-obkv

camellia-redis-proxy/camellia-redis-proxy-extensions/camellia-redis-proxy-kv/camellia-redis-proxy-kv-obkv/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
<artifactId>obkv-table-client</artifactId>
2424
<version>1.4.2</version>
2525
</dependency>
26+
<dependency>
27+
<groupId>junit</groupId>
28+
<artifactId>junit</artifactId>
29+
<version>4.13.1</version>
30+
<scope>test</scope>
31+
</dependency>
2632
</dependencies>
2733

2834
<build>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
package com.netease.nim.camellia.redis.proxy.test;
2+
3+
import com.netease.nim.camellia.redis.proxy.conf.ProxyDynamicConf;
4+
import com.netease.nim.camellia.redis.proxy.conf.ProxyDynamicConfLoader;
5+
import com.netease.nim.camellia.redis.proxy.kv.obkv.OBKVClient;
6+
import com.netease.nim.camellia.redis.proxy.upstream.kv.kv.KeyValue;
7+
import org.junit.Assert;
8+
import org.junit.Test;
9+
10+
import java.util.*;
11+
12+
/**
13+
* Created by caojiajun on 2025/5/27
14+
*/
15+
public class TestOBKVClient {
16+
17+
private void init() {
18+
Map<String, String> initConf = new HashMap<>();
19+
initConf.put("kv.obkv.param.url", "");
20+
initConf.put("kv.obkv.full.user.name", "");
21+
initConf.put("kv.obkv.password", "");
22+
initConf.put("kv.obkv.sys.user.name", "");
23+
initConf.put("kv.obkv.sys.password", "");
24+
25+
initConf.put("kv.obkv.table.name", "camellia_kv");
26+
27+
initConf.put("kv.obkv.batch.split.size", "1000");
28+
ProxyDynamicConf.init(initConf, new ProxyDynamicConfLoader() {
29+
@Override
30+
public void init(Map<String, String> initConf) {
31+
}
32+
33+
@Override
34+
public Map<String, String> load() {
35+
return initConf;
36+
}
37+
});
38+
}
39+
40+
@Test
41+
public void test() {
42+
init();
43+
44+
if (ProxyDynamicConf.getString("kv.obkv.param.url", "").isEmpty()) {
45+
return;
46+
}
47+
48+
byte[] k1 = UUID.randomUUID().toString().getBytes();
49+
byte[] v1 = UUID.randomUUID().toString().getBytes();
50+
byte[] k2 = UUID.randomUUID().toString().getBytes();
51+
byte[] v2 = UUID.randomUUID().toString().getBytes();
52+
byte[] k3 = UUID.randomUUID().toString().getBytes();
53+
byte[] v3 = UUID.randomUUID().toString().getBytes();
54+
byte[] k4 = UUID.randomUUID().toString().getBytes();
55+
byte[] v4 = UUID.randomUUID().toString().getBytes();
56+
57+
byte[] k5 = UUID.randomUUID().toString().getBytes();
58+
59+
OBKVClient obkvClient = new OBKVClient();
60+
obkvClient.init("default");
61+
62+
obkvClient.put(1, k1, v1);
63+
64+
List<KeyValue> list = new ArrayList<>();
65+
list.add(new KeyValue(k2, v2));
66+
list.add(new KeyValue(k3, v3));
67+
list.add(new KeyValue(k4, v4));
68+
obkvClient.batchPut(2, list);
69+
70+
KeyValue keyValue = obkvClient.get(1, k1);
71+
Assert.assertArrayEquals(keyValue.getKey(), k1);
72+
Assert.assertArrayEquals(keyValue.getValue(), v1);
73+
74+
List<KeyValue> keyValues = obkvClient.batchGet(2, k2, k3, k4);
75+
Assert.assertEquals(3, keyValues.size());
76+
77+
boolean exists = obkvClient.exists(2, k2);
78+
Assert.assertTrue(exists);
79+
80+
boolean exists1 = obkvClient.exists(2, k5);
81+
Assert.assertFalse(exists1);
82+
83+
boolean[] exists2 = obkvClient.exists(2, k2, k3, k4);
84+
Assert.assertTrue(exists2[0]);
85+
Assert.assertTrue(exists2[1]);
86+
Assert.assertTrue(exists2[2]);
87+
88+
obkvClient.delete(2, k2);
89+
KeyValue keyValue1 = obkvClient.get(2, k2);
90+
Assert.assertNull(keyValue1);
91+
92+
obkvClient.batchDelete(2, k3, k4);
93+
94+
List<KeyValue> keyValues1 = obkvClient.batchGet(2, k2, k3, k4);
95+
Assert.assertEquals(0, keyValues1.size());
96+
}
97+
98+
}

0 commit comments

Comments
 (0)