This is an automated email from the ASF dual-hosted git repository. wusheng pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/master by this push: new 8dbd19f style&test: remove unnecessary code and add test(#2450) (#2451) 8dbd19f is described below commit 8dbd19f329c6d387f606165ad0a9da7c9acff031 Author: ksewen <261517...@qq.com> AuthorDate: Fri Apr 5 12:32:58 2019 +0800 style&test: remove unnecessary code and add test(#2450) (#2451) - found the unnecessary else block and remove it - add test cover when AMQP.BasicProperties had null headers or headers Map had null value keys issue #2450 --- .../rabbitmq/RabbitMQConsumerInterceptor.java | 2 -- .../rabbitmq/RabbitMQConsumerInterceptorTest.java | 32 +++++++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptor.java b/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptor.java index 91be8bb..64b8cf8 100644 --- a/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptor.java @@ -53,8 +53,6 @@ public class RabbitMQConsumerInterceptor implements InstanceMethodsAroundInterce next = next.next(); if (properties.getHeaders() != null && properties.getHeaders().get(next.getHeadKey()) != null) { next.setHeadValue(properties.getHeaders().get(next.getHeadKey()).toString()); - } else { - next.setHeadValue(""); } } ContextManager.extract(contextCarrier); diff --git a/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptorTest.java index e69a654..0d007f1 100644 --- a/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/rabbitmq-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rabbitmq/RabbitMQConsumerInterceptorTest.java @@ -63,20 +63,44 @@ public class RabbitMQConsumerInterceptorTest { private RabbitMQConsumerInterceptor rabbitMQConsumerInterceptor; - private Object[] arguments; - @Before public void setUp() throws Exception { rabbitMQConsumerInterceptor = new RabbitMQConsumerInterceptor(); + } + + @Test + public void TestRabbitMQConsumerInterceptor() throws Throwable { Envelope envelope = new Envelope(1111,false,"","rabbitmq-test"); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("sw6","1-MS4xLjE1NDM5NzU1OTEwMTQwMDAx-MS4xLjE1NDM5NzU1OTA5OTcwMDAw-0-1-1-IzEyNy4wLjAuMTo1Mjcy-I1JhYmJpdE1RL1RvcGljL1F1ZXVlL3JhYmJpdG1xLXRlc3QvUHJvZHVjZXI=-I1JhYmJpdE1RL1RvcGljL1F1ZXVlL3JhYmJpdG1xLXRlc3QvUHJvZHVjZXI="); AMQP.BasicProperties.Builder propsBuilder = new AMQP.BasicProperties.Builder(); - arguments = new Object[] {0,0,envelope,propsBuilder.headers(headers).build()}; + Object[] arguments = new Object[] {0,0,envelope,propsBuilder.headers(headers).build()}; + + rabbitMQConsumerInterceptor.beforeMethod(enhancedInstance,null,arguments,null,null); + rabbitMQConsumerInterceptor.afterMethod(enhancedInstance,null,arguments,null,null); + List<TraceSegment> traceSegments = segmentStorage.getTraceSegments(); + Assert.assertThat(traceSegments.size(), is(1)); } @Test - public void TestRabbitMQConsumerInterceptor() throws Throwable { + public void testRabbitMQConsumerInterceptorWithNilHeaders() throws Throwable { + Envelope envelope = new Envelope(1111,false,"","rabbitmq-test"); + AMQP.BasicProperties.Builder propsBuilder = new AMQP.BasicProperties.Builder(); + Object[] arguments = new Object[] {0,0,envelope,propsBuilder.headers(null).build()}; + + rabbitMQConsumerInterceptor.beforeMethod(enhancedInstance,null,arguments,null,null); + rabbitMQConsumerInterceptor.afterMethod(enhancedInstance,null,arguments,null,null); + List<TraceSegment> traceSegments = segmentStorage.getTraceSegments(); + Assert.assertThat(traceSegments.size(), is(1)); + } + + @Test + public void testRabbitMQConsumerInterceptorWithEmptyHeaders() throws Throwable { + Envelope envelope = new Envelope(1111,false,"","rabbitmq-test"); + Map<String, Object> headers = new HashMap<String, Object>(); + AMQP.BasicProperties.Builder propsBuilder = new AMQP.BasicProperties.Builder(); + Object[] arguments = new Object[] {0,0,envelope,propsBuilder.headers(headers).build()}; + rabbitMQConsumerInterceptor.beforeMethod(enhancedInstance,null,arguments,null,null); rabbitMQConsumerInterceptor.afterMethod(enhancedInstance,null,arguments,null,null); List<TraceSegment> traceSegments = segmentStorage.getTraceSegments();