You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pa...@apache.org on 2018/02/15 19:17:48 UTC

[camel] branch master updated: camel-xmpp: Do not reuse a static EmbeddedXmppTestServer instance, but create a new one for each test. I hope this improves the test stability on build.apache.org.

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

pascalschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 134df12  camel-xmpp: Do not reuse a static EmbeddedXmppTestServer instance, but create a new one for each test. I hope this improves the test stability on build.apache.org.
134df12 is described below

commit 134df1228ab9c3f2444ce2ab03e3ac277a6edd77
Author: Pascal Schumacher <pa...@gmx.net>
AuthorDate: Thu Feb 15 20:17:37 2018 +0100

    camel-xmpp: Do not reuse a static EmbeddedXmppTestServer instance, but create a new one for each test. I hope this improves the test stability on build.apache.org.
---
 .../component/xmpp/EmbeddedXmppTestServer.java     | 73 ++++++++++------------
 .../component/xmpp/XmppDeferredConnectionTest.java | 20 ++++--
 .../component/xmpp/XmppMultiUserChatTest.java      | 17 ++++-
 .../component/xmpp/XmppProducerConcurrentTest.java | 18 +++++-
 .../component/xmpp/XmppRobustConnectionTest.java   | 24 +++++--
 .../camel/component/xmpp/XmppRouteChatTest.java    | 18 +++++-
 ...ppRouteMultipleProducersSingleConsumerTest.java | 19 ++++--
 .../apache/camel/component/xmpp/XmppRouteTest.java |  7 ++-
 8 files changed, 129 insertions(+), 67 deletions(-)

diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/EmbeddedXmppTestServer.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/EmbeddedXmppTestServer.java
index 20b14de..1d8dcb9 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/EmbeddedXmppTestServer.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/EmbeddedXmppTestServer.java
@@ -46,64 +46,51 @@ import org.jxmpp.jid.impl.JidCreate;
 
 public final class EmbeddedXmppTestServer {
 
-    private static EmbeddedXmppTestServer instance;
-
     private XMPPServer xmppServer;
     private TCPEndpoint endpoint;
     private int port;
-    
-    // restricted to singleton
-    private EmbeddedXmppTestServer()  { }
-
-    public static EmbeddedXmppTestServer instance()  {
-        if (instance == null) {
-            instance = new EmbeddedXmppTestServer();
-            instance.initializeXmppServer();
-        }
-        return instance;
+
+    public EmbeddedXmppTestServer() { 
+        initializeXmppServer();
     }
 
     private void initializeXmppServer() {
         try {
-            if (xmppServer == null) {
-                xmppServer = new XMPPServer("apache.camel");
+            xmppServer = new XMPPServer("apache.camel");
 
-                StorageProviderRegistry providerRegistry = new MemoryStorageProviderRegistry();
-                AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
+            StorageProviderRegistry providerRegistry = new MemoryStorageProviderRegistry();
+            AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
 
-                Entity user = EntityImpl.parseUnchecked("camel_consumer@apache.camel");
-                accountManagement.addUser(user, "secret");
+            Entity user = EntityImpl.parseUnchecked("camel_consumer@apache.camel");
+            accountManagement.addUser(user, "secret");
 
-                Entity user2 = EntityImpl.parseUnchecked("camel_producer@apache.camel");
-                accountManagement.addUser(user2, "secret");
-                
-                Entity user3 = EntityImpl.parseUnchecked("camel_producer1@apache.camel");
-                accountManagement.addUser(user3, "secret");
+            Entity user2 = EntityImpl.parseUnchecked("camel_producer@apache.camel");
+            accountManagement.addUser(user2, "secret");
+            
+            Entity user3 = EntityImpl.parseUnchecked("camel_producer1@apache.camel");
+            accountManagement.addUser(user3, "secret");
 
-                xmppServer.setStorageProviderRegistry(providerRegistry);
+            xmppServer.setStorageProviderRegistry(providerRegistry);
 
-                if (endpoint == null) {
-                    endpoint = new TCPEndpoint();
-                    this.port = AvailablePortFinder.getNextAvailable(5222);
-                    endpoint.setPort(port);
-                }
+            endpoint = new TCPEndpoint();
+            this.port = AvailablePortFinder.getNextAvailable(5222);
+            endpoint.setPort(port);
 
-                xmppServer.addEndpoint(endpoint);
+            xmppServer.addEndpoint(endpoint);
 
-                InputStream stream = ObjectHelper.loadResourceAsStream("xmppServer.jks");
-                xmppServer.setTLSCertificateInfo(stream, "secret");
+            InputStream stream = ObjectHelper.loadResourceAsStream("xmppServer.jks");
+            xmppServer.setTLSCertificateInfo(stream, "secret");
 
-                // allow anonymous logins
-                xmppServer.setSASLMechanisms(Arrays.asList(new SASLMechanism[]{new Anonymous()}));
+            // allow anonymous logins
+            xmppServer.setSASLMechanisms(Arrays.asList(new SASLMechanism[]{new Anonymous()}));
 
-                xmppServer.start();
+            xmppServer.start();
 
-                // add the multi-user chat module and create a few test rooms
-                Conference conference = new Conference("test conference");
-                conference.createRoom(EntityImpl.parseUnchecked("camel-anon@apache.camel"), "camel-anon", RoomType.FullyAnonymous);
-                conference.createRoom(EntityImpl.parseUnchecked("camel-test@apache.camel"), "camel-test", RoomType.Public);
-                xmppServer.addModule(new MUCModule("conference", conference));
-            }
+            // add the multi-user chat module and create a few test rooms
+            Conference conference = new Conference("test conference");
+            conference.createRoom(EntityImpl.parseUnchecked("camel-anon@apache.camel"), "camel-anon", RoomType.FullyAnonymous);
+            conference.createRoom(EntityImpl.parseUnchecked("camel-test@apache.camel"), "camel-test", RoomType.Public);
+            xmppServer.addModule(new MUCModule("conference", conference));
         } catch (Exception e) {
             throw new RuntimeException("An error occurred when initializing the XMPP Test Server.", e);
         }
@@ -141,4 +128,8 @@ public final class EmbeddedXmppTestServer {
 
         registry.bind("customConnectionConfig", connectionConfig);
     }
+
+    public void stop() {
+        xmppServer.stop();
+    }
 }
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppDeferredConnectionTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppDeferredConnectionTest.java
index f84bf88..88c31f8 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppDeferredConnectionTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppDeferredConnectionTest.java
@@ -29,20 +29,23 @@ import org.junit.Test;
  */
 public class XmppDeferredConnectionTest extends CamelTestSupport {
 
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
+
     /**
      * Ensures that the XMPP server instance is created and 'stopped' before the camel 
      * routes are initialized
      */
     @Override
     public void doPreSetup() throws Exception {
-        EmbeddedXmppTestServer.instance().stopXmppEndpoint();
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
+        embeddedXmppTestServer.stopXmppEndpoint();
     }
 
     @Override
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        EmbeddedXmppTestServer.instance().bindSSLContextTo(registry);
+        embeddedXmppTestServer.bindSSLContextTo(registry);
 
         return registry;
     }
@@ -70,7 +73,7 @@ public class XmppDeferredConnectionTest extends CamelTestSupport {
         template.sendBody("direct:simple", "Hello simple!");
         simpleEndpoint.assertIsSatisfied();
 
-        EmbeddedXmppTestServer.instance().startXmppEndpoint();
+        embeddedXmppTestServer.startXmppEndpoint();
 
         // wait for the connection to be established
         Thread.sleep(2000);
@@ -100,15 +103,20 @@ public class XmppDeferredConnectionTest extends CamelTestSupport {
     }
 
     protected String getProducerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_producer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test@conference.apache.camel&user=camel_producer&password=secret&serviceName=apache.camel"
             + "&testConnectionOnStartup=false";
     }
 
     protected String getConsumerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_consumer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test@conference.apache.camel&user=camel_consumer&password=secret&serviceName=apache.camel"
             + "&testConnectionOnStartup=false&connectionPollDelay=1";
     }
 
-}   
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        embeddedXmppTestServer.stop();
+    }
+}
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppMultiUserChatTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppMultiUserChatTest.java
index 7f21d0c..09cbe1c 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppMultiUserChatTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppMultiUserChatTest.java
@@ -28,6 +28,7 @@ import org.junit.Test;
  */
 public class XmppMultiUserChatTest extends CamelTestSupport {
 
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
     protected MockEndpoint consumerEndpoint;
     protected String body1 = "the first message";
     protected String body2 = "the second message";
@@ -36,7 +37,7 @@ public class XmppMultiUserChatTest extends CamelTestSupport {
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        EmbeddedXmppTestServer.instance().bindSSLContextTo(registry);
+        embeddedXmppTestServer.bindSSLContextTo(registry);
 
         return registry;
     }
@@ -73,15 +74,25 @@ public class XmppMultiUserChatTest extends CamelTestSupport {
 
         // here on purpose we provide the room query parameter without the domain name as 'camel-test', and Camel
         // will resolve it properly to 'camel-test@conference.apache.camel'
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/?connectionConfig=#customConnectionConfig&room=camel-test&user=camel_producer@apache.camel&password=secret&nickname=camel_producer";
     }
     
     protected String getConsumerUri() {
         // however here we provide the room query parameter as fully qualified, including the domain name as
         // 'camel-test@conference.apache.camel'
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/?connectionConfig=#customConnectionConfig&room=camel-test@conference.apache.camel&user=camel_consumer@apache.camel&password=secret&nickname=camel_consumer";
     }
 
+    @Override
+    public void doPreSetup() throws Exception {
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        embeddedXmppTestServer.stop();
+    }
 }
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppProducerConcurrentTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppProducerConcurrentTest.java
index 5f67a82..5b91096 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppProducerConcurrentTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppProducerConcurrentTest.java
@@ -30,11 +30,13 @@ import org.junit.Test;
  */
 public class XmppProducerConcurrentTest extends CamelTestSupport {
 
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
+
     @Override
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        EmbeddedXmppTestServer.instance().bindSSLContextTo(registry);
+        embeddedXmppTestServer.bindSSLContextTo(registry);
 
         return registry;
     }
@@ -49,7 +51,6 @@ public class XmppProducerConcurrentTest extends CamelTestSupport {
         doSendMessages(10, 5);
     }
 
-
     private void doSendMessages(int files, int poolSize) throws Exception {
         getMockEndpoint("mock:result").expectedMessageCount(files);
         getMockEndpoint("mock:result").assertNoDuplicates(body());
@@ -75,10 +76,21 @@ public class XmppProducerConcurrentTest extends CamelTestSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                    .to("xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+                    .to("xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
                             + "?connectionConfig=#customConnectionConfig&user=camel_consumer&password=secret&serviceName=apache.camel")
                     .to("mock:result");
             }
         };
     }
+
+    @Override
+    public void doPreSetup() throws Exception {
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        embeddedXmppTestServer.stop();
+    }
 }
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRobustConnectionTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRobustConnectionTest.java
index 27a40a5..2d66bb5 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRobustConnectionTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRobustConnectionTest.java
@@ -30,11 +30,13 @@ import org.junit.Test;
  */
 public class XmppRobustConnectionTest extends CamelTestSupport {
 
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
+
     @Override
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        EmbeddedXmppTestServer.instance().bindSSLContextTo(registry);
+        embeddedXmppTestServer.bindSSLContextTo(registry);
 
         return registry;
     }
