diff options
Diffstat (limited to 'java/broker/src/test/java/org/apache/qpid/server/logging')
23 files changed, 470 insertions, 297 deletions
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java b/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java index fabbe8640e..be31f3d039 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java @@ -20,7 +20,6 @@ */ package org.apache.qpid.server.logging; -import org.apache.qpid.server.configuration.ServerConfiguration; import java.util.LinkedList; import java.util.List; @@ -34,9 +33,9 @@ public class UnitTestMessageLogger extends AbstractRootMessageLogger } - public UnitTestMessageLogger(ServerConfiguration config) + public UnitTestMessageLogger(boolean statusUpdatesEnabled) { - super(config); + super(statusUpdatesEnabled); } public void rawMessage(String message, String logHierarchy) diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java index f739d3fcb9..e2472dbf01 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java @@ -20,9 +20,8 @@ */ package org.apache.qpid.server.logging.actors; -import org.apache.commons.configuration.ConfigurationException; - -import org.apache.qpid.AMQException; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.util.BrokerTestHelper; import java.util.List; @@ -38,24 +37,17 @@ import java.util.List; public class AMQPChannelActorTest extends BaseConnectionActorTestCase { - @Override - public void configure() + public void setUp() { - // Prevent defaulting Logging to ON + // do nothing } - - @Override - public void createBroker() throws Exception + private void setUpNow() throws Exception { - //prevent auto-broker startup - } + super.setUp(); + AMQChannel channel = BrokerTestHelper.createChannel(1, getSession()); - private void startBrokerNow() throws Exception - { - super.createBroker(); - - _amqpActor = new AMQPChannelActor(getChannel(), _rootLogger); + setAmqpActor(new AMQPChannelActor(channel, getRootLogger())); } @@ -68,13 +60,11 @@ public class AMQPChannelActorTest extends BaseConnectionActorTestCase */ public void testChannel() throws Exception { - getConfigXml().setProperty("status-updates", "ON"); - - startBrokerNow(); + setUpNow(); - final String message = sendTestLogMessage(_amqpActor); + final String message = sendTestLogMessage(getAmqpActor()); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 1, logs.size()); @@ -95,128 +85,22 @@ public class AMQPChannelActorTest extends BaseConnectionActorTestCase // Verify that the logged message contains the 'ch:1' marker assertTrue("Message was not logged as part of channel 1" + logs.get(0), logs.get(0).toString().contains("/ch:1")); - - } - - /** - * Test that if logging is configured to be off in the configuration that - * no logging is presented - * @throws ConfigurationException - * @throws AMQException - */ - public void testChannelLoggingOFF() throws Exception, AMQException - { - getConfigXml().setProperty("status-updates", "OFF"); - - // Start the broker now. - startBrokerNow(); - - sendTestLogMessage(_amqpActor); - - List<Object> logs = _rawLogger.getLogMessages(); - - assertEquals("Message log size not as expected.", 0, logs.size()); - - } - - /** - * Test that if logging is configured to be off in the configuration that - * no logging is presented - * @throws ConfigurationException - * @throws AMQException - */ - public void testChannelLoggingOfF() throws Exception, AMQException - { - getConfigXml().setProperty("status-updates", "OfF"); - - startBrokerNow(); - - sendTestLogMessage(_amqpActor); - - List<Object> logs = _rawLogger.getLogMessages(); - - assertEquals("Message log size not as expected.", 0, logs.size()); - - } - - /** - * Test that if logging is configured to be off in the configuration that - * no logging is presented - * @throws ConfigurationException - * @throws AMQException - */ - public void testChannelLoggingOff() throws Exception, AMQException - { - getConfigXml().setProperty("status-updates", "Off"); - - startBrokerNow(); - - sendTestLogMessage(_amqpActor); - - List<Object> logs = _rawLogger.getLogMessages(); - - assertEquals("Message log size not as expected.", 0, logs.size()); - } /** - * Test that if logging is configured to be off in the configuration that + * Test that if logging is configured to be off via system property that * no logging is presented - * @throws ConfigurationException - * @throws AMQException */ - public void testChannelLoggingofF() throws Exception, AMQException + public void testChannelLoggingOFF() throws Exception { - getConfigXml().setProperty("status-updates", "ofF"); + setStatusUpdatesEnabled(false); - startBrokerNow(); + setUpNow(); - sendTestLogMessage(_amqpActor); + sendTestLogMessage(getAmqpActor()); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 0, logs.size()); - } - - /** - * Test that if logging is configured to be off in the configuration that - * no logging is presented - * @throws ConfigurationException - * @throws AMQException - */ - public void testChannelLoggingoff() throws Exception, AMQException - { - getConfigXml().setProperty("status-updates", "off"); - - startBrokerNow(); - - sendTestLogMessage(_amqpActor); - - List<Object> logs = _rawLogger.getLogMessages(); - - assertEquals("Message log size not as expected.", 0, logs.size()); - - } - - /** - * Test that if logging is configured to be off in the configuration that - * no logging is presented - * @throws ConfigurationException - * @throws AMQException - */ - public void testChannelLoggingoFf() throws Exception, AMQException - { - getConfigXml().setProperty("status-updates", "oFf"); - - startBrokerNow(); - - sendTestLogMessage(_amqpActor); - - List<Object> logs = _rawLogger.getLogMessages(); - - assertEquals("Message log size not as expected.", 0, logs.size()); - - } - } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java index 4eda9e9da1..d1cf256563 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java @@ -38,16 +38,9 @@ import java.util.List; public class AMQPConnectionActorTest extends BaseConnectionActorTestCase { @Override - public void configure() + public void setUp() { - // Prevent defaulting Logging to ON - } - - - @Override - public void createBroker() - { - //Prevent auto-broker startup + //Prevent logger creation } /** @@ -60,13 +53,11 @@ public class AMQPConnectionActorTest extends BaseConnectionActorTestCase */ public void testConnection() throws Exception { - getConfigXml().setProperty("status-updates", "ON"); - - super.createBroker(); + super.setUp(); final String message = sendLogMessage(); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 1, logs.size()); @@ -90,14 +81,13 @@ public class AMQPConnectionActorTest extends BaseConnectionActorTestCase public void testConnectionLoggingOff() throws Exception, AMQException { - getConfigXml().setProperty("status-updates", "OFF"); + setStatusUpdatesEnabled(false); - // Start the broker now. - super.createBroker(); + super.setUp(); sendLogMessage(); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 0, logs.size()); @@ -107,7 +97,7 @@ public class AMQPConnectionActorTest extends BaseConnectionActorTestCase { final String message = "test logging"; - _amqpActor.message(new LogSubject() + getAmqpActor().message(new LogSubject() { public String toLogString() { diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AbstractManagementActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AbstractManagementActorTest.java new file mode 100644 index 0000000000..bf38bb64bf --- /dev/null +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AbstractManagementActorTest.java @@ -0,0 +1,86 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF 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.apache.qpid.server.logging.actors; + +import java.security.Principal; +import java.security.PrivilegedAction; +import java.util.Collections; + +import javax.security.auth.Subject; + +import org.apache.qpid.server.logging.NullRootMessageLogger; +import org.apache.qpid.server.security.auth.TestPrincipalUtils; +import org.apache.qpid.test.utils.QpidTestCase; + +public class AbstractManagementActorTest extends QpidTestCase +{ + private AbstractManagementActor _logActor; + + @Override + public void setUp() + { + _logActor = new AbstractManagementActor(new NullRootMessageLogger(), AbstractManagementActor.UNKNOWN_PRINCIPAL) + { + @Override + public String getLogMessage() + { + return null; + } + }; + } + + public void testGetPrincipalName() + { + Subject subject = TestPrincipalUtils.createTestSubject("guest"); + + final String principalName = Subject.doAs(subject, + new PrivilegedAction<String>() + { + public String run() + { + return _logActor.getPrincipalName(); + } + }); + + assertEquals("guest", principalName); + } + + public void testGetPrincipalNameUsingSubjectWithoutAuthenticatedPrincipal() + { + Subject subject = new Subject(true, Collections.<Principal>emptySet(), Collections.emptySet(), Collections.emptySet()); + + final String principalName = Subject.doAs(subject, + new PrivilegedAction<String>() + { + public String run() + { + return _logActor.getPrincipalName(); + } + }); + + assertEquals(AbstractManagementActor.UNKNOWN_PRINCIPAL, principalName); + } + + public void testGetPrincipalWithoutSubject() + { + assertEquals(AbstractManagementActor.UNKNOWN_PRINCIPAL, _logActor.getPrincipalName()); + } +} diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java index ec2cdd5585..30c3a51604 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java @@ -20,39 +20,39 @@ */ package org.apache.qpid.server.logging.actors; -import org.apache.qpid.server.configuration.ServerConfiguration; import org.apache.qpid.server.logging.LogActor; import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.RootMessageLogger; import org.apache.qpid.server.logging.UnitTestMessageLogger; -import org.apache.qpid.server.util.InternalBrokerBaseCase; +import org.apache.qpid.test.utils.QpidTestCase; -public class BaseActorTestCase extends InternalBrokerBaseCase +public class BaseActorTestCase extends QpidTestCase { - protected LogActor _amqpActor; - protected UnitTestMessageLogger _rawLogger; - protected RootMessageLogger _rootLogger; + private boolean _statusUpdatesEnabled = true; + private LogActor _amqpActor; + private UnitTestMessageLogger _rawLogger; + private RootMessageLogger _rootLogger; @Override - public void configure() + public void setUp() throws Exception { - getConfiguration().getConfig().setProperty(ServerConfiguration.STATUS_UPDATES, "on"); - } - - @Override - public void createBroker() throws Exception - { - super.createBroker(); - - _rawLogger = new UnitTestMessageLogger(getConfiguration()); + super.setUp(); + CurrentActor.removeAll(); + CurrentActor.setDefault(null); + _rawLogger = new UnitTestMessageLogger(_statusUpdatesEnabled); _rootLogger = _rawLogger; } + @Override public void tearDown() throws Exception { - _rawLogger.clearLogMessages(); - + if(_rawLogger != null) + { + _rawLogger.clearLogMessages(); + } + CurrentActor.removeAll(); + CurrentActor.setDefault(null); super.tearDown(); } @@ -87,4 +87,34 @@ public class BaseActorTestCase extends InternalBrokerBaseCase }); } + public boolean isStatusUpdatesEnabled() + { + return _statusUpdatesEnabled; + } + + public void setStatusUpdatesEnabled(boolean statusUpdatesEnabled) + { + _statusUpdatesEnabled = statusUpdatesEnabled; + } + + public LogActor getAmqpActor() + { + return _amqpActor; + } + + public void setAmqpActor(LogActor amqpActor) + { + _amqpActor = amqpActor; + } + + public UnitTestMessageLogger getRawLogger() + { + return _rawLogger; + } + + public RootMessageLogger getRootLogger() + { + return _rootLogger; + } + } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseConnectionActorTestCase.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseConnectionActorTestCase.java index 956d296dce..09dd48e4d3 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseConnectionActorTestCase.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseConnectionActorTestCase.java @@ -20,14 +20,43 @@ */ package org.apache.qpid.server.logging.actors; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.util.BrokerTestHelper; + public class BaseConnectionActorTestCase extends BaseActorTestCase { + private AMQProtocolSession _session; @Override - public void createBroker() throws Exception + public void setUp() throws Exception { - super.createBroker(); + super.setUp(); + BrokerTestHelper.setUp(); + _session = BrokerTestHelper.createSession(); + + setAmqpActor(new AMQPConnectionActor(_session, getRootLogger())); + } - _amqpActor = new AMQPConnectionActor(getSession(), _rootLogger); + @Override + public void tearDown() throws Exception + { + try + { + if (_session != null) + { + _session.getVirtualHost().close(); + } + } + finally + { + BrokerTestHelper.tearDown(); + super.tearDown(); + } } + + public AMQProtocolSession getSession() + { + return _session; + } + } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java index f73765f5aa..8ea5510ce6 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java @@ -70,12 +70,7 @@ public class CurrentActorTest extends BaseConnectionActorTestCase */ public void testLIFO() throws AMQException, ConfigurationException { - // This test only needs the local objects created, _session etc. - // So stopping the broker and making them useless will not affect the - // test, but the extra actors the test broker adds will so by stopping - // we remove the session actor and so all is good. - stopBroker(); - + assertTrue("Unexpected actor: " + CurrentActor.get(), CurrentActor.get() instanceof TestLogActor); AMQPConnectionActor connectionActor = new AMQPConnectionActor(getSession(), new NullRootMessageLogger()); diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/HttpManagementActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/HttpManagementActorTest.java new file mode 100644 index 0000000000..905de4b639 --- /dev/null +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/HttpManagementActorTest.java @@ -0,0 +1,94 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF 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.apache.qpid.server.logging.actors; + +import javax.security.auth.Subject; + +import org.apache.qpid.server.security.auth.TestPrincipalUtils; + +import java.security.PrivilegedAction; +import java.util.List; + +public class HttpManagementActorTest extends BaseActorTestCase +{ + private static final String IP = "127.0.0.1"; + private static final int PORT = 1; + private static final String SUFFIX = "(" + IP + ":" + PORT + ")] "; + + @Override + public void setUp() throws Exception + { + super.setUp(); + setAmqpActor(new HttpManagementActor(getRootLogger(), IP, PORT)); + } + + public void testSubjectPrincipalNameAppearance() + { + Subject subject = TestPrincipalUtils.createTestSubject("guest"); + + final String message = Subject.doAs(subject, new PrivilegedAction<String>() + { + public String run() + { + return sendTestLogMessage(getAmqpActor()); + } + }); + + assertNotNull("Test log message is not created!", message); + + List<Object> logs = getRawLogger().getLogMessages(); + assertEquals("Message log size not as expected.", 1, logs.size()); + + String logMessage = logs.get(0).toString(); + assertTrue("Message was not found in log message", logMessage.contains(message)); + assertTrue("Message does not contain expected value: " + logMessage, logMessage.contains("[mng:guest" + SUFFIX)); + } + + /** It's necessary to test successive calls because HttpManagementActor caches + * its log message based on principal name */ + public void testGetLogMessageCaching() + { + assertLogMessageWithoutPrincipal(); + assertLogMessageWithPrincipal("my_principal"); + assertLogMessageWithPrincipal("my_principal2"); + assertLogMessageWithoutPrincipal(); + } + + private void assertLogMessageWithoutPrincipal() + { + String message = getAmqpActor().getLogMessage(); + assertEquals("Unexpected log message", "[mng:" + AbstractManagementActor.UNKNOWN_PRINCIPAL + SUFFIX, message); + } + + private void assertLogMessageWithPrincipal(String principalName) + { + Subject subject = TestPrincipalUtils.createTestSubject(principalName); + final String message = Subject.doAs(subject, new PrivilegedAction<String>() + { + public String run() + { + return getAmqpActor().getLogMessage(); + } + }); + + assertEquals("Unexpected log message", "[mng:" + principalName + SUFFIX, message); + } +} diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java index cb866245f0..a0bfa592db 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java @@ -20,10 +20,11 @@ */ package org.apache.qpid.server.logging.actors; -import javax.management.remote.JMXPrincipal; import javax.security.auth.Subject; + +import org.apache.qpid.server.security.auth.TestPrincipalUtils; + import java.security.PrivilegedAction; -import java.util.Collections; import java.util.List; public class ManagementActorTest extends BaseActorTestCase @@ -34,10 +35,10 @@ public class ManagementActorTest extends BaseActorTestCase private String _threadName; @Override - public void createBroker() throws Exception + public void setUp() throws Exception { - super.createBroker(); - _amqpActor = new ManagementActor(_rootLogger); + super.setUp(); + setAmqpActor(new ManagementActor(getRootLogger())); // Set the thread name to be the same as a RMI JMX Connection would use _threadName = Thread.currentThread().getName(); @@ -56,14 +57,14 @@ public class ManagementActorTest extends BaseActorTestCase * * The test sends a message then verifies that it entered the logs. * - * The log message should be fully repalaced (no '{n}' values) and should + * The log message should be fully replaced (no '{n}' values) and should * not contain any channel identification. */ public void testConnection() { - final String message = sendTestLogMessage(_amqpActor); + final String message = sendTestLogMessage(getAmqpActor()); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 1, logs.size()); @@ -94,21 +95,20 @@ public class ManagementActorTest extends BaseActorTestCase */ public void testSubjectPrincipalNameAppearance() { - Subject subject = new Subject(true, Collections.singleton(new JMXPrincipal("guest")), Collections.EMPTY_SET, - Collections.EMPTY_SET); + Subject subject = TestPrincipalUtils.createTestSubject("guest"); final String message = Subject.doAs(subject, new PrivilegedAction<String>() { public String run() { - return sendTestLogMessage(_amqpActor); + return sendTestLogMessage(getAmqpActor()); } }); // Verify that the log message was created assertNotNull("Test log message is not created!", message); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); // Verify that at least one log message was added to log assertEquals("Message log size not as expected.", 1, logs.size()); @@ -130,8 +130,8 @@ public class ManagementActorTest extends BaseActorTestCase public void testGetLogMessageWithoutSubjectButWithActorPrincipal() { String principalName = "my_principal"; - _amqpActor = new ManagementActor(_rootLogger, principalName); - String message = _amqpActor.getLogMessage(); + setAmqpActor(new ManagementActor(getRootLogger(), principalName)); + String message = getAmqpActor().getLogMessage(); assertEquals("Unexpected log message", "[mng:" + principalName + "(" + IP + ")] ", message); } @@ -149,7 +149,7 @@ public class ManagementActorTest extends BaseActorTestCase assertLogMessageInRMIThreadWithPrincipal("RMI TCP Connection(1)-" + IP, "my_principal"); Thread.currentThread().setName("RMI TCP Connection(2)-" + IP ); - String message = _amqpActor.getLogMessage(); + String message = getAmqpActor().getLogMessage(); assertEquals("Unexpected log message", "[mng:N/A(" + IP + ")] ", message); assertLogMessageWithoutPrincipal("TEST"); @@ -158,28 +158,26 @@ public class ManagementActorTest extends BaseActorTestCase private void assertLogMessageInRMIThreadWithoutPrincipal(String threadName) { Thread.currentThread().setName(threadName ); - String message = _amqpActor.getLogMessage(); + String message = getAmqpActor().getLogMessage(); assertEquals("Unexpected log message", "[mng:N/A(" + IP + ")] ", message); } private void assertLogMessageWithoutPrincipal(String threadName) { Thread.currentThread().setName(threadName ); - String message = _amqpActor.getLogMessage(); + String message = getAmqpActor().getLogMessage(); assertEquals("Unexpected log message", "[" + threadName +"] ", message); } private void assertLogMessageInRMIThreadWithPrincipal(String threadName, String principalName) { Thread.currentThread().setName(threadName); - Subject subject = new Subject(true, Collections.singleton(new JMXPrincipal(principalName)), Collections.EMPTY_SET, - Collections.EMPTY_SET); - + Subject subject = TestPrincipalUtils.createTestSubject(principalName); final String message = Subject.doAs(subject, new PrivilegedAction<String>() { public String run() { - return _amqpActor.getLogMessage(); + return getAmqpActor().getLogMessage(); } }); diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/QueueActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/QueueActorTest.java index 409f7c84b7..2dc44c58ce 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/QueueActorTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/QueueActorTest.java @@ -22,14 +22,16 @@ package org.apache.qpid.server.logging.actors; import java.util.List; +import org.apache.qpid.server.util.BrokerTestHelper; + public class QueueActorTest extends BaseConnectionActorTestCase { @Override - public void createBroker() throws Exception + public void setUp() throws Exception { - super.createBroker(); - _amqpActor = new QueueActor(getQueue(), _rootLogger); + super.setUp(); + setAmqpActor(new QueueActor(BrokerTestHelper.createQueue(getName(), getSession().getVirtualHost()), getRootLogger())); } /** @@ -42,9 +44,9 @@ public class QueueActorTest extends BaseConnectionActorTestCase */ public void testQueueActor() { - final String message = sendTestLogMessage(_amqpActor); + final String message = sendTestLogMessage(getAmqpActor()); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 1, logs.size()); diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/SubscriptionActorTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/SubscriptionActorTest.java index 8eaa165853..58fca488c4 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/actors/SubscriptionActorTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/actors/SubscriptionActorTest.java @@ -21,6 +21,7 @@ package org.apache.qpid.server.logging.actors; import org.apache.qpid.server.subscription.MockSubscription; +import org.apache.qpid.server.util.BrokerTestHelper; import java.util.List; @@ -37,15 +38,15 @@ public class SubscriptionActorTest extends BaseConnectionActorTestCase { @Override - public void createBroker() throws Exception + public void setUp() throws Exception { - super.createBroker(); + super.setUp(); MockSubscription mockSubscription = new MockSubscription(); - mockSubscription.setQueue(getQueue(), false); + mockSubscription.setQueue(BrokerTestHelper.createQueue(getName(), getSession().getVirtualHost()), false); - _amqpActor = new SubscriptionActor(_rootLogger, mockSubscription); + setAmqpActor(new SubscriptionActor(getRootLogger(), mockSubscription)); } /** @@ -58,9 +59,9 @@ public class SubscriptionActorTest extends BaseConnectionActorTestCase */ public void testSubscription() { - final String message = sendTestLogMessage(_amqpActor); + final String message = sendTestLogMessage(getAmqpActor()); - List<Object> logs = _rawLogger.getLogMessages(); + List<Object> logs = getRawLogger().getLogMessages(); assertEquals("Message log size not as expected.", 1, logs.size()); diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/log4j/LoggingFacadeTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/log4j/LoggingManagementFacadeTest.java index f871baffe6..72b34868ba 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/log4j/LoggingFacadeTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/log4j/LoggingManagementFacadeTest.java @@ -20,17 +20,19 @@ package org.apache.qpid.server.logging.log4j; import java.io.File; +import java.io.InputStream; import java.util.List; import java.util.Map; import org.apache.log4j.Level; +import org.apache.qpid.test.utils.TestFileUtils; import org.apache.qpid.util.FileUtils; import junit.framework.TestCase; -public class LoggingFacadeTest extends TestCase +public class LoggingManagementFacadeTest extends TestCase { - private LoggingFacade _loggingFacade; + private LoggingManagementFacade _loggingFacade; private String _log4jXmlFile; @Override @@ -38,7 +40,7 @@ public class LoggingFacadeTest extends TestCase { super.setUp(); _log4jXmlFile = createTestLog4jXml(); - _loggingFacade = LoggingFacade.configure(_log4jXmlFile); + _loggingFacade = LoggingManagementFacade.configure(_log4jXmlFile); } public void testGetAvailableLoggerLevels() throws Exception @@ -236,10 +238,6 @@ public class LoggingFacadeTest extends TestCase private String createTestLog4jXml() throws Exception { - File dst = File.createTempFile("log4j." + getName(), "xml"); - File filename = new File(getClass().getResource("LoggingFacadeTest.log4j.xml").toURI()); - FileUtils.copy(filename, dst); - dst.deleteOnExit(); - return dst.getAbsolutePath(); + return TestFileUtils.createTempFileFromResource(this, "LoggingFacadeTest.log4j.xml").getAbsolutePath(); } } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java index 24e7225d82..229d75c69f 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java @@ -29,11 +29,12 @@ import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.UnitTestMessageLogger; import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.logging.subjects.TestBlankSubject; -import org.apache.qpid.server.util.InternalBrokerBaseCase; +import org.apache.qpid.server.util.BrokerTestHelper; +import org.apache.qpid.test.utils.QpidTestCase; import java.util.List; -public abstract class AbstractTestMessages extends InternalBrokerBaseCase +public abstract class AbstractTestMessages extends QpidTestCase { protected Configuration _config = new PropertiesConfiguration(); protected LogMessage _logMessage = null; @@ -49,6 +50,14 @@ public abstract class AbstractTestMessages extends InternalBrokerBaseCase _logger = new UnitTestMessageLogger(); _actor = new TestLogActor(_logger); + BrokerTestHelper.setUp(); + } + + @Override + public void tearDown() throws Exception + { + BrokerTestHelper.tearDown(); + super.tearDown(); } protected List<Object> performLog() diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java index 4364376000..1cb4da55c3 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java @@ -21,7 +21,7 @@ package org.apache.qpid.server.logging.messages; import org.apache.qpid.server.exchange.Exchange; -import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.BrokerTestHelper; import java.util.List; @@ -30,12 +30,9 @@ import java.util.List; */ public class ExchangeMessagesTest extends AbstractTestMessages { - public void testExchangeCreated_Transient() + public void testExchangeCreated_Transient() throws Exception { - // Get the Default Exchange on the Test Vhost for testing - Exchange exchange = ApplicationRegistry.getInstance(). - getVirtualHostRegistry().getVirtualHost("test"). - getExchangeRegistry().getDefaultExchange(); + Exchange exchange = BrokerTestHelper.createExchange("test"); String type = exchange.getTypeShortString().toString(); String name = exchange.getNameShortString().toString(); @@ -48,12 +45,9 @@ public class ExchangeMessagesTest extends AbstractTestMessages validateLogMessage(log, "EXH-1001", expected); } - public void testExchangeCreated_Persistent() + public void testExchangeCreated_Persistent() throws Exception { - // Get the Default Exchange on the Test Vhost for testing - Exchange exchange = ApplicationRegistry.getInstance(). - getVirtualHostRegistry().getVirtualHost("test"). - getExchangeRegistry().getDefaultExchange(); + Exchange exchange = BrokerTestHelper.createExchange("test"); String type = exchange.getTypeShortString().toString(); String name = exchange.getNameShortString().toString(); @@ -76,12 +70,9 @@ public class ExchangeMessagesTest extends AbstractTestMessages validateLogMessage(log, "EXH-1002", expected); } - public void testExchangeDiscardedMessage() + public void testExchangeDiscardedMessage() throws Exception { - // Get the Default Exchange on the Test Vhost for testing - final Exchange exchange = ApplicationRegistry.getInstance(). - getVirtualHostRegistry().getVirtualHost("test"). - getExchangeRegistry().getDefaultExchange(); + Exchange exchange = BrokerTestHelper.createExchange("test"); final String name = exchange.getNameShortString().toString(); final String routingKey = "routingKey"; diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java index 4bfbae44ac..dfc9357402 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java @@ -29,10 +29,10 @@ public class ManagementConsoleMessagesTest extends AbstractTestMessages { public void testManagementStartup() { - _logMessage = ManagementConsoleMessages.STARTUP(); + _logMessage = ManagementConsoleMessages.STARTUP("My"); List<Object> log = performLog(); - String[] expected = {"Startup"}; + String[] expected = {"My Management Startup"}; validateLogMessage(log, "MNG-1001", expected); } @@ -65,29 +65,20 @@ public class ManagementConsoleMessagesTest extends AbstractTestMessages public void testManagementReady() { - _logMessage = ManagementConsoleMessages.READY(false); + _logMessage = ManagementConsoleMessages.READY("My"); List<Object> log = performLog(); - String[] expected = {"Ready"}; - - validateLogMessage(log, "MNG-1004", expected); - - _logger.clearLogMessages(); - - _logMessage = ManagementConsoleMessages.READY(true); - log = performLog(); - - expected = new String[]{"Ready : Using the platform JMX Agent"}; + String[] expected = {"My Management Ready"}; validateLogMessage(log, "MNG-1004", expected); } public void testManagementStopped() { - _logMessage = ManagementConsoleMessages.STOPPED(); + _logMessage = ManagementConsoleMessages.STOPPED("My"); List<Object> log = performLog(); - String[] expected = {"Stopped"}; + String[] expected = {"My Management Stopped"}; validateLogMessage(log, "MNG-1005", expected); } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java index c2558d2d1b..193e8a490d 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java @@ -20,21 +20,19 @@ */ package org.apache.qpid.server.logging.subjects; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.qpid.framing.AMQShortString; -import org.apache.qpid.server.configuration.ServerConfiguration; import org.apache.qpid.server.exchange.Exchange; import org.apache.qpid.server.logging.LogActor; import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.UnitTestMessageLogger; +import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.queue.AMQQueue; -import org.apache.qpid.server.util.InternalBrokerBaseCase; +import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; +import org.apache.qpid.test.utils.QpidTestCase; import java.util.List; @@ -49,29 +47,39 @@ import java.util.List; * The resulting log file is then validated. * */ -public abstract class AbstractTestLogSubject extends InternalBrokerBaseCase +public abstract class AbstractTestLogSubject extends QpidTestCase { - protected Configuration _config = new PropertiesConfiguration(); protected LogSubject _subject = null; @Override public void setUp() throws Exception { super.setUp(); - - _config.setProperty(ServerConfiguration.STATUS_UPDATES, "ON"); + BrokerTestHelper.setUp(); } + @Override + public void tearDown() throws Exception + { + BrokerTestHelper.tearDown(); + try + { + CurrentActor.removeAll(); + } + finally + { + super.tearDown(); + } + } - protected List<Object> performLog() throws ConfigurationException + protected List<Object> performLog(boolean statusUpdatesEnabled) { if (_subject == null) { throw new NullPointerException("LogSubject has not been set"); } - ServerConfiguration serverConfig = new ServerConfiguration(_config); - UnitTestMessageLogger logger = new UnitTestMessageLogger(serverConfig); + UnitTestMessageLogger logger = new UnitTestMessageLogger(statusUpdatesEnabled); LogActor actor = new TestLogActor(logger); @@ -247,11 +255,10 @@ public abstract class AbstractTestLogSubject extends InternalBrokerBaseCase /** * Test that when Logging occurs a single log statement is provided * - * @throws ConfigurationException */ - public void testEnabled() throws ConfigurationException + public void testEnabled() { - List<Object> logs = performLog(); + List<Object> logs = performLog(true); assertEquals("Log has incorrect message count", 1, logs.size()); @@ -267,15 +274,11 @@ public abstract class AbstractTestLogSubject extends InternalBrokerBaseCase protected abstract void validateLogStatement(String message); /** - * Ensure that when status-updates are off this does not perform logging - * - * @throws ConfigurationException + * Ensure that when status updates are off this does not perform logging */ - public void testDisabled() throws ConfigurationException + public void testDisabled() { - _config.setProperty(ServerConfiguration.STATUS_UPDATES, "OFF"); - - List<Object> logs = performLog(); + List<Object> logs = performLog(false); assertEquals("Log has incorrect message count", 0, logs.size()); } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java index e80c4c4679..dd8d28e836 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java @@ -24,7 +24,7 @@ import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.server.exchange.Exchange; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.MockAMQQueue; -import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; /** @@ -38,13 +38,12 @@ public class BindingLogSubjectTest extends AbstractTestLogSubject private Exchange _exchange; private VirtualHost _testVhost; + @Override public void setUp() throws Exception { super.setUp(); - _testVhost = ApplicationRegistry.getInstance().getVirtualHostRegistry(). - getVirtualHost("test"); - // Configure items for subjectCreation + _testVhost = BrokerTestHelper.createVirtualHost("test"); _routingKey = new AMQShortString("RoutingKey"); _exchange = _testVhost.getExchangeRegistry().getDefaultExchange(); _queue = new MockAMQQueue("BindingLogSubjectTest"); @@ -53,6 +52,16 @@ public class BindingLogSubjectTest extends AbstractTestLogSubject _subject = new BindingLogSubject(String.valueOf(_routingKey), _exchange, _queue); } + @Override + public void tearDown() throws Exception + { + if (_testVhost != null) + { + _testVhost.close(); + } + super.tearDown(); + } + /** * Validate that the logged Subject message is as expected: * MESSAGE [Blank][vh(/test)/ex(direct/<<default>>)/qu(BindingLogSubjectTest)/rk(RoutingKey)] <Log Message> diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java index 6bc5effa05..d75e033739 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java @@ -34,6 +34,7 @@ public class ChannelLogSubjectTest extends ConnectionLogSubjectTest { super.setUp(); + AMQChannel channel = new AMQChannel(getSession(), _channelID, getSession().getVirtualHost().getMessageStore()); _subject = new ChannelLogSubject(channel); diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java index c246fff2a8..7dc4c443ba 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java @@ -20,17 +20,34 @@ */ package org.apache.qpid.server.logging.subjects; +import org.apache.qpid.server.protocol.InternalTestProtocolSession; +import org.apache.qpid.server.util.BrokerTestHelper; + /** * Validate ConnectionLogSubjects are logged as expected */ public class ConnectionLogSubjectTest extends AbstractTestLogSubject { + private InternalTestProtocolSession _session; + + @Override public void setUp() throws Exception { super.setUp(); - _subject = new ConnectionLogSubject(getSession()); + _session = BrokerTestHelper.createSession("test"); + _subject = new ConnectionLogSubject(_session); + } + + @Override + public void tearDown() throws Exception + { + if (_session != null) + { + _session.getVirtualHost().close(); + } + super.tearDown(); } /** @@ -40,7 +57,12 @@ public class ConnectionLogSubjectTest extends AbstractTestLogSubject */ protected void validateLogStatement(String message) { - verifyConnection(getSession().getSessionID(), "InternalTestProtocolSession", "127.0.0.1:1", "test", message); + verifyConnection(_session.getSessionID(), "InternalTestProtocolSession", "127.0.0.1:1", "test", message); + } + + public InternalTestProtocolSession getSession() + { + return _session; } } diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubjectTest.java index cc06b05bf6..8d1b89bf3c 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubjectTest.java @@ -21,7 +21,7 @@ package org.apache.qpid.server.logging.subjects; import org.apache.qpid.server.exchange.Exchange; -import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; @@ -33,17 +33,27 @@ public class ExchangeLogSubjectTest extends AbstractTestLogSubject private Exchange _exchange; private VirtualHost _testVhost; + @Override public void setUp() throws Exception { super.setUp(); - _testVhost = ApplicationRegistry.getInstance().getVirtualHostRegistry(). - getVirtualHost("test"); + _testVhost = BrokerTestHelper.createVirtualHost("test"); _exchange = _testVhost.getExchangeRegistry().getDefaultExchange(); _subject = new ExchangeLogSubject(_exchange,_testVhost); } + @Override + public void tearDown() throws Exception + { + if (_testVhost != null) + { + _testVhost.close(); + } + super.tearDown(); + } + /** * Validate that the logged Subject message is as expected: * MESSAGE [Blank][vh(/test)/ex(direct/<<default>>)] <Log Message> diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/MessageStoreLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/MessageStoreLogSubjectTest.java index c62b24c3b9..65fd249d03 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/MessageStoreLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/MessageStoreLogSubjectTest.java @@ -20,7 +20,7 @@ */ package org.apache.qpid.server.logging.subjects; -import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; /** @@ -30,16 +30,26 @@ public class MessageStoreLogSubjectTest extends AbstractTestLogSubject { private VirtualHost _testVhost; + @Override public void setUp() throws Exception { super.setUp(); - _testVhost = ApplicationRegistry.getInstance().getVirtualHostRegistry(). - getVirtualHost("test"); + _testVhost = BrokerTestHelper.createVirtualHost("test"); _subject = new MessageStoreLogSubject(_testVhost, _testVhost.getMessageStore().getClass().getSimpleName()); } + @Override + public void tearDown() throws Exception + { + if (_testVhost != null) + { + _testVhost.close(); + } + super.tearDown(); + } + /** * Validate that the logged Subject message is as expected: * MESSAGE [Blank][vh(/test)/ms(MemoryMessageStore)] <Log Message> diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java index 1f432be57a..e2765f338b 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java @@ -22,7 +22,7 @@ package org.apache.qpid.server.logging.subjects; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.MockAMQQueue; -import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; /** @@ -39,8 +39,7 @@ public class QueueLogSubjectTest extends AbstractTestLogSubject { super.setUp(); - _testVhost = ApplicationRegistry.getInstance().getVirtualHostRegistry(). - getVirtualHost("test"); + _testVhost = BrokerTestHelper.createVirtualHost("test"); _queue = new MockAMQQueue("QueueLogSubjectTest"); ((MockAMQQueue) _queue).setVirtualHost(_testVhost); @@ -48,6 +47,16 @@ public class QueueLogSubjectTest extends AbstractTestLogSubject _subject = new QueueLogSubject(_queue); } + @Override + public void tearDown() throws Exception + { + if (_testVhost != null) + { + _testVhost.close(); + } + super.tearDown(); + } + /** * Validate that the logged Subject message is as expected: * MESSAGE [Blank][vh(/test)/qu(QueueLogSubjectTest)] <Log Message> diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java index 0c356e1838..153d01f355 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java @@ -23,12 +23,13 @@ package org.apache.qpid.server.logging.subjects; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.server.AMQChannel; import org.apache.qpid.server.flow.LimitlessCreditManager; +import org.apache.qpid.server.protocol.InternalTestProtocolSession; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.MockAMQQueue; -import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.subscription.Subscription; import org.apache.qpid.server.subscription.SubscriptionFactory; import org.apache.qpid.server.subscription.SubscriptionFactoryImpl; +import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; /** @@ -42,23 +43,24 @@ public class SubscriptionLogSubjectTest extends AbstractTestLogSubject private int _channelID = 1; private Subscription _subscription; + @Override public void setUp() throws Exception { super.setUp(); - _testVhost = ApplicationRegistry.getInstance().getVirtualHostRegistry(). - getVirtualHost("test"); + InternalTestProtocolSession session = BrokerTestHelper.createSession(); + _testVhost = session.getVirtualHost(); _queue = new MockAMQQueue("SubscriptionLogSubjectTest"); ((MockAMQQueue) _queue).setVirtualHost(_testVhost); - AMQChannel channel = new AMQChannel(getSession(), _channelID, getSession().getVirtualHost().getMessageStore()); + AMQChannel channel = new AMQChannel(session, _channelID, _testVhost.getMessageStore()); - getSession().addChannel(channel); + session.addChannel(channel); SubscriptionFactory factory = new SubscriptionFactoryImpl(); - _subscription = factory.createSubscription(_channelID, getSession(), new AMQShortString("cTag"), + _subscription = factory.createSubscription(_channelID, session, new AMQShortString("cTag"), false, null, false, new LimitlessCreditManager()); @@ -67,6 +69,16 @@ public class SubscriptionLogSubjectTest extends AbstractTestLogSubject _subject = new SubscriptionLogSubject(_subscription); } + @Override + public void tearDown() throws Exception + { + if (_testVhost != null) + { + _testVhost.close(); + } + super.tearDown(); + } + /** * Validate that the logged Subject message is as expected: * MESSAGE [Blank][sub:0(vh(/test)/qu(SubscriptionLogSubjectTest))] <Log Message> |