[hornetq-commits] JBoss hornetq SVN: r10115 - in trunk/tests/src/org/hornetq/tests/integration/cluster: util and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jan 11 17:29:38 EST 2011


Author: clebert.suconic at jboss.com
Date: 2011-01-11 17:29:38 -0500 (Tue, 11 Jan 2011)
New Revision: 10115

Added:
   trunk/tests/src/org/hornetq/tests/integration/cluster/failover/SecurityFailoverTest.java
Modified:
   trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java
   trunk/tests/src/org/hornetq/tests/integration/cluster/util/RemoteProcessHornetQServer.java
   trunk/tests/src/org/hornetq/tests/integration/cluster/util/SameProcessHornetQServer.java
   trunk/tests/src/org/hornetq/tests/integration/cluster/util/TestableServer.java
Log:
Adding Security Failover test (on the process of investigating a QA issue)

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java	2011-01-11 18:17:01 UTC (rev 10114)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java	2011-01-11 22:29:38 UTC (rev 10115)
@@ -44,6 +44,7 @@
 import org.hornetq.core.logging.Logger;
 import org.hornetq.core.transaction.impl.XidImpl;
 import org.hornetq.jms.client.HornetQTextMessage;
+import org.hornetq.tests.integration.cluster.util.TestableServer;
 import org.hornetq.tests.util.RandomUtil;
 
 /**
@@ -56,6 +57,7 @@
 public class FailoverTest extends FailoverTestBase
 {
    private static final Logger log = Logger.getLogger(FailoverTest.class);
+
    private ServerLocator locator;
 
    // Constants -----------------------------------------------------
@@ -101,7 +103,33 @@
       super.tearDown();
    }
 
-   //https://jira.jboss.org/browse/HORNETQ-522
+   protected ClientSession createSession(ClientSessionFactory sf,
+                                         boolean autoCommitSends,
+                                         boolean autoCommitAcks,
+                                         int ackBatchSize) throws Exception
+   {
+      return sf.createSession(autoCommitSends, autoCommitAcks, ackBatchSize);
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf, boolean autoCommitSends, boolean autoCommitAcks) throws Exception
+   {
+      return sf.createSession(autoCommitSends, autoCommitAcks);
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf) throws Exception
+   {
+      return sf.createSession();
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf,
+                                         boolean xa,
+                                         boolean autoCommitSends,
+                                         boolean autoCommitAcks) throws Exception
+   {
+      return sf.createSession(xa, autoCommitSends, autoCommitAcks);
+   }
+
+   // https://jira.jboss.org/browse/HORNETQ-522
    public void testNonTransactedWithZeroConsumerWindowSize() throws Exception
    {
       locator.setBlockOnNonDurableSend(true);
@@ -111,11 +139,10 @@
 
       ClientSessionFactoryInternal sf = (ClientSessionFactoryInternal)locator.createSessionFactory();
 
-      ClientSession session = sf.createSession(true, true);
+      ClientSession session = createSession(sf, true, true);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
-
       ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS);
 
       final int numMessages = 100;
@@ -133,11 +160,12 @@
 
       int winSize = 0;
       ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS, null, winSize, 100, false);
-      
+
       final List<ClientMessage> received = new ArrayList<ClientMessage>();
-      
-      consumer.setMessageHandler(new MessageHandler() {
 
+      consumer.setMessageHandler(new MessageHandler()
+      {
+
          public void onMessage(ClientMessage message)
          {
             received.add(message);
@@ -151,13 +179,13 @@
                e.printStackTrace();
             }
          }
-         
+
       });
 
       session.start();
-      
+
       crash(session);
-      
+
       int retry = 0;
       while (received.size() >= numMessages)
       {
@@ -172,7 +200,7 @@
       session.close();
 
       sf.close();
-      
+
       Assert.assertTrue(retry <= 5);
 
       Assert.assertEquals(0, sf.numSessions());
@@ -190,7 +218,7 @@
 
       sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, true);
+      ClientSession session = createSession(sf, true, true);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -250,7 +278,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(false, false);
+      ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -309,7 +337,7 @@
       for (int i = 0; i < numMessages; i++)
       {
          ClientMessage message = consumer.receive(1000);
-         
+
          assertNotNull(message);
 
          message.acknowledge();
@@ -326,8 +354,6 @@
       Assert.assertEquals(0, sf.numConnections());
    }
 
- 
-
    // https://jira.jboss.org/jira/browse/HORNETQ-285
    public void testFailoverOnInitialConnection() throws Exception
    {
@@ -336,13 +362,12 @@
       locator.setFailoverOnInitialConnection(true);
       locator.setReconnectAttempts(-1);
 
-
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
       // Crash live server
       crash();
 
-      ClientSession session = sf.createSession();
+      ClientSession session = createSession(sf);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -395,7 +420,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(false, false);
+      ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -458,7 +483,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(false, false);
+      ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -529,7 +554,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(false, false);
+      ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -601,7 +626,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(false, false);
+      ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -636,7 +661,7 @@
 
       session.close();
 
-      session = sf.createSession(false, false);
+      session = createSession(sf, false, false);
 
       consumer = session.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -681,7 +706,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session1 = sf.createSession(false, false);
+      ClientSession session1 = createSession(sf, false, false);
 
       session1.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -702,7 +727,7 @@
 
       session1.commit();
 
-      ClientSession session2 = sf.createSession(false, false);
+      ClientSession session2 = createSession(sf, false, false);
 
       ClientConsumer consumer = session2.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -755,7 +780,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session1 = sf.createSession(false, false);
+      ClientSession session1 = createSession(sf, false, false);
 
       session1.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -776,7 +801,7 @@
 
       session1.commit();
 
-      ClientSession session2 = sf.createSession(false, false);
+      ClientSession session2 = createSession(sf, false, false);
 
       ClientConsumer consumer = session2.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -841,7 +866,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, false, false);
+      ClientSession session = createSession(sf, true, false, false);
 
       Xid xid = new XidImpl("uhuhuhu".getBytes(), 126512, "auhsduashd".getBytes());
 
@@ -902,7 +927,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, false, false);
+      ClientSession session = createSession(sf, true, false, false);
 
       Xid xid = new XidImpl("uhuhuhu".getBytes(), 126512, "auhsduashd".getBytes());
 
@@ -966,7 +991,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, false, false);
+      ClientSession session = createSession(sf, true, false, false);
 
       Xid xid = new XidImpl("uhuhuhu".getBytes(), 126512, "auhsduashd".getBytes());
 
@@ -1031,7 +1056,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, false, false);
+      ClientSession session = createSession(sf, true, false, false);
 
       Xid xid = new XidImpl("uhuhuhu".getBytes(), 126512, "auhsduashd".getBytes());
 
@@ -1111,7 +1136,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session1 = sf.createSession(false, false);
+      ClientSession session1 = createSession(sf, false, false);
 
       session1.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1132,7 +1157,7 @@
 
       session1.commit();
 
-      ClientSession session2 = sf.createSession(true, false, false);
+      ClientSession session2 = createSession(sf, true, false, false);
 
       ClientConsumer consumer = session2.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -1187,7 +1212,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session1 = sf.createSession(false, false);
+      ClientSession session1 = createSession(sf, false, false);
 
       session1.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1208,7 +1233,7 @@
 
       session1.commit();
 
-      ClientSession session2 = sf.createSession(true, false, false);
+      ClientSession session2 = createSession(sf, true, false, false);
 
       ClientConsumer consumer = session2.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -1265,7 +1290,7 @@
       locator.setReconnectAttempts(-1);
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
-      ClientSession session1 = sf.createSession(false, false);
+      ClientSession session1 = createSession(sf, false, false);
 
       session1.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1286,7 +1311,7 @@
 
       session1.commit();
 
-      ClientSession session2 = sf.createSession(true, false, false);
+      ClientSession session2 = createSession(sf, true, false, false);
 
       ClientConsumer consumer = session2.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -1352,7 +1377,7 @@
 
       Thread.sleep(5000);
 
-      sf = (ClientSessionFactoryInternal) locator.createSessionFactory();
+      sf = (ClientSessionFactoryInternal)locator.createSessionFactory();
 
       session = sendAndConsume(sf, true);
 
@@ -1381,7 +1406,7 @@
 
       for (int i = 0; i < numSessions; i++)
       {
-         ClientSession session = sf.createSession(true, true);
+         ClientSession session = createSession(sf, true, true);
 
          List<ClientConsumer> consumers = new ArrayList<ClientConsumer>();
 
@@ -1399,7 +1424,7 @@
          sessionConsumerMap.put(session, consumers);
       }
 
-      ClientSession sendSession = sf.createSession(true, true);
+      ClientSession sendSession = createSession(sf, true, true);
 
       ClientProducer producer = sendSession.createProducer(FailoverTestBase.ADDRESS);
 
@@ -1421,7 +1446,6 @@
       sessionSet.toArray(sessions);
       crash(sessions);
 
-
       for (ClientSession session : sessionConsumerMap.keySet())
       {
          session.start();
@@ -1470,7 +1494,7 @@
       locator.setReconnectAttempts(-1);
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
-      ClientSession session = sf.createSession(true, true);
+      ClientSession session = createSession(sf, true, true);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1541,7 +1565,7 @@
 
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, true);
+      ClientSession session = createSession(sf, true, true);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1614,7 +1638,7 @@
       locator.setReconnectAttempts(-1);
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, true, 0);
+      ClientSession session = createSession(sf, true, true, 0);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1717,7 +1741,7 @@
       locator.setReconnectAttempts(-1);
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      ClientSession session = sf.createSession(true, true, 0);
+      ClientSession session = createSession(sf, true, true, 0);
 
       if (temporary)
       {
@@ -1728,7 +1752,6 @@
          session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, durable);
       }
 
-
       ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS);
 
       final int numMessages = 100;
@@ -1778,16 +1801,14 @@
       locator.setBlockOnDurableSend(true);
       locator.setBlockOnAcknowledge(true);
       locator.setReconnectAttempts(-1);
-      ClientSessionFactoryInternal sf = (ClientSessionFactoryInternal) locator.createSessionFactory();
+      ClientSessionFactoryInternal sf = (ClientSessionFactoryInternal)locator.createSessionFactory();
 
       // Add an interceptor to delay the send method so we can get time to cause failover before it returns
 
-      //liveServer.getRemotingService().addInterceptor(new DelayInterceptor());
+      // liveServer.getRemotingService().addInterceptor(new DelayInterceptor());
 
+      final ClientSession session = createSession(sf, true, true, 0);
 
-
-      final ClientSession session = sf.createSession(true, true, 0);
-
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
       final ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS);
@@ -1846,7 +1867,7 @@
       locator.setBlockOnAcknowledge(true);
       final ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      final ClientSession session = sf.createSession(false, false);
+      final ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -1932,7 +1953,7 @@
 
       session.close();
 
-      ClientSession session2 = sf.createSession(false, false);
+      ClientSession session2 = createSession(sf, false, false);
 
       producer = session2.createProducer(FailoverTestBase.ADDRESS);
 
@@ -1996,7 +2017,7 @@
       locator.setReconnectAttempts(-1);
       ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2);
 
-      final ClientSession session = sf.createSession(false, false);
+      final ClientSession session = createSession(sf, false, false);
 
       session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
 
@@ -2066,7 +2087,7 @@
 
       session.close();
 
-      ClientSession session2 = sf.createSession(false, false);
+      ClientSession session2 = createSession(sf, false, false);
 
       producer = session2.createProducer(FailoverTestBase.ADDRESS);
 
@@ -2144,7 +2165,10 @@
       backupServer.stop();
 
       liveServer.crash();
-      
+
+      // To reload security or other settings that are read during startup
+      beforeRestart(backupServer);
+
       backupServer.start();
 
       assertTrue(latch.await(5, TimeUnit.SECONDS));
@@ -2160,7 +2184,7 @@
       session.close();
 
       sf.close();
-      
+
       Assert.assertEquals(0, sf.numSessions());
 
       Assert.assertEquals(0, sf.numConnections());
@@ -2196,6 +2220,11 @@
 
       liveServer.crash();
 
+      beforeRestart(liveServer);
+
+      // To reload security or other settings that are read during startup
+      beforeRestart(liveServer);
+
       liveServer.start();
 
       assertTrue(latch.await(5, TimeUnit.SECONDS));
@@ -2247,6 +2276,9 @@
 
       liveServer.crash();
 
+      // To reload security or other settings that are read during startup
+      beforeRestart(liveServer);
+
       liveServer.start();
 
       assertTrue(latch.await(5, TimeUnit.SECONDS));
@@ -2263,14 +2295,14 @@
 
       sf.close();
 
-      sf = (ClientSessionFactoryInternal) locator.createSessionFactory();
+      sf = (ClientSessionFactoryInternal)locator.createSessionFactory();
 
-      session = sf.createSession();
+      session = createSession(sf);
 
       ClientConsumer cc = session.createConsumer(FailoverTestBase.ADDRESS);
 
       session.start();
-      
+
       ClientMessage cm = cc.receive(5000);
 
       assertNotNull(cm);
@@ -2278,7 +2310,7 @@
       Assert.assertEquals("message0", cm.getBodyBuffer().readString());
 
       session.close();
-      
+
       sf.close();
 
       Assert.assertEquals(0, sf.numSessions());
@@ -2316,6 +2348,9 @@
 
       liveServer.crash();
 
+      // To reload security or other settings that are read during startup
+      beforeRestart(backupServer);
+
       backupServer.start();
 
       assertTrue(latch.await(5, TimeUnit.SECONDS));
@@ -2332,9 +2367,9 @@
 
       sf.close();
 
-      sf = (ClientSessionFactoryInternal) locator.createSessionFactory();
+      sf = (ClientSessionFactoryInternal)locator.createSessionFactory();
 
-      session = sf.createSession();
+      session = createSession(sf);
 
       ClientConsumer cc = session.createConsumer(FailoverTestBase.ADDRESS);
 
@@ -2354,6 +2389,7 @@
 
       Assert.assertEquals(0, sf.numConnections());
    }
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------
@@ -2389,11 +2425,15 @@
       message.getBodyBuffer().writeString("message" + i);
    }
 
+   protected void beforeRestart(TestableServer liveServer)
+   {
+   }
+
    // Private -------------------------------------------------------
 
    private ClientSession sendAndConsume(final ClientSessionFactory sf, final boolean createQueue) throws Exception
    {
-      ClientSession session = sf.createSession(false, true, true);
+      ClientSession session = createSession(sf, false, true, true);
 
       if (createQueue)
       {
@@ -2440,5 +2480,4 @@
 
    // Inner classes -------------------------------------------------
 
-
 }

Added: trunk/tests/src/org/hornetq/tests/integration/cluster/failover/SecurityFailoverTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/failover/SecurityFailoverTest.java	                        (rev 0)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/failover/SecurityFailoverTest.java	2011-01-11 22:29:38 UTC (rev 10115)
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.tests.integration.cluster.failover;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.client.ClientSession;
+import org.hornetq.api.core.client.ClientSessionFactory;
+import org.hornetq.core.config.ClusterConnectionConfiguration;
+import org.hornetq.core.config.Configuration;
+import org.hornetq.core.security.Role;
+import org.hornetq.core.server.impl.InVMNodeManager;
+import org.hornetq.spi.core.security.HornetQSecurityManager;
+import org.hornetq.tests.integration.cluster.util.TestableServer;
+
+/**
+ * A SecurityFailoverTest
+ *
+ * @author clebertsuconic
+ *
+ *
+ */
+public class SecurityFailoverTest extends FailoverTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   protected ClientSession createSession(ClientSessionFactory sf,
+                                         boolean isXA,
+                                         boolean autoCommitSends,
+                                         boolean autoCommitAcks,
+                                         int ackBatchSize) throws Exception
+   {
+      return sf.createSession("a",
+                              "b",
+                              isXA,
+                              autoCommitSends,
+                              autoCommitAcks,
+                              sf.getServerLocator().isPreAcknowledge(),
+                              ackBatchSize);
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf,
+                                         boolean autoCommitSends,
+                                         boolean autoCommitAcks,
+                                         int ackBatchSize) throws Exception
+   {
+      return sf.createSession("a", "b", false, autoCommitSends, autoCommitAcks, sf.getServerLocator()
+                                                                                  .isPreAcknowledge(), ackBatchSize);
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf, boolean autoCommitSends, boolean autoCommitAcks) throws Exception
+   {
+      return createSession(sf, autoCommitSends, autoCommitAcks, sf.getServerLocator().getAckBatchSize());
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf) throws Exception
+   {
+      return createSession(sf, true, true, sf.getServerLocator().getAckBatchSize());
+   }
+
+   protected ClientSession createSession(ClientSessionFactory sf,
+                                         boolean xa,
+                                         boolean autoCommitSends,
+                                         boolean autoCommitAcks) throws Exception
+   {
+      return createSession(sf, xa, autoCommitSends, autoCommitAcks, sf.getServerLocator().getAckBatchSize());
+   }
+
+   /**
+    * @throws Exception
+    */
+   protected void createConfigs() throws Exception
+   {
+      nodeManager = new InVMNodeManager();
+
+      backupConfig = super.createDefaultConfig();
+      backupConfig.getAcceptorConfigurations().clear();
+      backupConfig.getAcceptorConfigurations().add(getAcceptorTransportConfiguration(false));
+      backupConfig.setSecurityEnabled(true);
+      backupConfig.setSharedStore(true);
+      backupConfig.setBackup(true);
+      backupConfig.setClustered(true);
+      TransportConfiguration liveConnector = getConnectorTransportConfiguration(true);
+      TransportConfiguration backupConnector = getConnectorTransportConfiguration(false);
+      backupConfig.getConnectorConfigurations().put(liveConnector.getName(), liveConnector);
+      backupConfig.getConnectorConfigurations().put(backupConnector.getName(), backupConnector);
+      ArrayList<String> staticConnectors = new ArrayList<String>();
+      staticConnectors.add(liveConnector.getName());
+      ClusterConnectionConfiguration cccLive = new ClusterConnectionConfiguration("cluster1",
+                                                                                  "jms",
+                                                                                  backupConnector.getName(),
+                                                                                  -1,
+                                                                                  false,
+                                                                                  false,
+                                                                                  1,
+                                                                                  1,
+                                                                                  staticConnectors,
+                                                                                  false);
+      backupConfig.getClusterConfigurations().add(cccLive);
+      backupServer = createBackupServer();
+
+      HornetQSecurityManager securityManager = installSecurity(backupServer);
+
+      securityManager.setDefaultUser(null);
+
+      liveConfig = super.createDefaultConfig();
+      liveConfig.getAcceptorConfigurations().clear();
+      liveConfig.getAcceptorConfigurations().add(getAcceptorTransportConfiguration(true));
+      liveConfig.setSecurityEnabled(true);
+      liveConfig.setSharedStore(true);
+      liveConfig.setClustered(true);
+      List<String> pairs = null;
+      ClusterConnectionConfiguration ccc0 = new ClusterConnectionConfiguration("cluster1",
+                                                                               "jms",
+                                                                               liveConnector.getName(),
+                                                                               -1,
+                                                                               false,
+                                                                               false,
+                                                                               1,
+                                                                               1,
+                                                                               pairs,
+                                                                               false);
+      liveConfig.getClusterConfigurations().add(ccc0);
+      liveConfig.getConnectorConfigurations().put(liveConnector.getName(), liveConnector);
+      liveServer = createLiveServer();
+
+      installSecurity(liveServer);
+   }
+
+   protected void beforeRestart(TestableServer server)
+   {
+      installSecurity(server);
+   }
+
+
+   /**
+    * @return
+    */
+   protected HornetQSecurityManager installSecurity(TestableServer server)
+   {
+      HornetQSecurityManager securityManager = server.getServer().getSecurityManager();
+      securityManager.addUser("a", "b");
+      Role role = new Role("arole", true, true, true, true, true, true, true);
+      Set<Role> roles = new HashSet<Role>();
+      roles.add(role);
+      server.getServer().getSecurityRepository().addMatch("#", roles);
+      securityManager.addRole("a", "arole");
+      return securityManager;
+   }
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/util/RemoteProcessHornetQServer.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/util/RemoteProcessHornetQServer.java	2011-01-11 18:17:01 UTC (rev 10114)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/util/RemoteProcessHornetQServer.java	2011-01-11 22:29:38 UTC (rev 10115)
@@ -22,6 +22,7 @@
 import org.hornetq.api.core.Interceptor;
 import org.hornetq.api.core.client.ClientSession;
 import org.hornetq.api.core.client.SessionFailureListener;
