You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2022/08/23 05:14:08 UTC

[activemq] branch activemq-5.17.x updated: [AMQ-8981] Fix CustomBridgeFactoryTest

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch activemq-5.17.x
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/activemq-5.17.x by this push:
     new b70b2960a [AMQ-8981] Fix CustomBridgeFactoryTest
b70b2960a is described below

commit b70b2960a4ef303fb0abd040e4efe13926b6569c
Author: Matt Pavlovich <ma...@hyte.io>
AuthorDate: Mon Aug 22 09:35:43 2022 -0500

    [AMQ-8981] Fix CustomBridgeFactoryTest
    
    (cherry picked from commit 82a2374764d4002e72f37457143f3207d732cf04)
---
 .../apache/activemq/network/BaseNetworkTest.java   | 15 +++--
 .../network/CompositeNetworkBridgeListener.java    | 49 ++++++++++++++
 .../activemq/network/CustomBridgeFactoryTest.java  | 77 +---------------------
 .../network/CustomNetworkBridgeFactory.java        | 29 ++++++++
 .../network/localBroker-custom-factory.xml         |  2 +-
 5 files changed, 93 insertions(+), 79 deletions(-)

diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/network/BaseNetworkTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/network/BaseNetworkTest.java
index e5cd967f6..161591420 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/network/BaseNetworkTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/network/BaseNetworkTest.java
@@ -53,10 +53,17 @@ public class BaseNetworkTest {
     }
 
     protected void doTearDown() throws Exception {
-        localConnection.close();
-        remoteConnection.close();
-        localBroker.stop();
-        remoteBroker.stop();
+        if(localConnection != null)
+            localConnection.close();
+
+        if(remoteConnection != null)
+            remoteConnection.close();
+
+        if(localBroker != null)
+            localBroker.stop();
+
+        if(remoteBroker != null)
+            remoteBroker.stop();
     }
 
     protected void doSetUp(boolean deleteAllMessages) throws Exception {
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/network/CompositeNetworkBridgeListener.java b/activemq-unit-tests/src/test/java/org/apache/activemq/network/CompositeNetworkBridgeListener.java
new file mode 100644
index 000000000..e9fdfcf38
--- /dev/null
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/network/CompositeNetworkBridgeListener.java
@@ -0,0 +1,49 @@
+package org.apache.activemq.network;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.activemq.command.Message;
+
+public class CompositeNetworkBridgeListener implements NetworkBridgeListener {
+    private final List<NetworkBridgeListener> listeners;
+
+    public CompositeNetworkBridgeListener(NetworkBridgeListener... wrapped) {
+        this.listeners = Arrays.asList(wrapped);
+    }
+
+    @Override
+    public void bridgeFailed() {
+        for (NetworkBridgeListener listener : listeners) {
+            listener.bridgeFailed();
+        }
+    }
+
+    @Override
+    public void onStart(NetworkBridge bridge) {
+        for (NetworkBridgeListener listener : listeners) {
+            listener.onStart(bridge);
+        }
+    }
+
+    @Override
+    public void onStop(NetworkBridge bridge) {
+        for (NetworkBridgeListener listener : listeners) {
+            listener.onStop(bridge);
+        }
+    }
+
+    @Override
+    public void onOutboundMessage(NetworkBridge bridge, Message message) {
+        for (NetworkBridgeListener listener : listeners) {
+            listener.onOutboundMessage(bridge, message);
+        }
+    }
+
+    @Override
+    public void onInboundMessage(NetworkBridge bridge, Message message) {
+        for (NetworkBridgeListener listener : listeners) {
+            listener.onInboundMessage(bridge, message);
+        }
+    }
+}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomBridgeFactoryTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomBridgeFactoryTest.java
index 334058497..c5411f7b0 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomBridgeFactoryTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomBridgeFactoryTest.java
@@ -48,7 +48,7 @@ public class CustomBridgeFactoryTest extends BaseNetworkTest {
     /**
      * Verification of outgoing communication - from local broker (with customized bridge configured) to remote one.
      */
-    @Test
+    @Test(timeout = 10000)
     public void verifyOutgoingCommunication() throws JMSException {
         CustomNetworkBridgeFactory bridgeFactory = getCustomNetworkBridgeFactory();
         NetworkBridgeListener listener = bridgeFactory.getListener();
@@ -66,7 +66,7 @@ public class CustomBridgeFactoryTest extends BaseNetworkTest {
     /**
      * Additional test which makes sure that custom bridge receives notification about broker shutdown.
      */
-    @Test
+    @Test(timeout = 10000)
     public void verifyBrokerShutdown() {
         shutdownTest(() -> {
             try {
@@ -81,7 +81,7 @@ public class CustomBridgeFactoryTest extends BaseNetworkTest {
     /**
      * Verification of network connector shutdown.
      */
-    @Test
+    @Test(timeout = 10000)
     public void verifyConnectorShutdown() {
         shutdownTest(() -> {
             try {
@@ -143,75 +143,4 @@ public class CustomBridgeFactoryTest extends BaseNetworkTest {
     protected String getLocalBrokerURI() {
         return "org/apache/activemq/network/localBroker-custom-factory.xml";
     }
-
-    // test classes
-    static class CustomNetworkBridgeFactory implements BridgeFactory {
-
-        private final NetworkBridgeListener listener;
-
-        CustomNetworkBridgeFactory() {
-            this(Mockito.mock(NetworkBridgeListener.class));
-        }
-
-        CustomNetworkBridgeFactory(NetworkBridgeListener listener) {
-            this.listener = listener;
-        }
-
-        public NetworkBridgeListener getListener() {
-            return listener;
-        }
-
-        @Override
-        public DemandForwardingBridge createNetworkBridge(NetworkBridgeConfiguration configuration, Transport localTransport, Transport remoteTransport, NetworkBridgeListener listener) {
-            DemandForwardingBridge bridge = new DemandForwardingBridge(configuration, localTransport, remoteTransport);
-            bridge.setNetworkBridgeListener(new CompositeNetworkBridgeListener(this.listener, listener));
-            return bridge;
-        }
-
-    }
-
-    static class CompositeNetworkBridgeListener implements NetworkBridgeListener {
-
-        private final List<NetworkBridgeListener> listeners;
-
-        public CompositeNetworkBridgeListener(NetworkBridgeListener ... wrapped) {
-            this.listeners = Arrays.asList(wrapped);
-        }
-
-        @Override
-        public void bridgeFailed() {
-            for (NetworkBridgeListener listener : listeners) {
-                listener.bridgeFailed();
-            }
-        }
-
-        @Override
-        public void onStart(NetworkBridge bridge) {
-            for (NetworkBridgeListener listener : listeners) {
-                listener.onStart(bridge);
-            }
-        }
-
-        @Override
-        public void onStop(NetworkBridge bridge) {
-            for (NetworkBridgeListener listener : listeners) {
-                listener.onStop(bridge);
-            }
-        }
-
-        @Override
-        public void onOutboundMessage(NetworkBridge bridge, Message message) {
-            for (NetworkBridgeListener listener : listeners) {
-                listener.onOutboundMessage(bridge, message);
-            }
-        }
-
-        @Override
-        public void onInboundMessage(NetworkBridge bridge, Message message) {
-            for (NetworkBridgeListener listener : listeners) {
-                listener.onInboundMessage(bridge, message);
-            }
-        }
-    }
-
 }
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomNetworkBridgeFactory.java b/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomNetworkBridgeFactory.java
new file mode 100644
index 000000000..eecefe1aa
--- /dev/null
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/network/CustomNetworkBridgeFactory.java
@@ -0,0 +1,29 @@
+package org.apache.activemq.network;
+
+import org.apache.activemq.transport.Transport;
+import org.mockito.Mockito;
+
+public class CustomNetworkBridgeFactory implements BridgeFactory { 
+
+    private final NetworkBridgeListener listener;
+
+    public CustomNetworkBridgeFactory() {
+        this(Mockito.mock(NetworkBridgeListener.class));
+    }
+
+    public CustomNetworkBridgeFactory(NetworkBridgeListener listener) {
+        this.listener = listener;
+    }
+
+    public NetworkBridgeListener getListener() {
+        return listener;
+    }
+
+    @Override
+    public DemandForwardingBridge createNetworkBridge(NetworkBridgeConfiguration configuration, Transport localTransport, Transport remoteTransport, NetworkBridgeListener listener) {
+        DemandForwardingBridge bridge = new DemandForwardingBridge(configuration, localTransport, remoteTransport);
+        bridge.setNetworkBridgeListener(new CompositeNetworkBridgeListener(this.listener, listener));
+        return bridge;
+    }
+
+ }
diff --git a/activemq-unit-tests/src/test/resources/org/apache/activemq/network/localBroker-custom-factory.xml b/activemq-unit-tests/src/test/resources/org/apache/activemq/network/localBroker-custom-factory.xml
index 9dc8c61be..d8f30fe87 100644
--- a/activemq-unit-tests/src/test/resources/org/apache/activemq/network/localBroker-custom-factory.xml
+++ b/activemq-unit-tests/src/test/resources/org/apache/activemq/network/localBroker-custom-factory.xml
@@ -27,7 +27,7 @@
     <networkConnectors>
       <networkConnector uri="static:(tcp://localhost:61617)" name="networkConnector">
           <bridgeFactory>
-              <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.network.CustomBridgeFactoryTest.CustomNetworkBridgeFactory" />
+              <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.network.CustomNetworkBridgeFactory" />
           </bridgeFactory>
       </networkConnector>
     </networkConnectors>