diff options
| author | Keith Wall <kwall@apache.org> | 2012-06-10 14:25:08 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-06-10 14:25:08 +0000 |
| commit | 4fdef8fc1a83bedd6a128460a968229cf3a62acc (patch) | |
| tree | 7d49f5984ef5c5140841d8e17cea1ab3ca8c9891 /qpid/java/broker/src/test | |
| parent | 3e2ffb7111872b8fbd04fa3bb20753a022791e2b (diff) | |
| download | qpid-python-4fdef8fc1a83bedd6a128460a968229cf3a62acc.tar.gz | |
QPID-3997: [Java Broker] Allow assignment of AuthenticationManager on a per-port basis
Address review comments from Rob Godfrey.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1348603 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/test')
3 files changed, 74 insertions, 6 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java index 958cb23da0..c2d2eb37c1 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java @@ -1682,6 +1682,75 @@ public class ServerConfigurationTest extends QpidTestCase assertEquals(AmqpProtocolVersion.v0_10, _serverConfig.getDefaultSupportedProtocolReply()); } + public void testDefaultAuthenticationManager() throws Exception + { + // Check default + _serverConfig.initialise(); + assertNull("unexpected default value", _serverConfig.getDefaultAuthenticationManager()); + + // Check values we set + String testAuthManager = "myauthmanager"; + _config.addProperty("security.default-auth-manager", testAuthManager); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(testAuthManager, _serverConfig.getDefaultAuthenticationManager()); + } + + public void testPortAuthenticationMappingsDefault() throws Exception + { + _serverConfig.initialise(); + assertEquals("unexpected default number of port/authmanager mappings", 0, _serverConfig.getPortAuthenticationMappings().size()); + } + + public void testPortAuthenticationMappingsWithSingleMapping() throws Exception + { + String testAuthManager = "myauthmanager"; + _config.addProperty("security.port-mappings.port-mapping.port", 1234); + _config.addProperty("security.port-mappings.port-mapping.auth-manager", testAuthManager); + + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("unexpected number of port/authmanager mappings", 1, _serverConfig.getPortAuthenticationMappings().size()); + assertEquals("unexpected mapping for port", testAuthManager, _serverConfig.getPortAuthenticationMappings().get(1234)); + } + + public void testPortAuthenticationMappingsWithManyMapping() throws Exception + { + String testAuthManager1 = "myauthmanager1"; + String testAuthManager2 = "myauthmanager2"; + _config.addProperty("security.port-mappings.port-mapping(-1).port", 1234); + _config.addProperty("security.port-mappings.port-mapping.auth-manager", testAuthManager1); + + _config.addProperty("security.port-mappings.port-mapping(-1).port", 2345); + _config.addProperty("security.port-mappings.port-mapping.auth-manager", testAuthManager2); + + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + + assertEquals("unexpected number of port/authmanager mappings", 2, _serverConfig.getPortAuthenticationMappings().size()); + assertEquals("unexpected mapping for port", testAuthManager1, _serverConfig.getPortAuthenticationMappings().get(1234)); + assertEquals("unexpected mapping for port", testAuthManager2, _serverConfig.getPortAuthenticationMappings().get(2345)); + } + + public void testPortAuthenticationMappingWithMissingAuthManager() throws Exception + { + _config.addProperty("security.port-mappings.port-mapping(-1).port", 1234); + // no auth manager defined for port + _serverConfig = new ServerConfiguration(_config); + try + { + _serverConfig.initialise(); + fail("Exception not thrown"); + } + catch(ConfigurationException ce) + { + // PASS + assertEquals("Incorrect error message", + "Validation error: Each port-mapping must have exactly one port and exactly one auth-manager.", + ce.getMessage()); + } + } + /** * Convenience method to output required security preamble for broker config */ @@ -1699,7 +1768,6 @@ public class ServerConfigurationTest extends QpidTestCase out.write("\t\t\t\t\t</attribute>\n"); out.write("\t\t\t\t</attributes>\n"); out.write("\t\t\t</principal-database>\n"); - out.write("\t\t\t<jmx-access>/dev/null</jmx-access>\n"); out.write("\t\t</pd-auth-manager>\n"); out.write("\t</security>\n"); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistryTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistryTest.java index 213039a7fb..efb8df3a38 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistryTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistryTest.java @@ -189,7 +189,7 @@ public class AuthenticationManagerRegistryTest extends TestCase AuthenticationManagerRegistry registry = new AuthenticationManagerRegistry(_serverConfiguration, _pluginManager); - AuthenticationManager authenticationManager = registry.getAuthenticationManagerFor(new InetSocketAddress(1234)); + AuthenticationManager authenticationManager = registry.getAuthenticationManager(new InetSocketAddress(1234)); assertEquals("TestAuthenticationManager1", authenticationManager.getMechanisms()); registry.close(); @@ -204,7 +204,7 @@ public class AuthenticationManagerRegistryTest extends TestCase AuthenticationManagerRegistry registry = new AuthenticationManagerRegistry(_serverConfiguration, _pluginManager); - AuthenticationManager authenticationManager = registry.getAuthenticationManagerFor(mock(SocketAddress.class)); + AuthenticationManager authenticationManager = registry.getAuthenticationManager(mock(SocketAddress.class)); assertEquals("TestAuthenticationManager1", authenticationManager.getMechanisms()); registry.close(); @@ -227,10 +227,10 @@ public class AuthenticationManagerRegistryTest extends TestCase AuthenticationManagerRegistry registry = new AuthenticationManagerRegistry(_serverConfiguration, _pluginManager); - AuthenticationManager authenticationManager1 = registry.getAuthenticationManagerFor(new InetSocketAddress(unmappedPortNumber)); + AuthenticationManager authenticationManager1 = registry.getAuthenticationManager(new InetSocketAddress(unmappedPortNumber)); assertEquals("TestAuthenticationManager1", authenticationManager1.getMechanisms()); - AuthenticationManager authenticationManager2 = registry.getAuthenticationManagerFor(new InetSocketAddress(mappedPortNumber)); + AuthenticationManager authenticationManager2 = registry.getAuthenticationManager(new InetSocketAddress(mappedPortNumber)); assertEquals("TestAuthenticationManager2", authenticationManager2.getMechanisms()); registry.close(); diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java index 4bb468e823..9bd69e3889 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java @@ -96,7 +96,7 @@ public class TestApplicationRegistry extends ApplicationRegistry } @Override - public AuthenticationManager getAuthenticationManagerFor( + public AuthenticationManager getAuthenticationManager( SocketAddress address) { return pdam; |
