[jboss-cvs] JBoss Messaging SVN: r4708 - in branches/Branch_JBMESSAGING-1303: src/main/org/jboss/messaging/core/management/impl and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jul 22 10:33:58 EDT 2008
Author: jmesnil
Date: 2008-07-22 10:33:58 -0400 (Tue, 22 Jul 2008)
New Revision: 4708
Modified:
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java
Log:
JBMESSAGING-1303: Revisit management interfaces
* added unit tests for MessagingServerControl
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2008-07-22 13:32:57 UTC (rev 4707)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2008-07-22 14:33:58 UTC (rev 4708)
@@ -23,15 +23,9 @@
package org.jboss.messaging.core.management;
import static javax.management.MBeanOperationInfo.ACTION;
-import static javax.management.MBeanOperationInfo.INFO;
import java.util.List;
-import java.util.Set;
-import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
-
/**
* This interface describes the core management interface exposed by the server
*/
@@ -116,42 +110,4 @@
@Parameter(name = "address", desc = "Address of the destination") String address)
throws Exception;
- @Operation(desc = "Count the number of messages in the queue", impact = INFO)
- int getMessageCount(
- @Parameter(name = "queue", desc = "Name of the queue") String queue)
- throws Exception;
-
- @Operation(desc = "Roles associated to the specified address", impact = INFO)
- RoleInfo[] getRoleInfos(
- @Parameter(name = "address", desc = "Address") String address)
- throws Exception;
-
- /**
- * returns all the queues for a specific address
- *
- * @param address
- * the address
- * @return the queues
- * @throws Exception
- * if a problem occurred
- */
- List<Queue> getQueuesForAddress(String address) throws Exception;
-
- /**
- * remove all the messages for a specific address
- *
- * @param address
- * the address
- * @throws Exception
- * if a problem occurred
- */
- void removeAllMessagesForAddress(String address) throws Exception;
-
- void setSecurityForAddress(String address, Set<Role> roles) throws Exception;
-
- void removeSecurityForAddress(String address) throws Exception;
-
- void setQueueAttributes(String queueName, QueueSettings settings)
- throws Exception;
-
}
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2008-07-22 13:32:57 UTC (rev 4707)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2008-07-22 14:33:58 UTC (rev 4708)
@@ -23,7 +23,6 @@
package org.jboss.messaging.core.management.impl;
import java.util.List;
-import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import javax.management.ListenerNotFoundException;
@@ -40,11 +39,6 @@
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.MessagingServerManagement;
-import org.jboss.messaging.core.management.RoleInfo;
-import org.jboss.messaging.core.security.CheckType;
-import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -101,8 +95,14 @@
getNotificationInfo());
}
- // ManagedMessagingServerMBean implementation --------------------
+ // MessagingServerControlMBean implementation --------------------
+ public boolean isStarted()
+ {
+ return server.isStarted();
+ }
+
+
public String getVersion()
{
return server.getVersion();
@@ -243,73 +243,17 @@
server.destroyQueue(new SimpleString(name));
}
- public Configuration getConfiguration()
- {
- return server.getConfiguration();
- }
-
public int getConnectionCount()
{
return server.getConnectionCount();
}
- public int getMessageCount(String queue) throws Exception
- {
- return server.getMessageCountForQueue(new SimpleString(queue));
- }
-
- public List<Queue> getQueuesForAddress(String address) throws Exception
- {
- return server.getQueuesForAddress(new SimpleString(address));
- }
-
- public RoleInfo[] getRoleInfos(String address) throws Exception
- {
- Set<Role> roles = server.getSecurityForAddress(address);
- RoleInfo[] roleInfos = new RoleInfo[roles.size()];
- int i = 0;
- for (Role role : roles)
- {
- boolean create = role.isCheckType(CheckType.CREATE);
- boolean read = role.isCheckType(CheckType.READ);
- boolean write = role.isCheckType(CheckType.WRITE);
- roleInfos[i++] = new RoleInfo(role.getName(), create, read, write);
- }
- return roleInfos;
- }
-
- public boolean isStarted()
- {
- return server.isStarted();
- }
-
- public void removeAllMessagesForAddress(String address) throws Exception
- {
- server.removeAllMessagesForAddress(new SimpleString(address));
- }
-
public boolean removeDestination(String address) throws Exception
{
return server.removeDestination(new SimpleString(address));
}
- public void removeSecurityForAddress(String address) throws Exception
- {
- server.removeSecurityForAddress(address);
- }
- public void setQueueAttributes(String queueName, QueueSettings settings)
- throws Exception
- {
- server.setQueueAttributes(queueName, settings);
- }
-
- public void setSecurityForAddress(String address, Set<Role> roles)
- throws Exception
- {
- server.setSecurityForAddress(address, roles);
- }
-
// NotificationEmitter implementation ----------------------------
public void removeNotificationListener(NotificationListener listener,
Modified: branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java 2008-07-22 13:32:57 UTC (rev 4707)
+++ branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java 2008-07-22 14:33:58 UTC (rev 4708)
@@ -26,13 +26,22 @@
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
+import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
import static org.jboss.messaging.tests.util.RandomUtil.randomInt;
+import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.TestCase;
+import org.jboss.messaging.core.client.Location;
+import org.jboss.messaging.core.client.impl.LocationImpl;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.management.MessagingServerManagement;
import org.jboss.messaging.core.management.impl.MessagingServerControl;
+import org.jboss.messaging.core.server.JournalType;
import org.jboss.messaging.util.SimpleString;
/**
@@ -55,6 +64,22 @@
// Public --------------------------------------------------------
+ public void testIsStarted() throws Exception
+ {
+ boolean started = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ expect(server.isStarted()).andStubReturn(started);
+ Configuration configuration = createMock(Configuration.class);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(started, control.isStarted());
+
+ verify(server, configuration);
+ }
+
public void testGetServerID() throws Exception
{
int serverID = randomInt();
@@ -64,12 +89,437 @@
expect(configuration.getServerID()).andStubReturn(serverID);
replay(server, configuration);
- MessagingServerControl control = new MessagingServerControl(server, configuration);
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
assertEquals(serverID, control.getServerID());
verify(server, configuration);
}
+ public void testGetVersion() throws Exception
+ {
+ String version = randomString();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ expect(server.getVersion()).andStubReturn(version);
+ Configuration configuration = createMock(Configuration.class);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(version, control.getVersion());
+
+ verify(server, configuration);
+ }
+
+ public void testGetBindingsDirectory() throws Exception
+ {
+ String dir = randomString();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getBindingsDirectory()).andReturn(dir);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(dir, control.getBindingsDirectory());
+
+ verify(server, configuration);
+ }
+
+ public void testGetInterceptorClassNames() throws Exception
+ {
+ List<String> list = new ArrayList<String>();
+ list.add(randomString());
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getInterceptorClassNames()).andReturn(list);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(list, control.getInterceptorClassNames());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalAIOTimeout() throws Exception
+ {
+ long timeout = System.currentTimeMillis();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalAIOTimeout()).andReturn(timeout);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(timeout, control.getJournalAIOTimeout());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalDirectory() throws Exception
+ {
+ String dir = randomString();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalDirectory()).andReturn(dir);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(dir, control.getJournalDirectory());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalFileSize() throws Exception
+ {
+ int size = randomInt();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalFileSize()).andReturn(size);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(size, control.getJournalFileSize());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalMaxAIO() throws Exception
+ {
+ int max = randomInt();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalMaxAIO()).andReturn(max);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(max, control.getJournalMaxAIO());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalMinFiles() throws Exception
+ {
+ int minFiles = randomInt();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalMinFiles()).andReturn(minFiles);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(minFiles, control.getJournalMinFiles());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalTaskPeriod() throws Exception
+ {
+ long period = System.currentTimeMillis();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalTaskPeriod()).andReturn(period);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(period, control.getJournalTaskPeriod());
+
+ verify(server, configuration);
+ }
+
+ public void testGetJournalType() throws Exception
+ {
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getJournalType()).andReturn(JournalType.ASYNCIO);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(JournalType.ASYNCIO.toString(), control.getJournalType());
+
+ verify(server, configuration);
+ }
+
+ public void testGetKeyStorePath() throws Exception
+ {
+ String path = randomString();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getKeyStorePath()).andReturn(path);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(path, control.getKeyStorePath());
+
+ verify(server, configuration);
+ }
+
+ public void testGetLocation() throws Exception
+ {
+ Location location = new LocationImpl(randomInt());
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getLocation()).andReturn(location);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(location.toString(), control.getLocation());
+
+ verify(server, configuration);
+ }
+
+ public void testGetScheduledThreadPoolMaxSize() throws Exception
+ {
+ int size = randomInt();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getScheduledThreadPoolMaxSize()).andReturn(size);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(size, control.getScheduledThreadPoolMaxSize());
+
+ verify(server, configuration);
+ }
+
+ public void testGetSecurityInvalidationInterval() throws Exception
+ {
+ long interval = randomLong();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getSecurityInvalidationInterval()).andReturn(
+ interval);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(interval, control.getSecurityInvalidationInterval());
+
+ verify(server, configuration);
+ }
+
+ public void testGetThreadPoolMaxSize() throws Exception
+ {
+ int size = randomInt();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getThreadPoolMaxSize()).andReturn(size);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(size, control.getThreadPoolMaxSize());
+
+ verify(server, configuration);
+ }
+
+ public void testGetTrustStorePath() throws Exception
+ {
+ String path = randomString();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.getTrustStorePath()).andReturn(path);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(path, control.getTrustStorePath());
+
+ verify(server, configuration);
+ }
+
+ public void testIsClustered() throws Exception
+ {
+ boolean clustered = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isClustered()).andReturn(clustered);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(clustered, control.isClustered());
+
+ verify(server, configuration);
+ }
+
+ public void testIsCreateBindingsDir() throws Exception
+ {
+ boolean createBindingsDir = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isCreateBindingsDir()).andReturn(createBindingsDir);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(createBindingsDir, control.isCreateBindingsDir());
+
+ verify(server, configuration);
+ }
+
+ public void testIsCreateJournalDir() throws Exception
+ {
+ boolean createJournalDir = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isCreateJournalDir()).andReturn(createJournalDir);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(createJournalDir, control.isCreateJournalDir());
+
+ verify(server, configuration);
+ }
+
+ public void testIsJournalSyncNonTransactional() throws Exception
+ {
+ boolean journalSyncNonTransactional = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isJournalSyncNonTransactional()).andReturn(
+ journalSyncNonTransactional);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(journalSyncNonTransactional, control
+ .isJournalSyncNonTransactional());
+
+ verify(server, configuration);
+ }
+
+ public void testIsJournalSyncTransactional() throws Exception
+ {
+ boolean journalSyncTransactional = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isJournalSyncTransactional()).andReturn(
+ journalSyncTransactional);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(journalSyncTransactional, control
+ .isJournalSyncTransactional());
+
+ verify(server, configuration);
+ }
+
+ public void testIsRequireDestinations() throws Exception
+ {
+ boolean requireDestinations = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isRequireDestinations()).andReturn(
+ requireDestinations);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(requireDestinations, control.isRequireDestinations());
+
+ verify(server, configuration);
+ }
+
+ public void testIsSSLEnabled() throws Exception
+ {
+ boolean sslEnabled = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isSSLEnabled()).andReturn(sslEnabled);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(sslEnabled, control.isSSLEnabled());
+
+ verify(server, configuration);
+ }
+
+ public void testIsSecurityEnabled() throws Exception
+ {
+ boolean securityEnabled = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(configuration.isSecurityEnabled()).andReturn(securityEnabled);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(securityEnabled, control.isSecurityEnabled());
+
+ verify(server, configuration);
+ }
+
+ public void testAddDestination() throws Exception
+ {
+ String address = randomString();
+ boolean added = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ expect(server.addDestination(new SimpleString(address))).andReturn(added);
+ Configuration configuration = createMock(Configuration.class);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(added, control.addDestination(address));
+
+ verify(server, configuration);
+ }
+
+
+ public void testRemoveDestination() throws Exception
+ {
+ String address = randomString();
+ boolean removed = randomBoolean();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ expect(server.removeDestination(new SimpleString(address))).andReturn(removed);
+ Configuration configuration = createMock(Configuration.class);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(removed, control.removeDestination(address));
+
+ verify(server, configuration);
+ }
+
public void testCreateQueue() throws Exception
{
String address = randomString();
@@ -80,12 +530,46 @@
server.createQueue(new SimpleString(address), new SimpleString(name));
replay(server, configuration);
- MessagingServerControl control = new MessagingServerControl(server, configuration);
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
control.createQueue(address, name);
verify(server, configuration);
}
+
+ public void testDestroyQueue() throws Exception
+ {
+ String name = randomString();
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ server.destroyQueue(new SimpleString(name));
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ control.destroyQueue(name);
+
+ verify(server, configuration);
+ }
+
+ public void testGetConnectionCount() throws Exception
+ {
+ int count = randomInt();
+
+ MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ Configuration configuration = createMock(Configuration.class);
+ expect(server.getConnectionCount()).andReturn(count);
+ replay(server, configuration);
+
+ MessagingServerControl control = new MessagingServerControl(server,
+ configuration);
+ assertEquals(count, control.getConnectionCount());
+
+ verify(server, configuration);
+ }
+
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
More information about the jboss-cvs-commits
mailing list