[hornetq-commits] JBoss hornetq SVN: r8943 - in trunk: src/main/org/hornetq/jms/management/impl and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Mar 22 13:29:51 EDT 2010
Author: jmesnil
Date: 2010-03-22 13:29:50 -0400 (Mon, 22 Mar 2010)
New Revision: 8943
Modified:
trunk/src/main/org/hornetq/api/jms/management/JMSServerControl.java
trunk/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java
trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java
Log:
management tests
* added tests for management of security settings from JMSServerControl
Modified: trunk/src/main/org/hornetq/api/jms/management/JMSServerControl.java
===================================================================
--- trunk/src/main/org/hornetq/api/jms/management/JMSServerControl.java 2010-03-22 17:03:25 UTC (rev 8942)
+++ trunk/src/main/org/hornetq/api/jms/management/JMSServerControl.java 2010-03-22 17:29:50 UTC (rev 8943)
@@ -245,5 +245,7 @@
@Operation(desc = "removes the address settings for an address match", impact = MBeanOperationInfo.INFO)
void removeSecuritySettings(@Parameter(desc="an address match", name="addressMatch") String addressMatch) throws Exception;
- Set<Role> getSecuritySettings(final String addressMatch);
+ Set<Role> getSecuritySettings(final String addressMatch) throws Exception;
+
+ String getSecuritySettingsAsJSON(String destination) throws Exception;
}
Modified: trunk/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java
===================================================================
--- trunk/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java 2010-03-22 17:03:25 UTC (rev 8942)
+++ trunk/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java 2010-03-22 17:29:50 UTC (rev 8943)
@@ -13,7 +13,10 @@
package org.hornetq.jms.management.impl;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import javax.management.ListenerNotFoundException;
@@ -30,7 +33,6 @@
import org.hornetq.api.core.SimpleString;
import org.hornetq.api.core.TransportConfiguration;
import org.hornetq.api.core.management.ManagementHelper;
-import org.hornetq.api.core.management.Parameter;
import org.hornetq.api.jms.management.ConnectionFactoryControl;
import org.hornetq.api.jms.management.JMSQueueControl;
import org.hornetq.api.jms.management.JMSServerControl;
@@ -40,8 +42,9 @@
import org.hornetq.core.settings.impl.AddressFullMessagePolicy;
import org.hornetq.core.settings.impl.AddressSettings;
import org.hornetq.jms.server.JMSServerManager;
-import org.hornetq.jms.server.config.JMSQueueConfiguration;
import org.hornetq.utils.SecurityFormatter;
+import org.hornetq.utils.json.JSONArray;
+import org.hornetq.utils.json.JSONObject;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -442,6 +445,18 @@
return server.getSecurity(addressMatch);
}
+ public String getSecuritySettingsAsJSON(final String addressMatch) throws Exception
+ {
+ JSONArray json = new JSONArray();
+ Set<Role> roles = server.getSecurity(addressMatch);
+
+ for (Role role : roles)
+ {
+ json.put(new JSONObject(role));
+ }
+ return json.toString();
+ }
+
public void removeSecuritySettings(String addressMatch) throws Exception
{
//To change body of implemented methods use File | Settings | File Templates.
Modified: trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java 2010-03-22 17:03:25 UTC (rev 8942)
+++ trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java 2010-03-22 17:29:50 UTC (rev 8943)
@@ -14,6 +14,11 @@
package org.hornetq.tests.integration.jms.server.management;
+import static org.hornetq.tests.util.RandomUtil.randomSimpleString;
+import static org.hornetq.tests.util.RandomUtil.randomString;
+
+import java.util.Set;
+
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Queue;
@@ -22,10 +27,13 @@
import junit.framework.Assert;
+import org.hornetq.api.core.SimpleString;
import org.hornetq.api.core.TransportConfiguration;
import org.hornetq.api.core.management.AddressControl;
+import org.hornetq.api.core.management.HornetQServerControl;
import org.hornetq.api.core.management.ObjectNameBuilder;
import org.hornetq.api.core.management.ResourceNames;
+import org.hornetq.api.core.management.RoleInfo;
import org.hornetq.api.jms.management.JMSServerControl;
import org.hornetq.core.config.Configuration;
import org.hornetq.core.config.DiscoveryGroupConfiguration;
@@ -34,10 +42,12 @@
import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
import org.hornetq.core.remoting.impl.invm.TransportConstants;
+import org.hornetq.core.security.Role;
import org.hornetq.core.server.HornetQServer;
import org.hornetq.core.server.HornetQServers;
import org.hornetq.jms.client.HornetQConnectionFactory;
import org.hornetq.jms.client.HornetQDestination;
+import org.hornetq.jms.client.HornetQQueueBrowser;
import org.hornetq.jms.server.JMSServerManager;
import org.hornetq.jms.server.impl.JMSServerManagerImpl;
import org.hornetq.tests.integration.management.ManagementControlHelper;
@@ -290,9 +300,47 @@
});
}
+ public void testSecuritySettings() throws Exception
+ {
+ JMSServerControl serverControl = createManagementControl();
+ String destination = HornetQDestination.createQueueAddressFromName(randomString()).toString();
+
+ serverControl.addSecuritySettings(destination, "foo", "foo, bar", "foo", "bar", "foo, bar", "", "");
+
+ String rolesAsJSON = serverControl.getSecuritySettingsAsJSON(destination);
+ RoleInfo[] roleInfos = RoleInfo.from(rolesAsJSON);
+ assertEquals(2, roleInfos.length);
+ RoleInfo fooRole = null;
+ RoleInfo barRole = null;
+ if (roleInfos[0].getName().equals("foo"))
+ {
+ fooRole = roleInfos[0];
+ barRole = roleInfos[1];
+ }
+ else
+ {
+ fooRole = roleInfos[1];
+ barRole = roleInfos[0];
+ }
+ assertTrue(fooRole.isSend());
+ assertTrue(fooRole.isConsume());
+ assertTrue(fooRole.isCreateDurableQueue());
+ assertFalse(fooRole.isDeleteDurableQueue());
+ assertTrue(fooRole.isCreateNonDurableQueue());
+ assertFalse(fooRole.isDeleteNonDurableQueue());
+ assertFalse(fooRole.isManage());
+
+ assertFalse(barRole.isSend());
+ assertTrue(barRole.isConsume());
+ assertFalse(barRole.isCreateDurableQueue());
+ assertTrue(barRole.isDeleteDurableQueue());
+ assertTrue(barRole.isCreateNonDurableQueue());
+ assertFalse(barRole.isDeleteNonDurableQueue());
+ assertFalse(barRole.isManage());
+
+ serverControl.removeSecuritySettings(destination);
+ }
-
-
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java 2010-03-22 17:03:25 UTC (rev 8942)
+++ trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java 2010-03-22 17:29:50 UTC (rev 8943)
@@ -263,8 +263,14 @@
String deleteTempQueueRoles,
String manageRoles) throws Exception
{
- // TODO Auto-generated method stub
-
+ proxy.invokeOperation("addSecuritySettings", addressMatch,
+ sendRoles,
+ consumeRoles,
+ createDurableQueueRoles,
+ deleteDurableQueueRoles,
+ createTempQueueRoles,
+ deleteTempQueueRoles,
+ manageRoles);
}
public AddressSettings getAddressSettings(String address)
@@ -281,15 +287,19 @@
public void removeSecuritySettings(String addressMatch) throws Exception
{
- // TODO Auto-generated method stub
-
+ proxy.invokeOperation("removeSecuritySettings", addressMatch);
}
-
- public Set<Role> getSecuritySettings(String addressMatch)
+
+ @SuppressWarnings("unchecked")
+ public Set<Role> getSecuritySettings(String addressMatch) throws Exception
{
- // TODO Auto-generated method stub
- return null;
+ return (Set<Role>)proxy.invokeOperation("getSecuritySettings", addressMatch);
}
+
+ public String getSecuritySettingsAsJSON(String addressMatch) throws Exception
+ {
+ return (String)proxy.invokeOperation("getSecuritySettingsAsJSON", addressMatch);
+ }
};
}
More information about the hornetq-commits
mailing list