From f608cd0f72d98d60f92165ac0efd6c70efcd870c Mon Sep 17 00:00:00 2001 From: Aidan Skinner Date: Wed, 15 Apr 2009 15:55:36 +0000 Subject: QPID-1812: Fix firewall rule parsing, add test for this. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765250 13f79535-47bb-0310-9956-ffa450edef68 --- .../configuration/ServerConfigurationTest.java | 64 +++++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) (limited to 'java/broker/src/test') diff --git a/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java b/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java index 2c39d006b9..0152fc5122 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java @@ -696,6 +696,64 @@ public class ServerConfigurationTest extends TestCase "foo", config.getManagementKeyStorePath()); } + public void testFirewallConfiguration() throws Exception + { + // Write out config + File mainFile = File.createTempFile(getClass().getName(), null); + mainFile.deleteOnExit(); + FileWriter out = new FileWriter(mainFile); + + out.write("\n"); + out.write("\tfalse\n"); + out.write("\t\n"); + out.write("\t\t\n"); + out.write("\t\t\t\n"); + out.write("\t\t\t\tpasswordfile\n"); + out.write("\t\t\t\torg.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase\n"); + out.write("\t\t\t\t\n"); + out.write("\t\t\t\t\t\n"); + out.write("\t\t\t\t\t\tpasswordFile\n"); + out.write("\t\t\t\t\t\t/dev/null\n"); + out.write("\t\t\t\t\t\n"); + out.write("\t\t\t\t\n"); + out.write("\t\t\t\n"); + out.write("\t\t\n"); + out.write("\t\t\n"); + out.write("\t\t\t/dev/null\n"); + out.write("\t\t\tpasswordfile\n"); + out.write("\t\t\n"); + out.write("\t\t\n"); + out.write("\t\t\t"); + out.write("\t\t\n"); + out.write("\t\n"); + out.write("\t\n"); + out.write("\t\t\n"); + out.write("\t\t\ttest\n"); + out.write("\t\t\n"); + out.write("\t\n"); + out.write("\n"); + out.close(); + + // Load config + ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); + ApplicationRegistry.initialise(reg, 1); + + // Test config + VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry(); + VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test"); + AMQCodecFactory codecFactory = new AMQCodecFactory(true); + + TestIoSession iosession = new TestIoSession(); + iosession.setAddress("127.0.0.1"); + + AMQProtocolSession session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory); + assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost)); + + iosession.setAddress("127.1.2.3"); + session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory); + assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost)); + } + public void testCombinedConfigurationFirewall() throws Exception { // Write out config @@ -756,11 +814,13 @@ public class ServerConfigurationTest extends TestCase ApplicationRegistry.initialise(reg, 1); // Test config - TestIoSession iosession = new TestIoSession(); - iosession.setAddress("127.0.0.1"); VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry(); VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test"); AMQCodecFactory codecFactory = new AMQCodecFactory(true); + + TestIoSession iosession = new TestIoSession(); + iosession.setAddress("127.0.0.1"); + AMQProtocolSession session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory); assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost)); } -- cgit v1.2.1