diff --git a/test/skywalking-agent-test/redis-test/pom.xml b/test/skywalking-agent-test/redis-test/pom.xml index 4c8e3b0c538d4986f4fc6b218d45cef37f5ac943..ed022e9d4016ea52fb93efc73f34c1a749a10f99 100644 --- a/test/skywalking-agent-test/redis-test/pom.xml +++ b/test/skywalking-agent-test/redis-test/pom.xml @@ -22,7 +22,6 @@ junit junit 4.12 - test org.apache.logging.log4j diff --git a/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterOperator.java b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterOperator.java new file mode 100644 index 0000000000000000000000000000000000000000..c839352ba1d6bd1cd5349b9b888db7197e8ab16b --- /dev/null +++ b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterOperator.java @@ -0,0 +1,57 @@ +package com.ai.cloud.skywalking.agent.test; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import redis.clients.jedis.HostAndPort; +import redis.clients.jedis.JedisCluster; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashSet; +import java.util.Properties; +import java.util.Set; + +/** + * Created by xin on 16-6-13. + */ +public class RedisClusterOperator { + + private static Logger logger = LogManager.getLogger(RedisClusterOperator.class); + private static JedisCluster jedisCluster = null; + + static { + InputStream inputStream = RedisOperator.class.getResourceAsStream("/redis.conf"); + Properties properties = new Properties(); + try { + properties.load(inputStream); + } catch (IOException e) { + logger.error("Failed to load redis.conf", e); + System.exit(-1); + } + jedisCluster = new JedisCluster(getHostAndPorts(properties.getProperty("redis.cluster.host", "127.0.0.1:7000"))); + } + + private static Set getHostAndPorts(String property) { + Set redisEnv = new HashSet(); + String[] hosts = property.split(";"); + for (String host : hosts) { + String[] hostAndPort = host.split(":"); + redisEnv.add(new HostAndPort(hostAndPort[0], Integer.parseInt(hostAndPort[1]))); + } + return redisEnv; + } + + + public static void setData(String key, String value) { + jedisCluster.set(key, value); + } + + public static String getData(String key) { + return jedisCluster.get(key); + } + + public static void delData(String key) { + jedisCluster.del(key); + } + +} diff --git a/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterPluginTest.java b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterPluginTest.java new file mode 100644 index 0000000000000000000000000000000000000000..d54f172770b4e193de5f8faeee161866b5ae4c55 --- /dev/null +++ b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterPluginTest.java @@ -0,0 +1,39 @@ +package com.ai.cloud.skywalking.agent.test; + +import com.ai.skywalking.testframework.api.TraceTreeAssert; +import org.junit.Test; + +public class RedisClusterPluginTest { + + @Test + public void testSetData() { + RedisClusterOperator.setData("key1", "value1"); + TraceTreeAssert.assertEquals(new String[][]{ + // 根据实际情况进行修改 + {"0.0", "127.0.0.1:7001 set", "key=key1"}, + {"0", "127.0.0.1:7002;127.0.0.1:7001;127.0.0.1:7000;127.0.0.1:7005;127.0.0.1:7004;127.0.0.1:7003; set", "key=key1"}, + }); + + } + + @Test + public void testGetData() { + RedisClusterOperator.getData("key1"); + TraceTreeAssert.assertEquals(new String[][]{ + // 根据实际情况进行修改 + {"0.0", "127.0.0.1:7001 get", "key=key1"}, + {"0", "127.0.0.1:7002;127.0.0.1:7001;127.0.0.1:7000;127.0.0.1:7005;127.0.0.1:7004;127.0.0.1:7003; get", "key=key1"}, + }); + } + + + @Test + public void testDelData() { + RedisClusterOperator.delData("key1"); + TraceTreeAssert.assertEquals(new String[][]{ + // 根据实际情况进行修改 + {"0.0", "127.0.0.1:7001 del", "key=key1"}, + {"0", "127.0.0.1:7001;127.0.0.1:7000; del", "key=key1"}, + }); + } +} diff --git a/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisOperator.java b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisOperator.java index 312ed384f5d7f268121b97ebad66804387a44bbc..63ebfcfdd9ba173d56e7249239138afb236d6c0b 100644 --- a/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisOperator.java +++ b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisOperator.java @@ -27,7 +27,7 @@ public class RedisOperator { System.exit(-1); } jedisPool = new JedisPool(properties.getProperty("redis.ip", "127.0.0.1"), - Integer.parseInt(properties.getProperty("redis.port", "2181"))); + Integer.parseInt(properties.getProperty("redis.port", "6379"))); } @@ -38,6 +38,7 @@ public class RedisOperator { jedis.set(key, value); } catch (Exception e) { logger.error(e); + throw e; } finally { if (jedis != null) jedis.close(); @@ -51,11 +52,25 @@ public class RedisOperator { return jedis.get(key); } catch (Exception e) { logger.error(e); + throw e; } finally { if (jedis != null) jedis.close(); } - return ""; + } + + public static void delData(String key) { + Jedis jedis = null; + try { + jedis = jedisPool.getResource(); + jedis.del(key); + } catch (Exception e) { + logger.error(e); + throw e; + } finally { + if (jedis != null) + jedis.close(); + } } } diff --git a/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java index e9af1e45daf6798220f6e0dc7cf142d726e98886..67e09077906e8ba312091138bfda38df553dc926 100644 --- a/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java +++ b/test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java @@ -1,12 +1,33 @@ package com.ai.cloud.skywalking.agent.test; import com.ai.skywalking.testframework.api.TraceTreeAssert; +import org.junit.Test; public class RedisPluginTest { - public static void main(String[] args) { + + @Test + public void testSetData() { RedisOperator.setData("key1", "value1"); TraceTreeAssert.assertEquals(new String[][]{ {"0", "127.0.0.1:6379 set", "key=key1"}, }); + + } + + @Test + public void testGetData() { + RedisOperator.getData("key1"); + TraceTreeAssert.assertEquals(new String[][]{ + {"0", "127.0.0.1:6379 get", "key=key1"}, + }); + } + + + @Test + public void testDelData() { + RedisOperator.delData("key1"); + TraceTreeAssert.assertEquals(new String[][]{ + {"0", "127.0.0.1:6379 del", "key=key1"}, + }); } } diff --git a/test/skywalking-agent-test/redis-test/src/main/resources/redis.conf b/test/skywalking-agent-test/redis-test/src/main/resources/redis.conf index 19693067f604316bbb47152f4ddfe53808d4c4c2..77f8cb0b7cac8c7700d312b03dec69932c3a9bd4 100644 --- a/test/skywalking-agent-test/redis-test/src/main/resources/redis.conf +++ b/test/skywalking-agent-test/redis-test/src/main/resources/redis.conf @@ -1,2 +1,3 @@ redis.ip=127.0.0.1 -redis.port=6379 \ No newline at end of file +redis.port=6379 +redis.cluster.host=127.0.0.1:7000;127.0.0.1:7001;127.0.0.1:7000;127.0.0.1:7000;127.0.0.1:7000;127.0.0.1:7000; \ No newline at end of file diff --git a/test/skywalking-agent-test/redis-test/src/main/resources/sky-walking.auth b/test/skywalking-agent-test/redis-test/src/main/resources/sky-walking.auth index dd58a4968de2dd10f11f663948e55862d3dc3e6c..ed8cce2ef8d9577fd208b00d1efa5d1c72262288 100644 --- a/test/skywalking-agent-test/redis-test/src/main/resources/sky-walking.auth +++ b/test/skywalking-agent-test/redis-test/src/main/resources/sky-walking.auth @@ -4,7 +4,6 @@ buriedpoint.businesskey_max_length=300 sender.retry_get_sender_wait_interval=2000 buffer.pool_size=5 senderchecker.check_polling_time=200 -sender.is_off=false sender.max_send_length=20000 consumer.max_consumer=0 consumer.max_wait_time=5