Import mockito to mock when unit test

Project: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/commit/b32619b6
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/tree/b32619b6
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/diff/b32619b6

Branch: refs/heads/jms-dev-1.1.0
Commit: b32619b67ab08cdf76b5d47aff868b97012c5eca
Parents: 53cb534
Author: zhangke <zhangke_beij...@qq.com>
Authored: Tue Feb 28 08:09:45 2017 +0800
Committer: zhangke <zhangke_beij...@qq.com>
Committed: Tue Feb 28 08:09:45 2017 +0800

----------------------------------------------------------------------
 core/pom.xml                                      |  4 ++++
 .../org/apache/rocketmq/jms/RocketMQProducer.java |  4 ++++
 .../apache/rocketmq/jms/hook/SendMessageHook.java |  6 ++++--
 .../rocketmq/jms/hook/SendMessageHookTest.java    | 18 +++++++++++++-----
 pom.xml                                           |  6 ++++++
 5 files changed, 31 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/b32619b6/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 11d4471..e977b30 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -53,6 +53,10 @@
             <groupId>org.hamcrest</groupId>
             <artifactId>hamcrest-all</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/b32619b6/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java 
b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
index 6b4f394..ab1eb69 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
@@ -262,4 +262,8 @@ public class RocketMQProducer implements MessageProducer {
     public void setSendMessageHook(SendMessageHook sendMessageHook) {
         this.sendMessageHook = sendMessageHook;
     }
+
+    public String getUserName() {
+        return this.session.getConnection().getUserName();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/b32619b6/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java 
b/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
index a20fb98..0429973 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
@@ -76,7 +76,7 @@ public class SendMessageHook {
 
         // messageID is also required in async model, so {@link 
MessageExt#getMsgId()} can't be used.
         if (!this.producer.getDisableMessageID()) {
-            message.setJMSMessageID(new 
StringBuffer(MESSAGE_ID_PREFIX).append(UUID.randomUUID().getLeastSignificantBits()).toString());
+            message.setJMSMessageID(new 
StringBuffer(MESSAGE_ID_PREFIX).append(UUID.randomUUID().toString()).toString());
         }
 
         // timestamp
@@ -93,7 +93,9 @@ public class SendMessageHook {
 
     public void setProviderProperties(Message message) throws JMSException {
         // JMSXUserID
-        message.setStringProperty(JMSXUserID.name(), 
this.producer.getSession().getConnection().getUserName());
+        if (this.producer.getUserName() != null) {
+            message.setStringProperty(JMSXUserID.name(), 
this.producer.getUserName());
+        }
     }
 
     public void setProducer(RocketMQProducer producer) {

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/b32619b6/core/src/test/java/org/apache/rocketmq/jms/hook/SendMessageHookTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/rocketmq/jms/hook/SendMessageHookTest.java 
b/core/src/test/java/org/apache/rocketmq/jms/hook/SendMessageHookTest.java
index 2d1afcc..6af7786 100644
--- a/core/src/test/java/org/apache/rocketmq/jms/hook/SendMessageHookTest.java
+++ b/core/src/test/java/org/apache/rocketmq/jms/hook/SendMessageHookTest.java
@@ -24,6 +24,7 @@ import org.apache.rocketmq.jms.RocketMQTopic;
 import org.apache.rocketmq.jms.exception.UnsupportDeliveryModelException;
 import org.apache.rocketmq.jms.msg.JMSTextMessage;
 import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
+import org.apache.rocketmq.jms.msg.enums.JMSPropertiesEnum;
 import org.junit.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -31,6 +32,8 @@ import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsNot.not;
 import static org.hamcrest.core.IsNull.notNullValue;
 import static org.hamcrest.core.IsNull.nullValue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 public class SendMessageHookTest {
 
@@ -48,8 +51,8 @@ public class SendMessageHookTest {
 
     @Test
     public void testSetHeader() throws Exception {
-        RocketMQProducer producer = new RocketMQProducer();
-        producer.setDeliveryDelay(0L);
+        RocketMQProducer producer = mock(RocketMQProducer.class);
+        when(producer.getDeliveryDelay()).thenReturn(0L);
 
         final JMSTextMessage message = new JMSTextMessage("text");
         final Destination destination = new RocketMQTopic("destination");
@@ -75,9 +78,10 @@ public class SendMessageHookTest {
      */
     @Test
     public void testSetHeader2() throws Exception {
-        RocketMQProducer producer = new RocketMQProducer();
-        producer.setDisableMessageID(true);
-        producer.setDisableMessageTimestamp(true);
+        RocketMQProducer producer = mock(RocketMQProducer.class);
+        when(producer.getUserName()).thenReturn("user");
+        when(producer.getDisableMessageID()).thenReturn(true);
+        when(producer.getDisableMessageTimestamp()).thenReturn(true);
 
         final JMSTextMessage message = new JMSTextMessage("text");
         final Destination destination = new RocketMQTopic("destination");
@@ -87,8 +91,12 @@ public class SendMessageHookTest {
         SendMessageHook hook = new SendMessageHook(producer);
         hook.before(message, destination, deliveryMode, priority, timeToLive);
 
+        // assert header
         assertThat(message.getJMSMessageID(), nullValue());
         assertThat(message.getJMSTimestamp(), is(0L));
         assertThat(message.getJMSExpiration(), not(is(0L)));
+
+        // assert properties
+        
assertThat(message.getStringProperty(JMSPropertiesEnum.JMSXUserID.name()), 
is("user"));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/b32619b6/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2882a6b..9d0fd39 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,6 +84,12 @@
                 <version>1.3</version>
                 <scope>test</scope>
             </dependency>
+            <dependency>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-core</artifactId>
+                <version>2.7.12</version>
+                <scope>test</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 

Reply via email to