This is an automated email from the ASF dual-hosted git repository.
jlmonteiro pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/main by this push:
new 0c1eabd355 chore: migrate tests from JMock to Mockito (#1814)
0c1eabd355 is described below
commit 0c1eabd35515ba560c3c404a5843bad566de2adb
Author: JB Onofré <[email protected]>
AuthorDate: Mon Mar 23 14:29:29 2026 +0100
chore: migrate tests from JMock to Mockito (#1814)
* chore: migrate tests from JMock to Mockito
Replace JMock with Mockito in activemq-ra, activemq-unit-tests, and
activemq-kahadb-store modules. Remove JMock dependencies from POMs.
* chore: address review feedback on JMock to Mockito migration
- Replace star imports with explicit imports in MessageEndpointProxyTest
- Add missing Mockito verify calls for all test methods to match
original JMock expectations (never, release, successful calls)
- Extract common mock setup into setupCommonMocks() helper in
ServerSessionImplTest
- Remove unused XAResource import
---
activemq-kahadb-store/pom.xml | 10 -
activemq-ra/pom.xml | 9 +-
.../activemq/ra/MessageEndpointProxyTest.java | 97 ++----
.../apache/activemq/ra/ServerSessionImplTest.java | 330 +++++----------------
activemq-unit-tests/pom.xml | 10 -
.../org/apache/activemq/config/ConfigTest.java | 48 +--
.../store/jdbc/LeaseDatabaseLockerTest.java | 48 +--
.../discovery/DiscoveryNetworkReconnectTest.java | 156 ++++------
pom.xml | 13 -
9 files changed, 203 insertions(+), 518 deletions(-)
diff --git a/activemq-kahadb-store/pom.xml b/activemq-kahadb-store/pom.xml
index 0f4804f926..a05bbdea73 100644
--- a/activemq-kahadb-store/pom.xml
+++ b/activemq-kahadb-store/pom.xml
@@ -122,16 +122,6 @@
<artifactId>log4j-slf4j2-impl</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-legacy</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
diff --git a/activemq-ra/pom.xml b/activemq-ra/pom.xml
index 3f27767cc1..c55b66dca9 100644
--- a/activemq-ra/pom.xml
+++ b/activemq-ra/pom.xml
@@ -60,13 +60,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-legacy</artifactId>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git
a/activemq-ra/src/test/java/org/apache/activemq/ra/MessageEndpointProxyTest.java
b/activemq-ra/src/test/java/org/apache/activemq/ra/MessageEndpointProxyTest.java
index 77f1886835..ad21dd0c01 100644
---
a/activemq-ra/src/test/java/org/apache/activemq/ra/MessageEndpointProxyTest.java
+++
b/activemq-ra/src/test/java/org/apache/activemq/ra/MessageEndpointProxyTest.java
@@ -18,6 +18,12 @@ package org.apache.activemq.ra;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.same;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
import java.lang.reflect.Method;
@@ -26,31 +32,23 @@ import jakarta.jms.MessageListener;
import jakarta.resource.ResourceException;
import jakarta.resource.spi.endpoint.MessageEndpoint;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JMock;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
-import org.junit.runner.RunWith;
@Ignore
-@RunWith(JMock.class)
public class MessageEndpointProxyTest {
private MessageEndpoint mockEndpoint;
private EndpointAndListener mockEndpointAndListener;
private Message stubMessage;
private MessageEndpointProxy endpointProxy;
- private Mockery context;
@Before
public void setUp() {
- context = new Mockery();
- mockEndpoint = context.mock(MessageEndpoint.class);
- context.mock(MessageListener.class);
- mockEndpointAndListener = context.mock(EndpointAndListener.class);
- stubMessage = context.mock(Message.class);
+ mockEndpoint = mock(MessageEndpoint.class);
+ mockEndpointAndListener = mock(EndpointAndListener.class);
+ stubMessage = mock(Message.class);
endpointProxy = new MessageEndpointProxy(mockEndpointAndListener);
}
@@ -66,27 +64,18 @@ public class MessageEndpointProxyTest {
@Test(timeout = 60000)
public void testSuccessfulCallSequence() throws Exception {
- setupBeforeDeliverySuccessful();
- setupOnMessageSuccessful();
- setupAfterDeliverySuccessful();
-
doBeforeDeliveryExpectSuccess();
doOnMessageExpectSuccess();
doAfterDeliveryExpectSuccess();
+
+ verify(mockEndpointAndListener).beforeDelivery(any(Method.class));
+ verify(mockEndpointAndListener).onMessage(stubMessage);
+ verify(mockEndpointAndListener).afterDelivery();
}
@Test(timeout = 60000)
public void testBeforeDeliveryFailure() throws Exception {
- context.checking(new Expectations() {{
- oneOf
(mockEndpointAndListener).beforeDelivery(with(any(Method.class)));
- will(throwException(new ResourceException()));
- }});
- context.checking(new Expectations() {{
- never (mockEndpointAndListener).onMessage(null);
- never (mockEndpointAndListener).afterDelivery();
- }});
-
- setupExpectRelease();
+ doThrow(new
ResourceException()).when(mockEndpointAndListener).beforeDelivery(any(Method.class));
try {
endpointProxy.beforeDelivery(ActiveMQEndpointWorker.ON_MESSAGE_METHOD);
@@ -97,21 +86,19 @@ public class MessageEndpointProxyTest {
doOnMessageExpectInvalidMessageEndpointException();
doAfterDeliveryExpectInvalidMessageEndpointException();
+ verify(mockEndpointAndListener, never()).onMessage(any());
+ verify(mockEndpointAndListener, never()).afterDelivery();
+ verify(mockEndpointAndListener).release();
+
doFullyDeadCheck();
}
@Test(timeout = 60000)
public void testOnMessageFailure() throws Exception {
- setupBeforeDeliverySuccessful();
-
- context.checking(new Expectations() {{
- oneOf (mockEndpointAndListener).onMessage(with(same(stubMessage)));
- will(throwException(new RuntimeException()));
- }});
+ doBeforeDeliveryExpectSuccess();
- setupAfterDeliverySuccessful();
+ doThrow(new
RuntimeException()).when(mockEndpointAndListener).onMessage(same(stubMessage));
- doBeforeDeliveryExpectSuccess();
try {
endpointProxy.onMessage(stubMessage);
fail("An exception should have been thrown");
@@ -120,21 +107,18 @@ public class MessageEndpointProxyTest {
}
doAfterDeliveryExpectSuccess();
+ verify(mockEndpointAndListener).beforeDelivery(any(Method.class));
+ verify(mockEndpointAndListener).onMessage(same(stubMessage));
+ verify(mockEndpointAndListener).afterDelivery();
}
@Test(timeout = 60000)
public void testAfterDeliveryFailure() throws Exception {
- setupBeforeDeliverySuccessful();
- setupOnMessageSuccessful();
-
- context.checking(new Expectations() {{
- oneOf (mockEndpointAndListener).afterDelivery();
will(throwException(new ResourceException()));
- }});
-
- setupExpectRelease();
-
doBeforeDeliveryExpectSuccess();
doOnMessageExpectSuccess();
+
+ doThrow(new
ResourceException()).when(mockEndpointAndListener).afterDelivery();
+
try {
endpointProxy.afterDelivery();
fail("An exception should have been thrown");
@@ -142,6 +126,11 @@ public class MessageEndpointProxyTest {
assertTrue(true);
}
+ verify(mockEndpointAndListener).beforeDelivery(any(Method.class));
+ verify(mockEndpointAndListener).onMessage(stubMessage);
+ verify(mockEndpointAndListener).afterDelivery();
+ verify(mockEndpointAndListener).release();
+
doFullyDeadCheck();
}
@@ -152,30 +141,6 @@ public class MessageEndpointProxyTest {
doReleaseExpectInvalidMessageEndpointException();
}
- private void setupAfterDeliverySuccessful() throws Exception {
- context.checking(new Expectations() {{
- oneOf (mockEndpointAndListener).afterDelivery();
- }});
- }
-
- private void setupOnMessageSuccessful() {
- context.checking(new Expectations() {{
- oneOf (mockEndpointAndListener).onMessage(with(stubMessage));
- }});
- }
-
- private void setupBeforeDeliverySuccessful() throws Exception {
- context.checking(new Expectations() {{
- oneOf
(mockEndpointAndListener).beforeDelivery(with(any(Method.class)));
- }});
- }
-
- private void setupExpectRelease() {
- context.checking(new Expectations() {{
- oneOf (mockEndpointAndListener).release();
- }});
- }
-
private void doBeforeDeliveryExpectSuccess() {
try {
endpointProxy.beforeDelivery(ActiveMQEndpointWorker.ON_MESSAGE_METHOD);
diff --git
a/activemq-ra/src/test/java/org/apache/activemq/ra/ServerSessionImplTest.java
b/activemq-ra/src/test/java/org/apache/activemq/ra/ServerSessionImplTest.java
index 11359eec4e..cb8ed1b1c9 100644
---
a/activemq-ra/src/test/java/org/apache/activemq/ra/ServerSessionImplTest.java
+++
b/activemq-ra/src/test/java/org/apache/activemq/ra/ServerSessionImplTest.java
@@ -25,21 +25,10 @@ import org.apache.activemq.command.MessageDispatch;
import org.apache.activemq.command.MessageId;
import org.apache.activemq.command.TransactionInfo;
import org.apache.activemq.util.Wait;
-import org.hamcrest.Description;
-import org.hamcrest.Matchers;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.api.Action;
-import org.jmock.api.Invocation;
-import org.jmock.imposters.ByteBuddyClassImposteriser;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnitRuleMockery;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,7 +40,6 @@ import jakarta.resource.spi.work.ExecutionContext;
import jakarta.resource.spi.work.Work;
import jakarta.resource.spi.work.WorkListener;
import jakarta.resource.spi.work.WorkManager;
-import javax.transaction.xa.XAResource;
import java.lang.reflect.Method;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
@@ -60,21 +48,14 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
-import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.*;
+import static org.mockito.ArgumentMatchers.*;
@Ignore
-@RunWith(JMock.class)
public class ServerSessionImplTest {
- @Rule
- public JUnitRuleMockery context = new JUnitRuleMockery() {
- {
- setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
- }
- };
-
private static final Logger LOG =
LoggerFactory.getLogger(ServerSessionImplTest.class);
private static final String BROKER_URL =
"vm://localhost?broker.persistent=false";
@@ -86,6 +67,12 @@ public class ServerSessionImplTest {
private ActiveMQSession session;
private ActiveMQEndpointWorker endpointWorker;
+ private MessageEndpointFactory messageEndpointFactory;
+ private MessageResourceAdapter resourceAdapter;
+ private ActiveMQEndpointActivationKey key;
+ private MessageActivationSpec messageActivationSpec;
+ private BootstrapContext bootstrapContext;
+
@Before
public void setUp() throws Exception {
org.apache.activemq.ActiveMQConnectionFactory factory = new
org.apache.activemq.ActiveMQConnectionFactory(BROKER_URL);
@@ -94,6 +81,29 @@ public class ServerSessionImplTest {
session = (ActiveMQSession) con.createSession(false,
Session.AUTO_ACKNOWLEDGE);
}
+ private void setupCommonMocks() throws Exception {
+ messageEndpointFactory = mock(MessageEndpointFactory.class);
+ resourceAdapter = mock(MessageResourceAdapter.class);
+ key = mock(ActiveMQEndpointActivationKey.class);
+ messageEndpoint = mock(MessageEndpointProxy.class);
+ workManager = mock(WorkManager.class);
+ messageActivationSpec = mock(MessageActivationSpec.class);
+ bootstrapContext = mock(BootstrapContext.class);
+
+
lenient().when(bootstrapContext.getWorkManager()).thenReturn(workManager);
+
lenient().when(resourceAdapter.getBootstrapContext()).thenReturn(bootstrapContext);
+
lenient().when(messageEndpointFactory.isDeliveryTransacted(any(Method.class))).thenReturn(Boolean.FALSE);
+
lenient().when(key.getMessageEndpointFactory()).thenReturn(messageEndpointFactory);
+
lenient().when(key.getActivationSpec()).thenReturn(messageActivationSpec);
+
lenient().when(messageActivationSpec.isUseJndi()).thenReturn(Boolean.FALSE);
+
lenient().when(messageActivationSpec.getDestinationType()).thenReturn("jakarta.jms.Queue");
+
lenient().when(messageActivationSpec.getDestination()).thenReturn("Queue");
+
lenient().when(messageActivationSpec.getAcknowledgeModeForSession()).thenReturn(1);
+
lenient().when(messageActivationSpec.getEnableBatchBooleanValue()).thenReturn(Boolean.FALSE);
+
lenient().when(messageActivationSpec.isUseRAManagedTransactionEnabled()).thenReturn(Boolean.TRUE);
+
lenient().when(messageEndpointFactory.createEndpoint(isNull())).thenReturn(messageEndpoint);
+ }
+
@After
public void tearDown() throws Exception {
if (con != null) {
@@ -104,19 +114,16 @@ public class ServerSessionImplTest {
@Test
public void testRunDetectsStoppedSession() throws Exception {
- pool = context.mock(ServerSessionPoolImpl.class);
- workManager = context.mock(WorkManager.class);
- messageEndpoint = context.mock(MessageEndpointProxy.class);
+ pool = mock(ServerSessionPoolImpl.class);
+ workManager = mock(WorkManager.class);
+ messageEndpoint = mock(MessageEndpointProxy.class);
serverSession = new ServerSessionImpl(pool, session, workManager,
messageEndpoint, false, 10);
con.close();
- context.checking(new Expectations() {
- {
- oneOf(pool).removeFromPool(with(same(serverSession)));
- }
- });
serverSession.run();
+
+ verify(pool).removeFromPool(same(serverSession));
}
@Test
@@ -125,83 +132,22 @@ public class ServerSessionImplTest {
final int maxMessages = 4000;
final CountDownLatch messageCount = new CountDownLatch(maxMessages);
- final MessageEndpointFactory messageEndpointFactory =
context.mock(MessageEndpointFactory.class);
- final MessageResourceAdapter resourceAdapter =
context.mock(MessageResourceAdapter.class);
- final ActiveMQEndpointActivationKey key =
context.mock(ActiveMQEndpointActivationKey.class);
- messageEndpoint = context.mock(MessageEndpointProxy.class);
- workManager = context.mock(WorkManager.class);
- final MessageActivationSpec messageActivationSpec =
context.mock(MessageActivationSpec.class);
- final BootstrapContext boostrapContext =
context.mock(BootstrapContext.class);
- context.checking(new Expectations() {
- {
- allowing(boostrapContext).getWorkManager();
- will(returnValue(workManager));
- allowing(resourceAdapter).getBootstrapContext();
- will(returnValue(boostrapContext));
-
allowing(messageEndpointFactory).isDeliveryTransacted(with(any(Method.class)));
- will(returnValue(Boolean.FALSE));
- allowing(key).getMessageEndpointFactory();
- will(returnValue(messageEndpointFactory));
- allowing(key).getActivationSpec();
- will(returnValue(messageActivationSpec));
- allowing(messageActivationSpec).isUseJndi();
- will(returnValue(Boolean.FALSE));
- allowing(messageActivationSpec).getDestinationType();
- will(returnValue("jakarta.jms.Queue"));
- allowing(messageActivationSpec).getDestination();
- will(returnValue("Queue"));
- allowing(messageActivationSpec).getAcknowledgeModeForSession();
- will(returnValue(1));
- allowing(messageActivationSpec).getMaxSessionsIntValue();
- will(returnValue(1));
- allowing(messageActivationSpec).getEnableBatchBooleanValue();
- will(returnValue(Boolean.FALSE));
-
allowing(messageActivationSpec).isUseRAManagedTransactionEnabled();
- will(returnValue(Boolean.TRUE));
-
allowing(messageEndpointFactory).createEndpoint(with(nullValue(XAResource.class)));
- will(returnValue(messageEndpoint));
-
- allowing(workManager).scheduleWork((Work)
with(any(Work.class)), with(any(long.class)), with(any(ExecutionContext.class)),
- with(any(WorkListener.class)));
- will(new Action() {
- @Override
- public Object invoke(Invocation invocation) throws
Throwable {
- return null;
- }
+ setupCommonMocks();
+
lenient().when(messageActivationSpec.getMaxSessionsIntValue()).thenReturn(1);
- @Override
- public void describeTo(Description description) {
- }
- });
-
- allowing(messageEndpoint).beforeDelivery((Method)
with(any(Method.class)));
-
allowing(messageEndpoint).onMessage(with(any(jakarta.jms.Message.class)));
- will(new Action() {
- @Override
- public Object invoke(Invocation invocation) throws
Throwable {
- messageCount.countDown();
- if (messageCount.getCount() < maxMessages - 11) {
- TimeUnit.MILLISECONDS.sleep(200);
- }
- return null;
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText("Keep message count");
- }
- });
- allowing(messageEndpoint).afterDelivery();
- allowing(messageEndpoint).release();
-
- allowing(workManager).scheduleWork(
- with(any(Work.class)),
- with(any(Long.TYPE)),
- with(nullValue(ExecutionContext.class)),
- with(nullValue(WorkListener.class)));
+ lenient().doAnswer(invocation -> null).when(workManager).scheduleWork(
+ any(Work.class), anyLong(), any(ExecutionContext.class),
any(WorkListener.class));
+
lenient().doNothing().when(messageEndpoint).beforeDelivery(any(Method.class));
+ lenient().doAnswer(invocation -> {
+ messageCount.countDown();
+ if (messageCount.getCount() < maxMessages - 11) {
+ TimeUnit.MILLISECONDS.sleep(200);
}
- });
+ return null;
+ }).when(messageEndpoint).onMessage(any(jakarta.jms.Message.class));
+ lenient().doNothing().when(messageEndpoint).afterDelivery();
+ lenient().doNothing().when(messageEndpoint).release();
endpointWorker = new ActiveMQEndpointWorker(resourceAdapter, key);
endpointWorker.setConnection(con);
@@ -258,111 +204,41 @@ public class ServerSessionImplTest {
ExecutorService executorService = Executors.newCachedThreadPool();
+ setupCommonMocks();
+
lenient().when(messageActivationSpec.getMaxSessionsIntValue()).thenReturn(10);
- final MessageEndpointFactory messageEndpointFactory =
context.mock(MessageEndpointFactory.class);
- final MessageResourceAdapter resourceAdapter =
context.mock(MessageResourceAdapter.class);
- final ActiveMQEndpointActivationKey key =
context.mock(ActiveMQEndpointActivationKey.class);
- messageEndpoint = context.mock(MessageEndpointProxy.class);
- workManager = context.mock(WorkManager.class);
- final MessageActivationSpec messageActivationSpec =
context.mock(MessageActivationSpec.class);
- final BootstrapContext boostrapContext =
context.mock(BootstrapContext.class);
- context.checking(new Expectations() {
- {
- allowing(boostrapContext).getWorkManager();
- will(returnValue(workManager));
- allowing(resourceAdapter).getBootstrapContext();
- will(returnValue(boostrapContext));
-
allowing(messageEndpointFactory).isDeliveryTransacted(with(any(Method.class)));
- will(returnValue(Boolean.FALSE));
- allowing(key).getMessageEndpointFactory();
- will(returnValue(messageEndpointFactory));
- allowing(key).getActivationSpec();
- will(returnValue(messageActivationSpec));
- allowing(messageActivationSpec).isUseJndi();
- will(returnValue(Boolean.FALSE));
- allowing(messageActivationSpec).getDestinationType();
- will(returnValue("jakarta.jms.Queue"));
- allowing(messageActivationSpec).getDestination();
- will(returnValue("Queue"));
- allowing(messageActivationSpec).getAcknowledgeModeForSession();
- will(returnValue(1));
- allowing(messageActivationSpec).getMaxSessionsIntValue();
- will(returnValue(10));
- allowing(messageActivationSpec).getEnableBatchBooleanValue();
- will(returnValue(Boolean.FALSE));
-
allowing(messageActivationSpec).isUseRAManagedTransactionEnabled();
- will(returnValue(Boolean.TRUE));
-
allowing(messageEndpointFactory).createEndpoint(with(nullValue(XAResource.class)));
- will(returnValue(messageEndpoint));
-
- allowing(workManager).scheduleWork((Work)
with(any(Work.class)), with(any(long.class)), with(any(ExecutionContext.class)),
- with(any(WorkListener.class)));
- will(new Action() {
- @Override
- public Object invoke(Invocation invocation) throws
Throwable {
- LOG.info("Wok manager invocation: " + invocation);
-
- if (invocation.getParameter(0) instanceof
ServerSessionImpl) {
- final ServerSessionImpl serverSession1 =
(ServerSessionImpl)invocation.getParameter(0);
- executorService.execute(new Runnable() {
- @Override
- public void run() {
- try {
- serverSession1.run();
- } catch (Exception e) {
- LOG.error("Error on Work run: {}",
serverSession1, e);
- e.printStackTrace();
- }
- }
- });
- }
- return null;
- }
-
- @Override
- public void describeTo(Description description) {
- }
- });
-
- allowing(messageEndpoint).beforeDelivery((Method)
with(any(Method.class)));
-
allowing(messageEndpoint).onMessage(with(any(jakarta.jms.Message.class)));
- will(new Action() {
- @Override
- public Object invoke(Invocation invocation) throws
Throwable {
- messageCountRef.get().countDown();
- return null;
- }
+ lenient().doAnswer(invocation -> {
+ LOG.info("Work manager invocation: " + invocation);
+ if (invocation.getArgument(0) instanceof ServerSessionImpl) {
+ final ServerSessionImpl serverSession1 = (ServerSessionImpl)
invocation.getArgument(0);
+ executorService.execute(new Runnable() {
@Override
- public void describeTo(Description description) {
- description.appendText("Keep message count");
- }
- });
- allowing(messageEndpoint).afterDelivery();
- will(new Action() {
- @Override
- public void describeTo(Description description) {
- description.appendText("do sync work on broker");
- }
-
- @Override
- public Object invoke(Invocation invocation) throws
Throwable {
- TransactionInfo transactionInfo = new
TransactionInfo();
- transactionInfo.setType(TransactionInfo.END);
- LOG.info("AfterDelivery on: " +
messageCountRef.get().getCount());
- return null;
+ public void run() {
+ try {
+ serverSession1.run();
+ } catch (Exception e) {
+ LOG.error("Error on Work run: {}", serverSession1,
e);
+ e.printStackTrace();
+ }
}
});
- allowing(messageEndpoint).release();
-
- allowing(workManager).scheduleWork(
- with(any(Work.class)),
- with(any(Long.TYPE)),
- with(nullValue(ExecutionContext.class)),
- with(nullValue(WorkListener.class)));
-
}
- });
+ return null;
+ }).when(workManager).scheduleWork(any(Work.class), anyLong(),
any(ExecutionContext.class), any(WorkListener.class));
+
+
lenient().doNothing().when(messageEndpoint).beforeDelivery(any(Method.class));
+ lenient().doAnswer(invocation -> {
+ messageCountRef.get().countDown();
+ return null;
+ }).when(messageEndpoint).onMessage(any(jakarta.jms.Message.class));
+ lenient().doAnswer(invocation -> {
+ TransactionInfo transactionInfo = new TransactionInfo();
+ transactionInfo.setType(TransactionInfo.END);
+ LOG.info("AfterDelivery on: " + messageCountRef.get().getCount());
+ return null;
+ }).when(messageEndpoint).afterDelivery();
+ lenient().doNothing().when(messageEndpoint).release();
endpointWorker = new ActiveMQEndpointWorker(resourceAdapter, key);
endpointWorker.setConnection(con);
@@ -456,53 +332,9 @@ public class ServerSessionImplTest {
@Test
public void testSessionReusedByPool() throws Exception {
- final MessageEndpointFactory messageEndpointFactory =
context.mock(MessageEndpointFactory.class);
- final MessageResourceAdapter resourceAdapter =
context.mock(MessageResourceAdapter.class);
- final ActiveMQEndpointActivationKey key =
context.mock(ActiveMQEndpointActivationKey.class);
- messageEndpoint = context.mock(MessageEndpointProxy.class);
- workManager = context.mock(WorkManager.class);
- final MessageActivationSpec messageActivationSpec =
context.mock(MessageActivationSpec.class);
- final BootstrapContext bootstrapContext =
context.mock(BootstrapContext.class);
- context.checking(new Expectations() {
- {
- allowing(bootstrapContext).getWorkManager();
- will(returnValue(workManager));
- allowing(resourceAdapter).getBootstrapContext();
- will(returnValue(bootstrapContext));
-
allowing(messageEndpointFactory).isDeliveryTransacted(with(any(Method.class)));
- will(returnValue(Boolean.FALSE));
- allowing(key).getMessageEndpointFactory();
- will(returnValue(messageEndpointFactory));
- allowing(key).getActivationSpec();
- will(returnValue(messageActivationSpec));
- allowing(messageActivationSpec).isUseJndi();
- will(returnValue(Boolean.FALSE));
- allowing(messageActivationSpec).getDestinationType();
- will(returnValue("jakarta.jms.Queue"));
- allowing(messageActivationSpec).getDestination();
- will(returnValue("Queue"));
- allowing(messageActivationSpec).getAcknowledgeModeForSession();
- will(returnValue(1));
- allowing(messageActivationSpec).getMaxSessionsIntValue();
- will(returnValue(10));
- allowing(messageActivationSpec).getEnableBatchBooleanValue();
- will(returnValue(Boolean.FALSE));
-
allowing(messageActivationSpec).isUseRAManagedTransactionEnabled();
- will(returnValue(Boolean.TRUE));
-
allowing(messageEndpointFactory).createEndpoint(with(nullValue(XAResource.class)));
- will(returnValue(messageEndpoint));
-
- allowing(workManager).scheduleWork((Work)
with(any(Work.class)), with(any(long.class)), with(any(ExecutionContext.class)),
- with(any(WorkListener.class)));
- allowing(messageEndpoint).release();
-
- allowing(workManager).scheduleWork(
- with(any(Work.class)),
- with(any(Long.TYPE)),
- with(nullValue(ExecutionContext.class)),
- with(nullValue(WorkListener.class)));
- }
- });
+ setupCommonMocks();
+
lenient().when(messageActivationSpec.getMaxSessionsIntValue()).thenReturn(10);
+ lenient().doNothing().when(messageEndpoint).release();
endpointWorker = new ActiveMQEndpointWorker(resourceAdapter, key);
endpointWorker.setConnection(con);
diff --git a/activemq-unit-tests/pom.xml b/activemq-unit-tests/pom.xml
index 7e1d3c73a5..8a89ea9d3d 100644
--- a/activemq-unit-tests/pom.xml
+++ b/activemq-unit-tests/pom.xml
@@ -267,16 +267,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-legacy</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
diff --git
a/activemq-unit-tests/src/test/java/org/apache/activemq/config/ConfigTest.java
b/activemq-unit-tests/src/test/java/org/apache/activemq/config/ConfigTest.java
index 2c4e327906..09ef1eed4d 100644
---
a/activemq-unit-tests/src/test/java/org/apache/activemq/config/ConfigTest.java
+++
b/activemq-unit-tests/src/test/java/org/apache/activemq/config/ConfigTest.java
@@ -20,6 +20,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.sql.Connection;
@@ -54,8 +56,6 @@ import
org.apache.activemq.store.memory.MemoryPersistenceAdapter;
import org.apache.activemq.transport.tcp.TcpTransportServer;
import org.apache.activemq.usage.SystemUsage;
import org.apache.activemq.xbean.BrokerFactoryBean;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -90,25 +90,15 @@ public class ConfigTest {
public void testJdbcLockConfigOverride() throws Exception {
JDBCPersistenceAdapter adapter = new JDBCPersistenceAdapter();
- Mockery context = new Mockery();
- final DataSource dataSource = context.mock(DataSource.class);
- final Connection connection = context.mock(Connection.class);
- final DatabaseMetaData metadata = context.mock(DatabaseMetaData.class);
- final ResultSet result = context.mock(ResultSet.class);
+ DataSource dataSource = mock(DataSource.class);
+ Connection connection = mock(Connection.class);
+ DatabaseMetaData metadata = mock(DatabaseMetaData.class);
adapter.setDataSource(dataSource);
adapter.setCreateTablesOnStartup(false);
- context.checking(new Expectations() {{
- allowing(dataSource).getConnection();
- will(returnValue(connection));
- allowing(connection).getMetaData();
- will(returnValue(metadata));
- allowing(connection);
- allowing(metadata).getDriverName();
- will(returnValue("Microsoft_SQL_Server_2005_jdbc_driver"));
- allowing(result).next();
- will(returnValue(true));
- }});
+ when(dataSource.getConnection()).thenReturn(connection);
+ when(connection.getMetaData()).thenReturn(metadata);
+
when(metadata.getDriverName()).thenReturn("Microsoft_SQL_Server_2005_jdbc_driver");
adapter.start();
assertTrue("has the locker override", adapter.getLocker() instanceof
TransactDatabaseLocker);
@@ -118,25 +108,15 @@ public class ConfigTest {
public void testJdbcLockConfigDefault() throws Exception {
JDBCPersistenceAdapter adapter = new JDBCPersistenceAdapter();
- Mockery context = new Mockery();
- final DataSource dataSource = context.mock(DataSource.class);
- final Connection connection = context.mock(Connection.class);
- final DatabaseMetaData metadata = context.mock(DatabaseMetaData.class);
- final ResultSet result = context.mock(ResultSet.class);
+ DataSource dataSource = mock(DataSource.class);
+ Connection connection = mock(Connection.class);
+ DatabaseMetaData metadata = mock(DatabaseMetaData.class);
adapter.setDataSource(dataSource);
adapter.setCreateTablesOnStartup(false);
- context.checking(new Expectations() {{
- allowing(dataSource).getConnection();
- will(returnValue(connection));
- allowing(connection).getMetaData();
- will(returnValue(metadata));
- allowing(connection);
- allowing(metadata).getDriverName();
- will(returnValue("Some_Unknown_driver"));
- allowing(result).next();
- will(returnValue(true));
- }});
+ when(dataSource.getConnection()).thenReturn(connection);
+ when(connection.getMetaData()).thenReturn(metadata);
+ when(metadata.getDriverName()).thenReturn("Some_Unknown_driver");
adapter.start();
assertEquals("has the default locker", adapter.getLocker().getClass(),
DefaultDatabaseLocker.class);
diff --git
a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
index 6df37e61e6..970e624384 100644
---
a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
+++
b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
@@ -32,9 +32,6 @@ import org.apache.activemq.broker.AbstractLocker;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter;
import org.apache.activemq.util.Wait;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.lib.legacy.ClassImposteriser;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
@@ -46,6 +43,9 @@ import org.slf4j.LoggerFactory;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import org.junit.experimental.categories.Category;
import org.apache.activemq.test.annotations.ParallelTest;
@@ -239,35 +239,19 @@ public class LeaseDatabaseLockerTest {
public long callDiffOffset(LeaseDatabaseLocker underTest, final long
dbTime) throws Exception {
- Mockery context = new Mockery() {{
- setImposteriser(ClassImposteriser.INSTANCE);
- }};
- final Statements statements = context.mock(Statements.class);
- final JDBCPersistenceAdapter jdbcPersistenceAdapter =
context.mock(JDBCPersistenceAdapter.class);
- final Connection connection = context.mock(Connection.class);
- final PreparedStatement preparedStatement =
context.mock(PreparedStatement.class);
- final ResultSet resultSet = context.mock(ResultSet.class);
- final Timestamp timestamp = context.mock(Timestamp.class);
-
- context.checking(new Expectations() {{
- allowing(jdbcPersistenceAdapter).getStatements();
- will(returnValue(statements));
- allowing(jdbcPersistenceAdapter);
- allowing(statements);
- allowing(connection).prepareStatement(with(any(String.class)));
- will(returnValue(preparedStatement));
- allowing(connection);
- allowing(preparedStatement).executeQuery();
- will(returnValue(resultSet));
- allowing(resultSet).next();
- will(returnValue(true));
- allowing(resultSet).getTimestamp(1);
- will(returnValue(timestamp));
- allowing(timestamp).getTime();
- will(returnValue(dbTime));
- allowing(resultSet).close();
- allowing(preparedStatement).close();
- }});
+ Statements statements = mock(Statements.class);
+ JDBCPersistenceAdapter jdbcPersistenceAdapter =
mock(JDBCPersistenceAdapter.class);
+ Connection connection = mock(Connection.class);
+ PreparedStatement preparedStatement = mock(PreparedStatement.class);
+ ResultSet resultSet = mock(ResultSet.class);
+ Timestamp timestamp = mock(Timestamp.class);
+
+ when(jdbcPersistenceAdapter.getStatements()).thenReturn(statements);
+
when(connection.prepareStatement(anyString())).thenReturn(preparedStatement);
+ when(preparedStatement.executeQuery()).thenReturn(resultSet);
+ when(resultSet.next()).thenReturn(true);
+ when(resultSet.getTimestamp(1)).thenReturn(timestamp);
+ when(timestamp.getTime()).thenReturn(dbTime);
underTest.configure(jdbcPersistenceAdapter);
underTest.setLockable(jdbcPersistenceAdapter);
diff --git
a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/discovery/DiscoveryNetworkReconnectTest.java
b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/discovery/DiscoveryNetworkReconnectTest.java
index 378c54b2a8..eb61c36bee 100644
---
a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/discovery/DiscoveryNetworkReconnectTest.java
+++
b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/discovery/DiscoveryNetworkReconnectTest.java
@@ -21,19 +21,10 @@ import org.apache.activemq.broker.jmx.ManagementContext;
import
org.apache.activemq.transport.discovery.multicast.MulticastDiscoveryAgentFactory;
import org.apache.activemq.util.SocketProxy;
import org.apache.activemq.util.Wait;
-import org.hamcrest.BaseMatcher;
-import org.hamcrest.Description;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.api.Invocation;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.jmock.lib.action.CustomAction;
-import org.jmock.lib.legacy.ClassImposteriser;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,9 +35,10 @@ import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.*;
+import static org.mockito.ArgumentMatchers.*;
-@RunWith(JMock.class)
public class DiscoveryNetworkReconnectTest {
private static final Logger LOG =
LoggerFactory.getLogger(DiscoveryNetworkReconnectTest.class);
@@ -56,42 +48,32 @@ public class DiscoveryNetworkReconnectTest {
final Semaphore mbeanRegistered = new Semaphore(0);
final Semaphore mbeanUnregistered = new Semaphore(0);
BrokerService brokerA, brokerB;
- Mockery context;
ManagementContext managementContext;
DiscoveryAgent agent;
SocketProxy proxy;
- // ignore the hostname resolution component as this is machine dependent
- class NetworkBridgeObjectNameMatcher<T> extends BaseMatcher<T> {
- T name;
- NetworkBridgeObjectNameMatcher(T o) {
+ // ArgumentMatcher for network bridge ObjectNames
+ class NetworkBridgeObjectNameMatcher implements
ArgumentMatcher<ObjectName> {
+ ObjectName name;
+ NetworkBridgeObjectNameMatcher(ObjectName o) {
name = o;
}
@Override
- public boolean matches(Object arg0) {
- ObjectName other = (ObjectName) arg0;
- ObjectName mine = (ObjectName) name;
- LOG.info("Match: " + mine + " vs: " + other);
+ public boolean matches(ObjectName other) {
+ if (other == null) return false;
+ LOG.info("Match: " + name + " vs: " + other);
if
(!"networkConnectors".equals(other.getKeyProperty("connector"))) {
return false;
}
- return
other.getKeyProperty("connector").equals(mine.getKeyProperty("connector")) &&
- other.getKeyProperty("networkBridge") != null &&
mine.getKeyProperty("networkBridge") != null;
- }
-
- @Override
- public void describeTo(Description arg0) {
- arg0.appendText(this.getClass().getName());
+ return
other.getKeyProperty("connector").equals(name.getKeyProperty("connector")) &&
+ other.getKeyProperty("networkBridge") != null &&
name.getKeyProperty("networkBridge") != null;
}
}
@Before
public void setUp() throws Exception {
- context = new JUnit4Mockery() {{
- setImposteriser(ClassImposteriser.INSTANCE);
- }};
brokerA = new BrokerService();
brokerA.setBrokerName("BrokerA");
configure(brokerA);
@@ -100,73 +82,53 @@ public class DiscoveryNetworkReconnectTest {
brokerA.waitUntilStarted();
proxy = new
SocketProxy(brokerA.getTransportConnectors().get(0).getConnectUri());
- managementContext = context.mock(ManagementContext.class);
-
- context.checking(new Expectations(){{
- allowing(managementContext).getJmxDomainName(); will
(returnValue("Test"));
- allowing(managementContext).setBrokerName("BrokerNC");
- allowing(managementContext).start();
- allowing(managementContext).isCreateConnector();
- allowing(managementContext).stop();
- allowing(managementContext).isConnectorStarted();
-
- // expected MBeans
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new ObjectName("Test:type=Broker,brokerName=BrokerNC"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=Health"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=Log4JConfiguration"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.Connection"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.NetworkBridge"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.MasterBroker"))));
- allowing(managementContext).registerMBean(with(any(Object.class)),
with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=jobScheduler,jobSchedulerName=JMS"))));
- allowing(managementContext).getObjectInstance(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC"))));
-
-
- atLeast(maxReconnects - 1).of
(managementContext).registerMBean(with(any(Object.class)), with(new
NetworkBridgeObjectNameMatcher<ObjectName>(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC,networkBridge=localhost/127.0.0.1_"
- + proxy.getUrl().getPort())))); will(new
CustomAction("signal register network mbean") {
- @Override
- public Object invoke(Invocation invocation)
throws Throwable {
- LOG.info("Mbean Registered: " +
invocation.getParameter(0));
- mbeanRegistered.release();
- return new
ObjectInstance((ObjectName)invocation.getParameter(1), "discription");
- }
- });
- atLeast(maxReconnects - 1).of
(managementContext).unregisterMBean(with(new
NetworkBridgeObjectNameMatcher<ObjectName>(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC,networkBridge=localhost/127.0.0.1_"
- + proxy.getUrl().getPort())))); will(new
CustomAction("signal unregister network mbean") {
- @Override
- public Object invoke(Invocation invocation)
throws Throwable {
- LOG.info("Mbean Unregistered: " +
invocation.getParameter(0));
- mbeanUnregistered.release();
- return null;
- }
- });
-
- allowing(managementContext).unregisterMBean(with(equal(
- new ObjectName("Test:type=Broker,brokerName=BrokerNC"))));
- allowing(managementContext).unregisterMBean(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=Health"))));
- allowing(managementContext).unregisterMBean(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC"))));
- allowing(managementContext).unregisterMBean(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=Log4JConfiguration"))));
- allowing(managementContext).unregisterMBean(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.Connection"))));
- allowing(managementContext).unregisterMBean(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.NetworkBridge"))));
- allowing(managementContext).unregisterMBean(with(equal(
- new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.MasterBroker"))));
- }});
+ managementContext = mock(ManagementContext.class);
+
+ // Default lenient stubs for ManagementContext
+
lenient().when(managementContext.getJmxDomainName()).thenReturn("Test");
+
lenient().doNothing().when(managementContext).setBrokerName("BrokerNC");
+ lenient().doNothing().when(managementContext).start();
+
lenient().when(managementContext.isCreateConnector()).thenReturn(false);
+ lenient().doNothing().when(managementContext).stop();
+
lenient().when(managementContext.isConnectorStarted()).thenReturn(false);
+
+ // Expected MBean registrations
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=Health")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=Log4JConfiguration")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.Connection")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.NetworkBridge")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,destinationType=Topic,destinationName=ActiveMQ.Advisory.MasterBroker")))).thenReturn(null);
+ lenient().when(managementContext.registerMBean(any(),
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,service=jobScheduler,jobSchedulerName=JMS")))).thenReturn(null);
+ lenient().when(managementContext.getObjectInstance(
+ eq(new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC")))).thenReturn(null);
+
+ // Network bridge MBean register - signal semaphore
+ lenient().when(managementContext.registerMBean(any(), argThat(new
NetworkBridgeObjectNameMatcher(
+ new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC,networkBridge=localhost/127.0.0.1_"
+ + proxy.getUrl().getPort()))))).thenAnswer(invocation -> {
+ LOG.info("Mbean Registered: " +
invocation.getArgument(0));
+ mbeanRegistered.release();
+ return new
ObjectInstance((ObjectName)invocation.getArgument(1), "discription");
+ });
+
+ // Network bridge MBean unregister - signal semaphore
+ lenient().doAnswer(invocation -> {
+ LOG.info("Mbean Unregistered: " + invocation.getArgument(0));
+ mbeanUnregistered.release();
+ return null;
+ }).when(managementContext).unregisterMBean(argThat(new
NetworkBridgeObjectNameMatcher(
+ new
ObjectName("Test:type=Broker,brokerName=BrokerNC,connector=networkConnectors,networkConnectorName=NC,networkBridge=localhost/127.0.0.1_"
+ + proxy.getUrl().getPort()))));
brokerB = new BrokerService();
brokerB.setManagementContext(managementContext);
diff --git a/pom.xml b/pom.xml
index 1b1b54ad93..347e57ce9c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,7 +76,6 @@
<jmdns-version>3.6.3</jmdns-version>
<javassist-version>3.30.2-GA</javassist-version>
<jettison-version>1.5.5</jettison-version>
- <jmock-version>2.13.1</jmock-version>
<jolokia-version>2.5.1</jolokia-version>
<junit-version>4.13.2</junit-version>
<h2-version>2.4.240</h2-version>
@@ -873,18 +872,6 @@
<version>${mockito-version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <version>${jmock-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-legacy</artifactId>
- <version>${jmock-version}</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact