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();

Reply via email to