You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2017/03/15 14:08:52 UTC
[14/50] [abbrv] incubator-rocketmq-externals git commit: Import
mockito to mock when unit test
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 <zh...@qq.com>
Authored: Tue Feb 28 08:09:45 2017 +0800
Committer: zhangke <zh...@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>