+import org.hornetq.core.server.HornetQServer;
 
 /**
  * A RemoteProcessHornetQServer
@@ -169,4 +170,12 @@
    {
       started = true;
    }
+
+   /* (non-Javadoc)
+    * @see org.hornetq.tests.integration.cluster.util.TestableServer#getServer()
+    */
+   public HornetQServer getServer()
+   {
+      return null;
+   }
 }

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/util/SameProcessHornetQServer.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/util/SameProcessHornetQServer.java	2011-01-11 18:17:01 UTC (rev 10114)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/util/SameProcessHornetQServer.java	2011-01-11 22:29:38 UTC (rev 10115)
@@ -109,6 +109,14 @@
       Assert.assertTrue(ok);
    }
 
+   /* (non-Javadoc)
+    * @see org.hornetq.tests.integration.cluster.util.TestableServer#getServer()
+    */
+   public HornetQServer getServer()
+   {
+      return server;
+   }
+
    // Constants -----------------------------------------------------
 
    // Attributes ----------------------------------------------------

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/util/TestableServer.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/util/TestableServer.java	2011-01-11 18:17:01 UTC (rev 10114)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/util/TestableServer.java	2011-01-11 22:29:38 UTC (rev 10115)
@@ -15,6 +15,7 @@
 
 import org.hornetq.api.core.Interceptor;
 import org.hornetq.api.core.client.ClientSession;
+import org.hornetq.core.server.HornetQServer;
 
 /**
  * A TestServer
@@ -25,10 +26,13 @@
  */
 public interface TestableServer
 {
+
+   HornetQServer getServer();
+
    public void start() throws Exception;
-   
+
    public void stop() throws Exception;
-   
+
    public void crash(ClientSession... sessions) throws Exception;
 
    public boolean isInitialised();



More information about the hornetq-commits mailing list