[jboss-cvs] JBoss Messaging SVN: r4766 - in branches/Branch_JBMESSAGING-1303: src/main/org/jboss/messaging/core/management/impl and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Aug 4 10:28:08 EDT 2008
Author: jmesnil
Date: 2008-08-04 10:28:08 -0400 (Mon, 04 Aug 2008)
New Revision: 4766
Modified:
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/ManagementService.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/AddressControl.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/NullManagementService.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
branches/Branch_JBMESSAGING-1303/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java
branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java
branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java
Log:
JBMESSAGING-1303: Revisit management interfaces
* unit tests + code clean up
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/ManagementService.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/ManagementService.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -47,9 +47,9 @@
void unregisterServer() throws Exception;
- void registerAddress(String address) throws Exception;
+ void registerAddress(SimpleString address) throws Exception;
- void unregisterAddress(String address) throws Exception;
+ void unregisterAddress(SimpleString address) throws Exception;
void registerQueue(Queue queue, SimpleString address, StorageManager storageManager)
throws Exception;
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -28,7 +28,6 @@
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.MessageReference;
import org.jboss.messaging.core.server.Queue;
import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.util.SimpleString;
@@ -115,13 +114,13 @@
*/
void removeAllMessagesForAddress(SimpleString address) throws Exception;
- void setSecurityForAddress(String address, Set<Role> roles) throws Exception;
+ void setSecurityForAddress(SimpleString address, Set<Role> roles) throws Exception;
- void removeSecurityForAddress(String address) throws Exception;
+ void removeSecurityForAddress(SimpleString address) throws Exception;
- Set<Role> getSecurityForAddress(String address) throws Exception;
+ Set<Role> getSecurityForAddress(SimpleString address) throws Exception;
- void setQueueAttributes(String queueName, QueueSettings settings) throws Exception;
+ void setQueueAttributes(SimpleString queueName, QueueSettings settings) throws Exception;
Configuration getConfiguration();
@@ -151,7 +150,7 @@
* @return
* @throws Exception
*/
- List<MessageReference> expireMessages(Filter filter,
+ int expireMessages(Filter filter,
SimpleString address) throws Exception;
/**
@@ -165,7 +164,7 @@
* @param simpleAddress
* @return
*/
- List<MessageReference> sendMessagesToDLQ(Filter filter,
+ int sendMessagesToDLQ(Filter filter,
SimpleString simpleAddress) throws Exception;
/**
@@ -174,6 +173,6 @@
* @param simpleAddress
* @return
*/
- List<MessageReference> changeMessagesPriority(Filter filter,
+ int changeMessagesPriority(Filter filter,
byte newPriority, SimpleString address) throws Exception;
}
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/AddressControl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/AddressControl.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/AddressControl.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -53,14 +53,14 @@
// Attributes ----------------------------------------------------
- private final String address;
+ private final SimpleString address;
private MessagingServerManagement server;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
- public AddressControl(final String address,
+ public AddressControl(final SimpleString address,
final MessagingServerManagement server)
throws NotCompliantMBeanException
{
@@ -75,15 +75,14 @@
public String getAddress()
{
- return address;
+ return address.toString();
}
public String[] getQueueNames() throws Exception
{
try
{
- List<Queue> queues = server.getQueuesForAddress(new SimpleString(
- address));
+ List<Queue> queues = server.getQueuesForAddress(address);
String[] queueNames = new String[queues.size()];
for (int i = 0; i < queues.size(); i++)
{
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -65,7 +65,7 @@
return ObjectName.getInstance(DOMAIN + ":module=Core,type=Server");
}
- public static ObjectName getAddressObjectName(final String address)
+ public static ObjectName getAddressObjectName(final SimpleString address)
throws Exception
{
return ObjectName.getInstance(String.format(
@@ -105,14 +105,8 @@
public void registerServer(final MessagingServerManagement server)
throws Exception
{
+ //unregisterServer();
ObjectName objectName = getMessagingServerObjectName();
- if (mbeanServer.isRegistered(objectName))
- {
- log.warn("Core server" + objectName
- + " is already registered. Unregister it");
- mbeanServer.unregisterMBean(objectName);
- this.server = null;
- }
MessagingServerControl managedServer = new MessagingServerControl(server,
server.getConfiguration());
mbeanServer.registerMBean(managedServer, objectName);
@@ -126,18 +120,14 @@
if (mbeanServer.isRegistered(objectName))
{
mbeanServer.unregisterMBean(getMessagingServerObjectName());
+ this.server = null;
}
}
- public void registerAddress(final String address) throws Exception
+ public void registerAddress(final SimpleString address) throws Exception
{
+ unregisterAddress(address);
ObjectName objectName = getAddressObjectName(address);
- if (mbeanServer.isRegistered(objectName))
- {
- log.warn("address " + objectName
- + " is already registered. Unregister it");
- mbeanServer.unregisterMBean(objectName);
- }
AddressControlMBean addressControl = new AddressControl(address, server);
mbeanServer.registerMBean(addressControl, objectName);
if (log.isDebugEnabled())
@@ -146,7 +136,7 @@
}
}
- public void unregisterAddress(final String address) throws Exception
+ public void unregisterAddress(final SimpleString address) throws Exception
{
ObjectName objectName = getAddressObjectName(address);
if (mbeanServer.isRegistered(objectName))
@@ -158,13 +148,8 @@
public void registerQueue(final Queue queue, final SimpleString address,
final StorageManager storageManager) throws Exception
{
+ unregisterQueue(queue.getName(), address);
ObjectName objectName = getQueueObjectName(address, queue.getName());
- if (mbeanServer.isRegistered(objectName))
- {
- log.warn("queue " + objectName
- + " is already registered. Unregister it");
- mbeanServer.unregisterMBean(objectName);
- }
QueueControlMBean queueControl = new QueueControl(queue, storageManager,
postOffice, queueSettingsRepository);
mbeanServer.registerMBean(queueControl, objectName);
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -23,7 +23,6 @@
package org.jboss.messaging.core.management.impl;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -204,7 +203,7 @@
return false;
}
- public List<MessageReference> expireMessages(final Filter filter,
+ public int expireMessages(final Filter filter,
final SimpleString address) throws Exception
{
Binding binding = postOffice.getBinding(address);
@@ -217,12 +216,12 @@
queue.expireMessage(ref.getMessage().getMessageID(),
storageManager, postOffice, queueSettingsRepository);
}
- return refs;
+ return refs.size();
}
- return Collections.emptyList();
+ return 0;
}
- public List<MessageReference> sendMessagesToDLQ(final Filter filter,
+ public int sendMessagesToDLQ(final Filter filter,
final SimpleString address) throws Exception
{
Binding binding = postOffice.getBinding(address);
@@ -235,12 +234,12 @@
queue.sendMessageToDLQ(ref.getMessage().getMessageID(),
storageManager, postOffice, queueSettingsRepository);
}
- return refs;
+ return refs.size();
}
- return Collections.emptyList();
+ return 0;
}
- public List<MessageReference> changeMessagesPriority(final Filter filter,
+ public int changeMessagesPriority(final Filter filter,
final byte newPriority, final SimpleString address) throws Exception
{
Binding binding = postOffice.getBinding(address);
@@ -254,9 +253,9 @@
newPriority, storageManager, postOffice,
queueSettingsRepository);
}
- return refs;
+ return refs.size();
}
- return Collections.emptyList();
+ return 0;
}
public QueueSettings getQueueSettings(final SimpleString simpleAddress)
@@ -278,27 +277,27 @@
return queues;
}
- public void setSecurityForAddress(final String address, final Set<Role> roles)
+ public void setSecurityForAddress(final SimpleString address, final Set<Role> roles)
throws Exception
{
- this.securityRepository.addMatch(address, roles);
+ this.securityRepository.addMatch(address.toString(), roles);
}
- public void removeSecurityForAddress(final String address) throws Exception
+ public void removeSecurityForAddress(final SimpleString address) throws Exception
{
- this.securityRepository.removeMatch(address);
+ this.securityRepository.removeMatch(address.toString());
}
- public Set<Role> getSecurityForAddress(final String address)
+ public Set<Role> getSecurityForAddress(final SimpleString address)
throws Exception
{
- return this.securityRepository.getMatch(address);
+ return this.securityRepository.getMatch(address.toString());
}
- public void setQueueAttributes(final String queueName,
+ public void setQueueAttributes(final SimpleString queueName,
final QueueSettings settings) throws Exception
{
- this.queueSettingsRepository.addMatch(queueName, settings);
+ this.queueSettingsRepository.addMatch(queueName.toString(), settings);
}
public Configuration getConfiguration()
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/NullManagementService.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/NullManagementService.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/NullManagementService.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -73,11 +73,11 @@
{
}
- public void registerAddress(String address) throws Exception
+ public void registerAddress(SimpleString address) throws Exception
{
}
- public void unregisterAddress(String address) throws Exception
+ public void unregisterAddress(SimpleString address) throws Exception
{
}
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -128,7 +128,7 @@
}
flowControllers.put(address, new FlowControllerImpl(address, this));
- managementService.registerAddress(address.toString());
+ managementService.registerAddress(address);
}
return added;
@@ -146,7 +146,7 @@
{
storageManager.deleteDestination(address);
}
- managementService.unregisterAddress(address.toString());
+ managementService.unregisterAddress(address);
}
return removed;
@@ -314,7 +314,7 @@
bindings = prevBindings;
} else
{
- managementService.registerAddress(binding.getAddress().toString());
+ managementService.registerAddress(binding.getAddress());
}
bindings.add(binding);
@@ -363,7 +363,7 @@
{
mappings.remove(binding.getAddress());
- managementService.unregisterAddress(binding.getAddress().toString());
+ managementService.unregisterAddress(binding.getAddress());
binding.getQueue().setFlowController(null);
}
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -292,30 +292,23 @@
public int expireMessages(final Filter filter,
final JBossDestination destination) throws Exception
{
- List<MessageReference> refs = messagingServerManagement.expireMessages(
- filter, destination.getSimpleAddress());
-
- return refs.size();
+ return messagingServerManagement.expireMessages(filter, destination
+ .getSimpleAddress());
}
public int sendMessagesToDLQ(final Filter filter,
final JBossDestination destination) throws Exception
{
- List<MessageReference> refs = messagingServerManagement
- .sendMessagesToDLQ(filter, destination.getSimpleAddress());
-
- return refs.size();
+ return messagingServerManagement.sendMessagesToDLQ(filter, destination
+ .getSimpleAddress());
}
public int changeMessagesPriority(final Filter filter,
final byte newPriority, final JBossDestination destination)
throws Exception
{
- List<MessageReference> refs = messagingServerManagement
- .changeMessagesPriority(filter, newPriority, destination
- .getSimpleAddress());
-
- return refs.size();
+ return messagingServerManagement.changeMessagesPriority(filter,
+ newPriority, destination.getSimpleAddress());
}
// Public --------------------------------------------------------
Modified: branches/Branch_JBMESSAGING-1303/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -53,6 +53,7 @@
import org.jboss.messaging.jms.server.management.TopicControlMBean;
import org.jboss.messaging.jms.server.management.impl.JMSManagementRegistrationImpl;
import org.jboss.messaging.microcontainer.JBMBootstrapServer;
+import org.jboss.messaging.util.SimpleString;
import org.jboss.test.messaging.tools.ConfigurationHelper;
import org.jboss.test.messaging.tools.ServerManagement;
import org.jboss.test.messaging.tools.jboss.MBeanConfigurationElement;
@@ -536,14 +537,14 @@
public void configureSecurityForDestination(String destName, boolean isQueue, Set<Role> roles) throws Exception
{
- String prefix = isQueue ? "queuejms." : "topicjms.";
+ SimpleString destination = new SimpleString((isQueue ? "queuejms." : "topicjms.") + destName);
if (roles != null)
{
- getMessagingServer().getServerManagement().setSecurityForAddress(prefix + destName, roles);
+ getMessagingServer().getServerManagement().setSecurityForAddress(destination, roles);
}
else
{
- getMessagingServer().getServerManagement().removeSecurityForAddress(prefix + destName);
+ getMessagingServer().getServerManagement().removeSecurityForAddress(destination);
}
}
@@ -659,18 +660,18 @@
public Set<Role> getSecurityConfig() throws Exception
{
- return getMessagingServer().getServerManagement().getSecurityForAddress("*");
+ return getMessagingServer().getServerManagement().getSecurityForAddress(new SimpleString("*"));
}
public void setSecurityConfig(Set<Role> defConfig) throws Exception
{
- getMessagingServer().getServerManagement().removeSecurityForAddress("*");
- getMessagingServer().getServerManagement().setSecurityForAddress("*", defConfig);
+ getMessagingServer().getServerManagement().removeSecurityForAddress(new SimpleString("*"));
+ getMessagingServer().getServerManagement().setSecurityForAddress(new SimpleString("*"), defConfig);
}
public void setRedeliveryDelayOnDestination(String dest, boolean queue, long delay) throws Exception
{
- String condition = (queue ? "queuejms." : "topicjms.") + dest;
+ SimpleString condition = new SimpleString((queue ? "queuejms." : "topicjms.") + dest);
QueueSettings queueSettings = new QueueSettings();
queueSettings.setRedeliveryDelay(delay);
getMessagingServer().getServerManagement().setQueueAttributes(condition, queueSettings);
Modified: branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -88,20 +88,20 @@
public void testGetAddress() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
replay(server);
AddressControl control = new AddressControl(address, server);
- assertEquals(address, control.getAddress());
+ assertEquals(address.toString(), control.getAddress());
verify(server);
}
public void testGetQueueNames() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
List<Queue> queues = new ArrayList<Queue>();
Queue queue_1 = createMock(Queue.class);
@@ -110,8 +110,7 @@
expect(queue_2.getName()).andStubReturn(randomSimpleString());
queues.add(queue_1);
queues.add(queue_2);
- expect(server.getQueuesForAddress(new SimpleString(address))).andReturn(
- queues);
+ expect(server.getQueuesForAddress(address)).andReturn(queues);
replay(server, queue_1, queue_2);
@@ -126,7 +125,7 @@
public void testGetRoleInfos() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
Set<Role> roles = new HashSet<Role>();
Role role_1 = new Role(randomString(), randomBoolean(), randomBoolean(),
@@ -157,7 +156,7 @@
public void testGetRoles() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
Set<Role> roles = new HashSet<Role>();
Role role_1 = new Role(randomString(), randomBoolean(), randomBoolean(),
@@ -183,7 +182,7 @@
public void testAddRole() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
expect(server.getSecurityForAddress(address)).andReturn(
new HashSet<Role>());
@@ -199,7 +198,7 @@
public void testAddRoleWhichAlreadExists() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
Set<Role> roles = new HashSet<Role>();
Role role = new Role(randomString(), randomBoolean(), randomBoolean(),
@@ -225,7 +224,7 @@
public void testRemoveRole() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
Set<Role> roles = new HashSet<Role>();
Role role = new Role(randomString(), randomBoolean(), randomBoolean(),
@@ -243,7 +242,7 @@
public void testRemoveRoleFromEmptySet() throws Exception
{
- String address = randomString();
+ SimpleString address = randomSimpleString();
MessagingServerManagement server = createMock(MessagingServerManagement.class);
expect(server.getSecurityForAddress(address)).andReturn(
new HashSet<Role>());
Modified: branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -28,6 +28,7 @@
import static org.easymock.EasyMock.isA;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
+import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
import javax.management.MBeanServer;
import javax.management.ObjectInstance;
@@ -36,11 +37,18 @@
import junit.framework.TestCase;
import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.management.AddressControlMBean;
import org.jboss.messaging.core.management.ManagementService;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.management.QueueControlMBean;
+import org.jboss.messaging.core.management.impl.AddressControl;
import org.jboss.messaging.core.management.impl.ManagementServiceImpl;
import org.jboss.messaging.core.management.impl.MessagingServerControl;
+import org.jboss.messaging.core.management.impl.QueueControl;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.util.SimpleString;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -71,7 +79,7 @@
Configuration configuration = createMock(Configuration.class);
MessagingServerManagement server = createMock(MessagingServerManagement.class);
expect(server.getConfiguration()).andReturn(configuration);
- expect(mbeanServer.isRegistered(objectName)).andReturn(false);
+ //expect(mbeanServer.isRegistered(objectName)).andReturn(false);
expect(
mbeanServer.registerMBean(isA(MessagingServerControlMBean.class),
eq(objectName))).andReturn(objectInstance);
@@ -84,6 +92,31 @@
verify(mbeanServer, server);
}
+ public void testRegisterAlreadyRegisteredMessagingServer() throws Exception
+ {
+ ObjectName objectName = ManagementServiceImpl
+ .getMessagingServerObjectName();
+ ObjectInstance objectInstance = new ObjectInstance(objectName,
+ MessagingServerControl.class.getName());
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ Configuration configuration = createMock(Configuration.class);
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ expect(server.getConfiguration()).andReturn(configuration);
+ //expect(mbeanServer.isRegistered(objectName)).andReturn(true);
+ //mbeanServer.unregisterMBean(objectName);
+ expect(
+ mbeanServer.registerMBean(isA(MessagingServerControlMBean.class),
+ eq(objectName))).andReturn(objectInstance);
+
+ replay(mbeanServer, server);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.registerServer(server);
+
+ verify(mbeanServer, server);
+ }
+
public void testUnregisterMessagingServer() throws Exception
{
ObjectName objectName = ManagementServiceImpl
@@ -101,6 +134,141 @@
verify(mbeanServer);
}
+ public void testRegisterAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ ObjectName objectName = ManagementServiceImpl
+ .getAddressObjectName(address);
+ ObjectInstance objectInstance = new ObjectInstance(objectName,
+ AddressControl.class.getName());
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ expect(mbeanServer.isRegistered(objectName)).andReturn(false);
+ expect(
+ mbeanServer.registerMBean(isA(AddressControlMBean.class),
+ eq(objectName))).andReturn(objectInstance);
+
+ replay(mbeanServer);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.registerAddress(address);
+
+ verify(mbeanServer);
+ }
+
+ public void testRegisterAlreadyRegisteredAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ ObjectName objectName = ManagementServiceImpl
+ .getAddressObjectName(address);
+ ObjectInstance objectInstance = new ObjectInstance(objectName,
+ AddressControl.class.getName());
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ expect(mbeanServer.isRegistered(objectName)).andReturn(true);
+ mbeanServer.unregisterMBean(objectName);
+ expect(
+ mbeanServer.registerMBean(isA(AddressControlMBean.class),
+ eq(objectName))).andReturn(objectInstance);
+
+ replay(mbeanServer);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.registerAddress(address);
+
+ verify(mbeanServer);
+ }
+
+ public void testUnregisterAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ ObjectName objectName = ManagementServiceImpl
+ .getAddressObjectName(address);
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ expect(mbeanServer.isRegistered(objectName)).andReturn(true);
+ mbeanServer.unregisterMBean(objectName);
+
+ replay(mbeanServer);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.unregisterAddress(address);
+
+ verify(mbeanServer);
+ }
+
+ public void testRegisterQueue() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString name = randomSimpleString();
+ ObjectName objectName = ManagementServiceImpl.getQueueObjectName(address,
+ name);
+ ObjectInstance objectInstance = new ObjectInstance(objectName,
+ QueueControl.class.getName());
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ Queue queue = createMock(Queue.class);
+ expect(queue.getName()).andStubReturn(name);
+ StorageManager storageManager = createMock(StorageManager.class);
+ expect(mbeanServer.isRegistered(objectName)).andReturn(false);
+ expect(
+ mbeanServer.registerMBean(isA(QueueControlMBean.class),
+ eq(objectName))).andReturn(objectInstance);
+
+ replay(mbeanServer, queue, storageManager);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.registerQueue(queue, address, storageManager);
+
+ verify(mbeanServer, queue, storageManager);
+ }
+
+ public void testRegisterAlreadyRegisteredQueue() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString name = randomSimpleString();
+ ObjectName objectName = ManagementServiceImpl.getQueueObjectName(address,
+ name);
+ ObjectInstance objectInstance = new ObjectInstance(objectName,
+ QueueControl.class.getName());
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ Queue queue = createMock(Queue.class);
+ expect(queue.getName()).andStubReturn(name);
+ StorageManager storageManager = createMock(StorageManager.class);
+ expect(mbeanServer.isRegistered(objectName)).andReturn(true);
+ mbeanServer.unregisterMBean(objectName);
+ expect(
+ mbeanServer.registerMBean(isA(QueueControlMBean.class),
+ eq(objectName))).andReturn(objectInstance);
+
+ replay(mbeanServer, queue, storageManager);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.registerQueue(queue, address, storageManager);
+
+ verify(mbeanServer, queue, storageManager);
+ }
+
+ public void testUnregisterQueue() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString name = randomSimpleString();
+ ObjectName objectName = ManagementServiceImpl.getQueueObjectName(address,
+ name);
+
+ MBeanServer mbeanServer = createMock(MBeanServer.class);
+ expect(mbeanServer.isRegistered(objectName)).andReturn(true);
+ mbeanServer.unregisterMBean(objectName);
+
+ replay(mbeanServer);
+
+ ManagementService service = new ManagementServiceImpl(mbeanServer);
+ service.unregisterQueue(name, address);
+
+ verify(mbeanServer);
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java 2008-08-01 15:15:29 UTC (rev 4765)
+++ branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java 2008-08-04 14:28:08 UTC (rev 4766)
@@ -22,21 +22,38 @@
package org.jboss.messaging.tests.unit.core.management.impl;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
+import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
+import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+
import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.easymock.EasyMock;
import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.filter.Filter;
+import org.jboss.messaging.core.filter.impl.FilterImpl;
import org.jboss.messaging.core.management.impl.MessagingServerManagementImpl;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.Binding;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.server.ConnectionManager;
+import org.jboss.messaging.core.server.MessageReference;
import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.server.ServerMessage;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.version.Version;
import org.jboss.messaging.tests.util.RandomUtil;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -44,14 +61,14 @@
/**
*
* @author <a href="mailto:clebert.suconic at jboss.com">Clebert Suconic</a>
- *
+ *
*/
public class MessagingServerManagementImplTest extends UnitTestCase
{
// Constants -----------------------------------------------------
-
+
// Attributes ----------------------------------------------------
-
+
private PostOffice mockPostOffice;
private StorageManager mockStorageManager;
private Configuration mockConfiguration;
@@ -59,24 +76,27 @@
private HierarchicalRepository<Set<Role>> mockSecurityRepository;
private HierarchicalRepository<QueueSettings> mockQueueSettingsRepository;
private MessagingServer mockServer;
+
// Static --------------------------------------------------------
-
+
// Constructors --------------------------------------------------
-
+
// Public --------------------------------------------------------
-
+
public void setUp() throws Exception
{
super.setUp();
-
+
mockPostOffice = EasyMock.createNiceMock(PostOffice.class);
mockStorageManager = EasyMock.createNiceMock(StorageManager.class);
mockConnectionManager = EasyMock.createNiceMock(ConnectionManager.class);
mockConfiguration = EasyMock.createNiceMock(Configuration.class);
- mockSecurityRepository = EasyMock.createNiceMock(HierarchicalRepository.class);
- mockQueueSettingsRepository = EasyMock.createNiceMock(HierarchicalRepository.class);
+ mockSecurityRepository = EasyMock
+ .createNiceMock(HierarchicalRepository.class);
+ mockQueueSettingsRepository = EasyMock
+ .createNiceMock(HierarchicalRepository.class);
mockServer = EasyMock.createNiceMock(MessagingServer.class);
-
+
}
public void testcreateQueue() throws Exception
@@ -87,226 +107,631 @@
mockPostOffice = EasyMock.createMock(PostOffice.class);
EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(null);
-
- EasyMock.expect(mockPostOffice.addBinding(destination, name, null, true, false)).andReturn(null);
-
+
+ EasyMock.expect(
+ mockPostOffice.addBinding(destination, name, null, true, false))
+ .andReturn(null);
+
EasyMock.replay(mockPostOffice);
-
+
MessagingServerManagementImpl impl = createImpl();
-
+
impl.createQueue(destination, name);
-
+
EasyMock.verify(mockPostOffice);
EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(EasyMock.createNiceMock(Binding.class));
-
+
+ EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(
+ EasyMock.createNiceMock(Binding.class));
+
EasyMock.replay(mockPostOffice);
impl.createQueue(destination, name);
-
+
EasyMock.verify(mockPostOffice);
-
+
}
+ public void testCreateQueueWithFullParameters() throws Exception
+ {
+ SimpleString destination = RandomUtil.randomSimpleString();
+ SimpleString name = RandomUtil.randomSimpleString();
+ SimpleString filterStr = new SimpleString("color = 'green'");
+ boolean durable = false;
+ boolean temporary = true;
+
+ mockPostOffice = EasyMock.createMock(PostOffice.class);
+
+ EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(null);
+
+ EasyMock.expect(
+ mockPostOffice.addBinding(eq(destination), eq(name),
+ isA(Filter.class), eq(durable), eq(temporary))).andReturn(
+ null);
+
+ EasyMock.replay(mockPostOffice);
+
+ MessagingServerManagementImpl impl = createImpl();
+
+ impl.createQueue(destination, name, filterStr, durable, temporary);
+
+ EasyMock.verify(mockPostOffice);
+
+ EasyMock.reset(mockPostOffice);
+
+ EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(
+ EasyMock.createNiceMock(Binding.class));
+
+ EasyMock.replay(mockPostOffice);
+
+ impl.createQueue(destination, name, filterStr, durable, temporary);
+
+ EasyMock.verify(mockPostOffice);
+
+ }
+
public void testConnectionCount() throws Exception
{
-
+
mockConnectionManager = EasyMock.createMock(ConnectionManager.class);
EasyMock.expect(mockConnectionManager.size()).andReturn(123);
-
+
EasyMock.replay(mockConnectionManager);
-
+
MessagingServerManagementImpl impl = createImpl();
-
+
assertEquals(impl.getConnectionCount(), 123);
-
+
}
-
+
public void testDestroyQueue() throws Exception
{
SimpleString name = RandomUtil.randomSimpleString();
-
+
mockPostOffice = EasyMock.createMock(PostOffice.class);
-
+
Binding binding = EasyMock.createMock(Binding.class);
-
+
Queue queue = EasyMock.createMock(Queue.class);
-
EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(binding);
EasyMock.expect(binding.getQueue()).andReturn(queue);
-
+
queue.deleteAllReferences(mockStorageManager);
-
-
+
EasyMock.expect(queue.getName()).andReturn(name).atLeastOnce();
-
+
EasyMock.expect(mockPostOffice.removeBinding(name)).andReturn(binding);
-
+
EasyMock.replay(mockPostOffice, binding, queue);
-
+
MessagingServerManagementImpl impl = createImpl();
-
+
impl.destroyQueue(name);
-
+
EasyMock.verify(mockPostOffice, binding, queue);
-
+
EasyMock.reset(mockPostOffice, binding, queue);
-
+
EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(null);
-
+
EasyMock.replay(mockPostOffice, binding, queue);
impl.destroyQueue(name);
-
+
EasyMock.verify(mockPostOffice, binding, queue);
-
+
}
-
+
public void testAddDestination() throws Exception
{
SimpleString address = RandomUtil.randomSimpleString();
-
+
mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.addDestination(address, false)).andReturn(false);
-
+
+ EasyMock.expect(mockPostOffice.addDestination(address, false)).andReturn(
+ false);
+
EasyMock.replay(mockPostOffice);
-
+
MessagingServerManagementImpl impl = createImpl();
assertFalse(impl.addDestination(address));
-
+
EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.addDestination(address, false)).andReturn(true);
-
+
+ EasyMock.expect(mockPostOffice.addDestination(address, false)).andReturn(
+ true);
+
EasyMock.replay(mockPostOffice);
assertTrue(impl.addDestination(address));
-
+
EasyMock.verify(mockPostOffice);
-
+
}
-
+
public void testRemoveDestination() throws Exception
{
SimpleString address = RandomUtil.randomSimpleString();
-
+
mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.removeDestination(address, false)).andReturn(false);
-
+
+ EasyMock.expect(mockPostOffice.removeDestination(address, false))
+ .andReturn(false);
+
EasyMock.replay(mockPostOffice);
-
+
MessagingServerManagementImpl impl = createImpl();
assertFalse(impl.removeDestination(address));
-
+
EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.removeDestination(address, false)).andReturn(true);
-
+
+ EasyMock.expect(mockPostOffice.removeDestination(address, false))
+ .andReturn(true);
+
EasyMock.replay(mockPostOffice);
assertTrue(impl.removeDestination(address));
-
+
EasyMock.verify(mockPostOffice);
-
+
}
-
public void testRemoveAllMessagesForAddress() throws Exception
{
SimpleString address = RandomUtil.randomSimpleString();
int numberOfQueues = 10;
-
+
ArrayList<Queue> queues = new ArrayList<Queue>();
ArrayList<Binding> bindings = new ArrayList<Binding>();
-
+
for (int i = 0; i < numberOfQueues; i++)
{
Queue queue = EasyMock.createMock(Queue.class);
queues.add(queue);
-
+
Binding binding = EasyMock.createMock(Binding.class);
bindings.add(binding);
-
+
EasyMock.expect(binding.getQueue()).andReturn(queue);
-
+
queue.deleteAllReferences(mockStorageManager);
}
-
+
mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.getBindingsForAddress(address)).andReturn(bindings);
+ EasyMock.expect(mockPostOffice.getBindingsForAddress(address)).andReturn(
+ bindings);
+
EasyMock.replay(mockPostOffice);
-
+
EasyMock.replay(queues.toArray());
-
+
EasyMock.replay(bindings.toArray());
-
+
MessagingServerManagementImpl impl = createImpl();
-
+
impl.removeAllMessagesForAddress(address);
EasyMock.verify(mockPostOffice);
-
+
EasyMock.verify(queues.toArray());
-
+
EasyMock.verify(bindings.toArray());
-
-
+
}
-
-
+
+ public void testRemoveMessageForAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+
+ mockPostOffice = createMock(PostOffice.class);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(binding);
+ expect(binding.getQueue()).andReturn(queue);
+ expect(queue.deleteReference(messageID, mockStorageManager)).andReturn(
+ true);
+
+ replay(mockPostOffice, binding, queue, mockStorageManager);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertTrue(impl.removeMessageFromAddress(messageID, address));
+
+ verify(mockPostOffice, binding, queue, mockStorageManager);
+ }
+
+ public void testRemoveMessageForUnkownAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+
+ mockPostOffice = createMock(PostOffice.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(null);
+
+ replay(mockPostOffice);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertFalse(impl.removeMessageFromAddress(messageID, address));
+
+ verify(mockPostOffice);
+ }
+
+ public void testExpireMessage() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+
+ mockPostOffice = createMock(PostOffice.class);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(binding);
+ expect(binding.getQueue()).andReturn(queue);
+ expect(
+ queue.expireMessage(messageID, mockStorageManager, mockPostOffice,
+ mockQueueSettingsRepository)).andReturn(true);
+
+ replay(mockPostOffice, binding, queue, mockStorageManager);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertTrue(impl.expireMessage(messageID, address));
+
+ verify(mockPostOffice, binding, queue, mockStorageManager);
+ }
+
+ public void testExpireMessageForUnkownAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+
+ mockPostOffice = createMock(PostOffice.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(null);
+
+ replay(mockPostOffice);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertFalse(impl.expireMessage(messageID, address));
+
+ verify(mockPostOffice);
+ }
+
+ public void testExpireMessages() throws Exception
+ {
+ Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+
+ mockPostOffice = createMock(PostOffice.class);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(binding);
+ expect(binding.getQueue()).andReturn(queue);
+ List<MessageReference> refs = new ArrayList<MessageReference>();
+ MessageReference ref = createMock(MessageReference.class);
+ refs.add(ref);
+ ServerMessage message = createMock(ServerMessage.class);
+ expect(message.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(message);
+ expect(queue.list(filter)).andReturn(refs);
+ expect(
+ queue.expireMessage(messageID, mockStorageManager, mockPostOffice,
+ mockQueueSettingsRepository)).andReturn(true);
+
+ replay(mockPostOffice, binding, queue, mockStorageManager, ref, message);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(1, impl.expireMessages(filter, address));
+
+ verify(mockPostOffice, binding, queue, mockStorageManager, ref, message);
+ }
+
+ public void testExpireMessagesForUnknownAddress() throws Exception
+ {
+ Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
+ SimpleString address = randomSimpleString();
+
+ mockPostOffice = createMock(PostOffice.class);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(null);
+
+ replay(mockPostOffice, binding, queue, mockStorageManager);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(0, impl.expireMessages(filter, address));
+
+ verify(mockPostOffice, binding, queue, mockStorageManager);
+ }
+
+ public void testSendMessagesToDLQ() throws Exception
+ {
+ Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+
+ mockPostOffice = createMock(PostOffice.class);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(binding);
+ expect(binding.getQueue()).andReturn(queue);
+ List<MessageReference> refs = new ArrayList<MessageReference>();
+ MessageReference ref = createMock(MessageReference.class);
+ refs.add(ref);
+ ServerMessage message = createMock(ServerMessage.class);
+ expect(message.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(message);
+ expect(queue.list(filter)).andReturn(refs);
+ expect(
+ queue.sendMessageToDLQ(messageID, mockStorageManager,
+ mockPostOffice, mockQueueSettingsRepository)).andReturn(true);
+
+ replay(mockPostOffice, binding, queue, mockStorageManager, ref, message);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(1, impl.sendMessagesToDLQ(filter, address));
+
+ verify(mockPostOffice, binding, queue, mockStorageManager, ref, message);
+ }
+
+ public void testSendMessagesToDLQForUnknownAddress() throws Exception
+ {
+ Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
+ SimpleString address = randomSimpleString();
+
+ mockPostOffice = createMock(PostOffice.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(null);
+
+ replay(mockPostOffice);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(0, impl.sendMessagesToDLQ(filter, address));
+
+ verify(mockPostOffice);
+ }
+
+ public void testChangeMessagesPriority() throws Exception
+ {
+ Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
+ SimpleString address = randomSimpleString();
+ long messageID = randomLong();
+ byte newPriority = (byte) 9;
+
+ mockPostOffice = createMock(PostOffice.class);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(binding);
+ expect(binding.getQueue()).andReturn(queue);
+ List<MessageReference> refs = new ArrayList<MessageReference>();
+ MessageReference ref = createMock(MessageReference.class);
+ refs.add(ref);
+ ServerMessage message = createMock(ServerMessage.class);
+ expect(message.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(message);
+ expect(queue.list(filter)).andReturn(refs);
+ expect(
+ queue.changeMessagePriority(messageID, newPriority,
+ mockStorageManager, mockPostOffice,
+ mockQueueSettingsRepository)).andReturn(true);
+
+ replay(mockPostOffice, binding, queue, mockStorageManager, ref, message);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(1, impl.changeMessagesPriority(filter, newPriority, address));
+
+ verify(mockPostOffice, binding, queue, mockStorageManager, ref, message);
+ }
+
+ public void testChangeMessagesPriorityForUnknownAddress() throws Exception
+ {
+ Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
+ SimpleString address = randomSimpleString();
+ byte newPriority = (byte) 9;
+
+ mockPostOffice = createMock(PostOffice.class);
+ expect(mockPostOffice.getBinding(address)).andReturn(null);
+
+ replay(mockPostOffice);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(0, impl.changeMessagesPriority(filter, newPriority, address));
+
+ verify(mockPostOffice);
+ }
+
public void testGetQueuesForAddress() throws Exception
{
-
+
int numberOfQueues = 10;
-
+
ArrayList<Queue> queues = new ArrayList<Queue>();
ArrayList<Binding> bindings = new ArrayList<Binding>();
-
+
for (int i = 0; i < numberOfQueues; i++)
{
Queue queue = EasyMock.createMock(Queue.class);
queues.add(queue);
-
+
Binding binding = EasyMock.createMock(Binding.class);
-
+
bindings.add(binding);
-
+
EasyMock.expect(binding.getQueue()).andReturn(queue);
}
-
SimpleString address = RandomUtil.randomSimpleString();
-
- EasyMock.expect(mockPostOffice.getBindingsForAddress(address)).andReturn(bindings);
-
+
+ EasyMock.expect(mockPostOffice.getBindingsForAddress(address)).andReturn(
+ bindings);
+
EasyMock.replay(mockPostOffice);
EasyMock.replay(queues.toArray());
EasyMock.replay(bindings.toArray());
-
+
MessagingServerManagementImpl impl = createImpl();
assertEquals(numberOfQueues, impl.getQueuesForAddress(address).size());
EasyMock.verify(mockPostOffice);
EasyMock.verify(queues.toArray());
EasyMock.verify(bindings.toArray());
-
+
}
-
-
+ public void testIsStarted() throws Exception
+ {
+ expect(mockServer.isStarted()).andReturn(true);
+
+ replay(mockServer);
+ MessagingServerManagementImpl impl = createImpl();
+ assertTrue(impl.isStarted());
+
+ verify(mockServer);
+ }
+
+ public void testGetVersion() throws Exception
+ {
+ String fullVersion = randomString();
+ Version version = createMock(Version.class);
+ expect(version.getFullVersion()).andReturn(fullVersion);
+ expect(mockServer.getVersion()).andReturn(version);
+
+ replay(mockServer, version);
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(fullVersion, impl.getVersion());
+
+ verify(mockServer, version);
+ }
+
+ public void testGetConfiguration() throws Exception
+ {
+ replay(mockConfiguration);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(mockConfiguration, impl.getConfiguration());
+
+ verify(mockConfiguration);
+ }
+
+ public void testGetQueueSettings() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ QueueSettings settings = new QueueSettings();
+ expect(mockQueueSettingsRepository.getMatch(address.toString()))
+ .andReturn(settings);
+
+ replay(mockQueueSettingsRepository);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(settings, impl.getQueueSettings(address));
+
+ verify(mockQueueSettingsRepository);
+ }
+
+ public void testSetQueueAttributes() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ QueueSettings settings = new QueueSettings();
+ mockQueueSettingsRepository.addMatch(address.toString(), settings);
+
+ replay(mockQueueSettingsRepository);
+
+ MessagingServerManagementImpl impl = createImpl();
+ impl.setQueueAttributes(address, settings);
+
+ verify(mockQueueSettingsRepository);
+ }
+
+ public void testSetSecurityForAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ Set<Role> roles = new HashSet<Role>();
+ roles.add(new Role(randomString()));
+ mockSecurityRepository.addMatch(address.toString(), roles);
+
+ replay(mockSecurityRepository);
+
+ MessagingServerManagementImpl impl = createImpl();
+ impl.setSecurityForAddress(address, roles);
+
+ verify(mockSecurityRepository);
+ }
+
+ public void testGetSecurityForAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ Set<Role> roles = new HashSet<Role>();
+ Role role = new Role(randomString());
+ roles.add(role);
+ expect(mockSecurityRepository.getMatch(address.toString())).andReturn(
+ roles);
+
+ replay(mockSecurityRepository);
+
+ MessagingServerManagementImpl impl = createImpl();
+ Set<Role> matchedRoles = impl.getSecurityForAddress(address);
+ assertNotNull(matchedRoles);
+ assertEquals(1, matchedRoles.size());
+
+ verify(mockSecurityRepository);
+ }
+
+ public void testRemoveSecurityForAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ Set<Role> roles = new HashSet<Role>();
+ roles.add(new Role(randomString()));
+ mockSecurityRepository.removeMatch(address.toString());
+
+ replay(mockSecurityRepository);
+
+ MessagingServerManagementImpl impl = createImpl();
+ impl.removeSecurityForAddress(address);
+
+ verify(mockSecurityRepository);
+ }
+
+ public void testGetQueue() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ Queue queue = createMock(Queue.class);
+ Binding binding = createMock(Binding.class);
+ expect(binding.getQueue()).andReturn(queue);
+ expect(mockPostOffice.getBinding(address)).andReturn(binding);
+
+ replay(mockPostOffice, binding, queue);
+
+ MessagingServerManagementImpl impl = createImpl();
+ assertEquals(queue, impl.getQueue(address));
+
+ verify(mockPostOffice, binding, queue);
+ }
+
+ public void testGetQueueForUnknownAddress() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ expect(mockPostOffice.getBinding(address)).andReturn(null);
+
+ replay(mockPostOffice);
+
+ MessagingServerManagementImpl impl = createImpl();
+ try
+ {
+ impl.getQueue(address);
+ fail("IllegalArgumentExcepion");
+ } catch (IllegalArgumentException e)
+ {
+ }
+
+ verify(mockPostOffice);
+ }
+
// Package protected ---------------------------------------------
-
+
// Protected -----------------------------------------------------
-
+
// Private -------------------------------------------------------
private MessagingServerManagementImpl createImpl()
@@ -317,5 +742,5 @@
}
// Inner classes -------------------------------------------------
-
+
}
More information about the jboss-cvs-commits
mailing list