@@ -61,7 +63,7 @@ public class XmppRobustConnectionTest extends CamelTestSupport {
         consumerEndpoint.assertIsNotSatisfied();
         errorEndpoint.assertIsNotSatisfied();
 
-        EmbeddedXmppTestServer.instance().stopXmppEndpoint();
+        embeddedXmppTestServer.stopXmppEndpoint();
         Thread.sleep(2000);
 
         for (int i = 0; i < 5; i++) {
@@ -71,7 +73,7 @@ public class XmppRobustConnectionTest extends CamelTestSupport {
         errorEndpoint.assertIsSatisfied();
         consumerEndpoint.assertIsNotSatisfied();
 
-        EmbeddedXmppTestServer.instance().startXmppEndpoint();
+        embeddedXmppTestServer.startXmppEndpoint();
         Thread.sleep(2000);
 
         for (int i = 0; i < 5; i++) {
@@ -97,13 +99,25 @@ public class XmppRobustConnectionTest extends CamelTestSupport {
     }
 
     protected String getProducerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_producer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test@conference.apache.camel&user=camel_producer&password=secret&serviceName=apache.camel";
     }
 
     protected String getConsumerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_consumer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test@conference.apache.camel&user=camel_consumer&password=secret&serviceName=apache.camel"
             + "&connectionPollDelay=1";
     }
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        embeddedXmppTestServer.stop();
+    }
 }
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteChatTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteChatTest.java
index 815d880..61dc10f 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteChatTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteChatTest.java
@@ -27,6 +27,7 @@ import org.junit.Test;
  */
 public class XmppRouteChatTest extends CamelTestSupport {
 
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
     protected MockEndpoint consumerEndpoint;
     protected MockEndpoint producerEndpoint;
     protected String body1 = "the first message";
@@ -36,7 +37,7 @@ public class XmppRouteChatTest extends CamelTestSupport {
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        EmbeddedXmppTestServer.instance().bindSSLContextTo(registry);
+        embeddedXmppTestServer.bindSSLContextTo(registry);
 
         return registry;
     }
@@ -83,12 +84,23 @@ public class XmppRouteChatTest extends CamelTestSupport {
     }
 
     protected String getProducerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_producer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test-producer@conference.apache.camel&user=camel_producer&password=secret&serviceName=apache.camel";
     }
     
     protected String getConsumerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_consumer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test-consumer@conference.apache.camel&user=camel_consumer&password=secret&serviceName=apache.camel";
     }
+
+    @Override
+    public void doPreSetup() throws Exception {
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        embeddedXmppTestServer.stop();
+    }
 }
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteMultipleProducersSingleConsumerTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteMultipleProducersSingleConsumerTest.java
index 5f57123..3c5e3bc 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteMultipleProducersSingleConsumerTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteMultipleProducersSingleConsumerTest.java
@@ -26,6 +26,7 @@ import org.junit.Test;
  * @version 
  */
 public class XmppRouteMultipleProducersSingleConsumerTest extends CamelTestSupport {
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
     protected MockEndpoint goodEndpoint;
     protected MockEndpoint badEndpoint;
 
@@ -33,7 +34,7 @@ public class XmppRouteMultipleProducersSingleConsumerTest extends CamelTestSuppo
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        EmbeddedXmppTestServer.instance().bindSSLContextTo(registry);
+        embeddedXmppTestServer.bindSSLContextTo(registry);
 
         return registry;
     }
@@ -81,18 +82,28 @@ public class XmppRouteMultipleProducersSingleConsumerTest extends CamelTestSuppo
     }
 
     protected String getProducer1Uri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_consumer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test-room@conference.apache.camel&user=camel_producer&password=secret&serviceName=apache.camel";
     }
 
     protected String getProducer2Uri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_consumer@apache.camel?connectionConfig=#customConnectionConfig&user=camel_producer1&password=secret&serviceName=apache.camel";
     }
     
     protected String getConsumerUri() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort()
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort()
             + "/camel_producer@apache.camel?connectionConfig=#customConnectionConfig&room=camel-test-room@conference.apache.camel&user=camel_consumer&password=secret&serviceName=apache.camel";
     }
 
+    @Override
+    public void doPreSetup() throws Exception {
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        embeddedXmppTestServer.stop();
+    }
 }
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteTest.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteTest.java
index bb85b53..0d962af 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteTest.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/XmppRouteTest.java
@@ -44,6 +44,7 @@ public class XmppRouteTest extends TestCase {
     protected CountDownLatch latch = new CountDownLatch(1);
     protected Endpoint endpoint;
     protected ProducerCache client;
+    private EmbeddedXmppTestServer embeddedXmppTestServer;
 
     public static void main(String[] args) {
         enabled = true;
@@ -117,15 +118,17 @@ public class XmppRouteTest extends TestCase {
         });
 
         container.start();
+        embeddedXmppTestServer = new EmbeddedXmppTestServer();
     }
 
     protected String getUriPrefix() {
-        return "xmpp://localhost:" + EmbeddedXmppTestServer.instance().getXmppPort() + "/camel?login=false&room=camel-anon";
+        return "xmpp://localhost:" + embeddedXmppTestServer.getXmppPort() + "/camel?login=false&room=camel-anon";
     }
-    
+
     @Override
     protected void tearDown() throws Exception {
         client.stop();
         container.stop();
+        embeddedXmppTestServer.stop();
     }
 }

-- 
To stop receiving notification emails like this one, please contact
pascalschumacher@apache.org.