You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2012/11/01 10:48:57 UTC
svn commit: r1404521 [5/6] - in
/qpid/branches/java-broker-config-qpid-4390/qpid/java: ./
broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/
broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/
bro...
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java Thu Nov 1 09:48:52 2012
@@ -1124,7 +1124,7 @@ public class ServerConfigurationTest ext
// Test config
VirtualHostConfiguration virtualHost = config.getVirtualHostConfig("a");
- assertEquals("Incorrect virtualhost count", 1, config.getVirtualHosts().length);
+ assertEquals("Incorrect virtualhost count", 1, config.getVirtualHostsNames().length);
assertEquals("Incorrect virtualhost name", "a", virtualHost.getName());
}
@@ -1162,7 +1162,7 @@ public class ServerConfigurationTest ext
// Test config
VirtualHostConfiguration virtualHost = config.getVirtualHostConfig("one");
- assertEquals("Incorrect virtualhost count", 1, config.getVirtualHosts().length);
+ assertEquals("Incorrect virtualhost count", 1, config.getVirtualHostsNames().length);
assertEquals("Incorrect virtualhost name", "one", virtualHost.getName());
}
@@ -1219,7 +1219,7 @@ public class ServerConfigurationTest ext
VirtualHostConfiguration fishHost = config.getVirtualHostConfig("fish");
ExchangeConfiguration fishExchange = fishHost.getExchangeConfiguration("fish.topic");
- assertEquals("Incorrect virtualhost count", 2, config.getVirtualHosts().length);
+ assertEquals("Incorrect virtualhost count", 2, config.getVirtualHostsNames().length);
assertEquals("Incorrect virtualhost name", "test", testHost.getName());
assertFalse("Incorrect exchange durable property", testExchange.getDurable());
assertEquals("Incorrect virtualhost name", "fish", fishHost.getName());
@@ -1271,7 +1271,7 @@ public class ServerConfigurationTest ext
VirtualHostConfiguration testHost = config.getVirtualHostConfig("test");
ExchangeConfiguration testExchange = testHost.getExchangeConfiguration("test.topic");
- assertEquals("Incorrect virtualhost count", 1, config.getVirtualHosts().length);
+ assertEquals("Incorrect virtualhost count", 1, config.getVirtualHostsNames().length);
assertEquals("Incorrect virtualhost name", "test", testHost.getName());
assertFalse("Incorrect exchange durable property", testExchange.getDurable());
}
@@ -1308,7 +1308,7 @@ public class ServerConfigurationTest ext
// Test config
VirtualHostConfiguration oneHost = config.getVirtualHostConfig("test-one");
- assertEquals("Incorrect virtualhost count", 1, config.getVirtualHosts().length);
+ assertEquals("Incorrect virtualhost count", 1, config.getVirtualHostsNames().length);
assertEquals("Incorrect virtualhost name", "test-one", oneHost.getName());
}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,145 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration.startup;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.model.AuthenticationProvider;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObjectType;
+import org.apache.qpid.server.model.GroupProvider;
+import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
+import org.apache.qpid.server.model.adapter.PortFactory;
+import org.apache.qpid.server.registry.IApplicationRegistry;
+
+public class BrokerRecovererTest extends TestCase
+{
+ private BrokerRecoverer _brokerRecoverer;
+
+ private IApplicationRegistry _applicationRegistry = mock(IApplicationRegistry.class);
+
+ private VirtualHostRecoverer _virtualHostRecoverer = mock(VirtualHostRecoverer.class);
+ private PortRecoverer _portRecoverer = mock(PortRecoverer.class);
+ private AuthenticationProviderRecoverer _authenticationProviderRecoverer = mock(AuthenticationProviderRecoverer.class);
+
+ private AuthenticationProviderFactory _authenticationProviderFactory = mock(AuthenticationProviderFactory.class);
+ private PortFactory _portFactory = mock(PortFactory.class);
+
+ private GroupProviderRecoverer _groupProviderRecoverer = mock(GroupProviderRecoverer.class);
+
+ private ConfigurationEntry _entry = mock(ConfigurationEntry.class);
+
+ private UUID _brokerId = UUID.randomUUID();
+ private Map<ConfiguredObjectType, Collection<ConfigurationEntry>> _entryChildren = new HashMap<ConfiguredObjectType, Collection<ConfigurationEntry>>();
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ _brokerRecoverer = new BrokerRecoverer(_portRecoverer, _virtualHostRecoverer, _authenticationProviderRecoverer,
+ _authenticationProviderFactory, _portFactory, _groupProviderRecoverer, _applicationRegistry);
+ when(_entry.getId()).thenReturn(_brokerId);
+ when(_entry.getChildren()).thenReturn(_entryChildren);
+
+ }
+
+ public void testCreateBrokerWithVirtualHost()
+ {
+ ConfigurationEntry virtualHostEntry = mock(ConfigurationEntry.class);
+
+ VirtualHost virtualHost = mock(VirtualHost.class);
+
+ _entryChildren.put(ConfiguredObjectType.VIRTUAL_HOST, Arrays.asList(virtualHostEntry));
+
+ when(_virtualHostRecoverer.create(same(virtualHostEntry), any(Broker.class))).thenReturn(virtualHost);
+
+ Broker broker = _brokerRecoverer.create(_entry);
+
+ assertNotNull(broker);
+ assertEquals(_brokerId, broker.getId());
+ assertEquals(1, broker.getVirtualHosts().size());
+ assertEquals(virtualHost, broker.getVirtualHosts().iterator().next());
+
+ // XXX test top-level attributes eg status-updates
+ }
+
+ public void testCreateBrokerWithPorts()
+ {
+ ConfigurationEntry portEntry = mock(ConfigurationEntry.class);
+ Port port = mock(Port.class);
+ _entryChildren.put(ConfiguredObjectType.PORT, Arrays.asList(portEntry));
+
+ when(_portRecoverer.create(same(portEntry), any(Broker.class))).thenReturn(port);
+
+ Broker broker = _brokerRecoverer.create(_entry);
+
+ assertNotNull(broker);
+ assertEquals(_brokerId, broker.getId());
+ assertEquals(Collections.singletonList(port), broker.getPorts());
+ }
+
+ public void testCreateBrokerWithAuthenticationProviders()
+ {
+ ConfigurationEntry authenticationProviderEntry = mock(ConfigurationEntry.class);
+ AuthenticationProvider authenticationProvider = mock(AuthenticationProvider.class);
+ _entryChildren.put(ConfiguredObjectType.AUTHENTICATION_PROVIDER, Arrays.asList(authenticationProviderEntry));
+
+ when(_authenticationProviderRecoverer.create(same(authenticationProviderEntry), any(Broker.class))).thenReturn(
+ authenticationProvider);
+
+ Broker broker = _brokerRecoverer.create(_entry);
+
+ assertNotNull(broker);
+ assertEquals(_brokerId, broker.getId());
+ assertEquals(Collections.singletonList(authenticationProvider), broker.getAuthenticationProviders());
+ }
+
+ public void testCreateBrokerWithGroupProviders()
+ {
+ ConfigurationEntry groupProviderEntry = mock(ConfigurationEntry.class);
+ GroupProvider groupProvider = mock(GroupProvider.class);
+ _entryChildren.put(ConfiguredObjectType.GROUP_PROVIDER, Arrays.asList(groupProviderEntry));
+
+ when(_groupProviderRecoverer.create(same(groupProviderEntry), any(Broker.class))).thenReturn(groupProvider);
+
+ Broker broker = _brokerRecoverer.create(_entry);
+
+ assertNotNull(broker);
+ assertEquals(_brokerId, broker.getId());
+ assertEquals(Collections.singletonList(groupProvider), broker.getGroupProviders());
+ }
+}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,97 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration.startup;
+import static org.mockito.Mockito.*;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.GroupProvider;
+import org.apache.qpid.server.plugin.GroupManagerFactory;
+import org.apache.qpid.server.plugin.QpidServiceLoader;
+import org.apache.qpid.server.security.group.GroupManager;
+
+import junit.framework.TestCase;
+
+public class GroupProviderRecovererTest extends TestCase
+{
+
+ private UUID _id;
+ private Map<String, Object> _attributes;
+
+ private GroupManagerFactory _factory;
+ private QpidServiceLoader<GroupManagerFactory> _groupManagerServiceLoader;
+ private Broker _broker;
+ private ConfigurationEntry _configurationEntry;
+
+ @SuppressWarnings("unchecked")
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ _id = UUID.randomUUID();
+ _attributes = new HashMap<String, Object>();
+
+ _factory = mock(GroupManagerFactory.class);
+
+ _groupManagerServiceLoader = mock(QpidServiceLoader.class);
+ when(_groupManagerServiceLoader.instancesOf(GroupManagerFactory.class)).thenReturn(Collections.singletonList(_factory ));
+
+ _broker = mock(Broker.class);
+
+ _configurationEntry = mock(ConfigurationEntry.class);
+ when(_configurationEntry.getId()).thenReturn(_id);
+ when(_configurationEntry.getAttributes()).thenReturn(_attributes);
+ }
+
+ public void testCreate()
+ {
+ GroupManager groupManager = mock(GroupManager.class);
+ String name = groupManager.getClass().getSimpleName();
+ when(_factory.createInstance(_attributes)).thenReturn(groupManager);
+ GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupManagerServiceLoader);
+ GroupProvider groupProvider = groupProviderRecoverer.create(_configurationEntry, _broker);
+ assertNotNull("Null group provider", groupProvider);
+ assertEquals("Unexpected name", name, groupProvider.getName());
+ assertEquals("Unexpected ID", _id, groupProvider.getId());
+ }
+
+ public void testCreateThrowsExceptionWhenNoGroupManagerIsCreated()
+ {
+ when(_factory.createInstance(_attributes)).thenReturn(null);
+
+ GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupManagerServiceLoader);
+ try
+ {
+ groupProviderRecoverer.create(_configurationEntry, _broker);
+ fail("Configuration exception should be thrown when group manager is not created");
+ }
+ catch(IllegalConfigurationException e)
+ {
+ // pass
+ }
+ }
+
+}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,63 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration.startup;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.VirtualHostConfiguration;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.security.SecurityManager;
+import org.apache.qpid.server.stats.StatisticsGatherer;
+import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
+
+
+import junit.framework.TestCase;
+
+public class VirtualHostRecovererTest extends TestCase
+{
+ public void testCreate()
+ {
+ VirtualHostRegistry virtualHostRegistry = mock(VirtualHostRegistry.class);
+ StatisticsGatherer statisticsGatherer = mock(StatisticsGatherer.class);
+ SecurityManager securityManager = mock(SecurityManager.class);
+ Map<String, VirtualHostConfiguration> configurations = new HashMap<String, VirtualHostConfiguration>();
+ VirtualHostRecoverer recoverer = new VirtualHostRecoverer(virtualHostRegistry, statisticsGatherer, securityManager, configurations);
+
+ ConfigurationEntry entry = mock(ConfigurationEntry.class);
+ Broker parent = mock(Broker.class);
+ Map<String, Object> attributes = new HashMap<String, Object>();
+ attributes.put(VirtualHost.NAME, getName());
+ when(entry.getAttributes()).thenReturn(attributes);
+ configurations.put(getName(), mock(VirtualHostConfiguration.class));
+
+ VirtualHost host = recoverer.create(entry, parent);
+
+ assertNotNull("Null is returned", host);
+ assertEquals("Unexpected name", getName(), host.getName());
+ }
+
+}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/PortConfigurationHelperTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/PortConfigurationHelperTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/PortConfigurationHelperTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/PortConfigurationHelperTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,233 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration.store;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.server.BrokerOptions;
+import org.apache.qpid.server.ProtocolExclusion;
+import org.apache.qpid.server.ProtocolInclusion;
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ServerConfiguration;
+import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Protocol;
+import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.transport.ConnectionSettings;
+
+public class PortConfigurationHelperTest extends TestCase
+{
+ private ServerConfiguration _serverConfig;
+ private int _port;
+ private List<Integer> _ports;
+ private PortConfigurationHelper _helper;
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ _port = 5679;
+ _ports = Collections.singletonList(_port);
+ _serverConfig = mock(ServerConfiguration.class);
+ when(_serverConfig.getPorts()).thenReturn(_ports);
+
+ _helper = new PortConfigurationHelper(null);
+ }
+
+ public void testPortConfigurationCLIExclude()
+ {
+ setEnabledAmqpProtocolsOnServerConfiguration(true);
+ Set<ProtocolExclusion> exclusions = EnumSet.allOf(ProtocolExclusion.class);
+ for (ProtocolExclusion protocolExclusion : exclusions)
+ {
+ BrokerOptions options = new BrokerOptions();
+ options.setBind(ConnectionSettings.WILDCARD_ADDRESS);
+ options.addExcludedPort(protocolExclusion, _port);
+
+ Map<UUID, ConfigurationEntry> entries = _helper.getPortConfiguration(_serverConfig, options);
+ assertNotNull("Entries map is null", entries);
+ assertEquals("Unexpected number of entries", 1, entries.size());
+ ConfigurationEntry entry = entries.values().iterator().next();
+
+ Map<String, Object> attributes = entry.getAttributes();
+ assertNotNull("Entry attributes are null", attributes);
+
+ @SuppressWarnings("unchecked")
+ Set<Protocol> supported = (Set<Protocol>) attributes.get(Port.PROTOCOLS);
+ assertNotNull("No protocols found", supported);
+
+ final Set<Protocol> expected = getAllAmqpProtocolsExcept(protocolExclusion);
+
+ assertEquals("Unexpected protocols", expected, supported);
+ }
+ }
+
+ public void testPortConfigurationCLIInclude()
+ {
+ setEnabledAmqpProtocolsOnServerConfiguration(false);
+ Set<ProtocolInclusion> inclusions = EnumSet.allOf(ProtocolInclusion.class);
+ for (ProtocolInclusion protocolInclusion : inclusions)
+ {
+ BrokerOptions options = new BrokerOptions();
+ options.setBind(ConnectionSettings.WILDCARD_ADDRESS);
+ options.addIncludedPort(protocolInclusion, _port);
+
+ Map<UUID, ConfigurationEntry> entries = _helper.getPortConfiguration(_serverConfig, options);
+ assertNotNull("Entries map is null", entries);
+ assertEquals("Unexpected number of entries", 1, entries.size());
+ ConfigurationEntry entry = entries.values().iterator().next();
+
+ Map<String, Object> attributes = entry.getAttributes();
+ assertNotNull("Entry attributes are null", attributes);
+
+ @SuppressWarnings("unchecked")
+ Set<Protocol> supported = (Set<Protocol>) attributes.get(Port.PROTOCOLS);
+ assertNotNull("No protocols found", supported);
+
+ Protocol protocol = toProtocol(protocolInclusion);
+ final Set<Protocol> expected = EnumSet.of(protocol);
+
+ assertEquals("Unexpected protocols", expected, supported);
+ }
+
+ }
+
+ public void testCLIPortOverride()
+ {
+ int cliPort = 9876;
+ BrokerOptions options = new BrokerOptions();
+ options.setBind(ConnectionSettings.WILDCARD_ADDRESS);
+ options.addPort(cliPort);
+
+ Map<UUID, ConfigurationEntry> entries = _helper.getPortConfiguration(_serverConfig, options);
+ assertNotNull("Entries map is null", entries);
+ assertEquals("Unexpected number of entries", 1, entries.size());
+ ConfigurationEntry entry = entries.values().iterator().next();
+
+ Map<String, Object> attributes = entry.getAttributes();
+ assertNotNull("Entry attributes are null", attributes);
+
+ Integer port = (Integer) attributes.get(Port.PORT);
+ assertNotNull("No port found", port);
+
+ @SuppressWarnings("unchecked")
+ Collection<Transport> transports = (Collection<Transport>) attributes.get(Port.TRANSPORTS);
+ assertEquals("Unexpected transports", Collections.singleton(Transport.TCP), transports);
+ }
+
+ public void testCLISSLPortOverride()
+ {
+ when(_serverConfig.getEnableSSL()).thenReturn(true);
+ when(_serverConfig.getSSLOnly()).thenReturn(true);
+
+ int cliPort = 9876;
+ BrokerOptions options = new BrokerOptions();
+ options.setBind(ConnectionSettings.WILDCARD_ADDRESS);
+ options.addSSLPort(cliPort);
+
+ Map<UUID, ConfigurationEntry> entries = _helper.getPortConfiguration(_serverConfig, options);
+ assertNotNull("Entries map is null", entries);
+ assertEquals("Unexpected number of entries", 1, entries.size());
+ Iterator<ConfigurationEntry> iterator = entries.values().iterator();
+
+ ConfigurationEntry entry = iterator.next();
+
+ Map<String, Object> attributes = entry.getAttributes();
+ assertNotNull("Entry attributes are null", attributes);
+
+ Integer port = (Integer) attributes.get(Port.PORT);
+ assertNotNull("No port found", port);
+
+ assertEquals("Unexpected port", cliPort, port.intValue());
+
+ @SuppressWarnings("unchecked")
+ Collection<Transport> transports = (Collection<Transport>) attributes.get(Port.TRANSPORTS);
+ assertEquals("Unexpected transports", Collections.singleton(Transport.SSL), transports);
+ }
+
+ private void setEnabledAmqpProtocolsOnServerConfiguration(boolean isEnabled)
+ {
+ when(_serverConfig.isAmqp010enabled()).thenReturn(isEnabled);
+ when(_serverConfig.isAmqp08enabled()).thenReturn(isEnabled);
+ when(_serverConfig.isAmqp09enabled()).thenReturn(isEnabled);
+ when(_serverConfig.isAmqp091enabled()).thenReturn(isEnabled);
+ when(_serverConfig.isAmqp10enabled()).thenReturn(isEnabled);
+ }
+
+ private Set<Protocol> getAllAmqpProtocolsExcept(ProtocolExclusion excludedProtocol)
+ {
+ Set<Protocol> protocols = EnumSet.allOf(Protocol.class);
+ Protocol excluded = toProtocol(excludedProtocol);
+ protocols.remove(excluded);
+ protocols.remove(Protocol.HTTP);
+ protocols.remove(Protocol.HTTPS);
+ protocols.remove(Protocol.JMX_RMI);
+ return protocols;
+ }
+
+ private Protocol toProtocol(ProtocolExclusion excludedProtocol)
+ {
+ switch (excludedProtocol)
+ {
+ case v0_8:
+ return Protocol.AMQP_0_8;
+ case v0_9:
+ return Protocol.AMQP_0_9;
+ case v0_9_1:
+ return Protocol.AMQP_0_9_1;
+ case v0_10:
+ return Protocol.AMQP_0_10;
+ case v1_0:
+ return Protocol.AMQP_1_0;
+ }
+ throw new RuntimeException("Unsupported " + excludedProtocol);
+ }
+
+ private Protocol toProtocol(ProtocolInclusion protocolInclusion)
+ {
+ switch (protocolInclusion)
+ {
+ case v0_8:
+ return Protocol.AMQP_0_8;
+ case v0_9:
+ return Protocol.AMQP_0_9;
+ case v0_9_1:
+ return Protocol.AMQP_0_9_1;
+ case v0_10:
+ return Protocol.AMQP_0_10;
+ case v1_0:
+ return Protocol.AMQP_1_0;
+ }
+ throw new RuntimeException("Unsupported " + protocolInclusion);
+ }
+
+}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java Thu Nov 1 09:48:52 2012
@@ -57,7 +57,7 @@ public class ManagementActorTest extends
*
* The test sends a message then verifies that it entered the logs.
*
- * The log message should be fully repalaced (no '{n}' values) and should
+ * The log message should be fully replaced (no '{n}' values) and should
* not contain any channel identification.
*/
public void testConnection()
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,85 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model.adapter;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.model.AuthenticationProvider;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.PasswordCredentialManagingAuthenticationProvider;
+import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
+import org.apache.qpid.server.plugin.QpidServiceLoader;
+import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
+import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
+
+public class AuthenticationProviderFactoryTest extends TestCase
+{
+
+ public void testCreateInternalAuthenticationManager()
+ {
+ AuthenticationProvider provider = testForFactory(mock(PrincipalDatabaseAuthenticationManager.class));
+ assertTrue("The created provider should match the factory's AuthenticationManager type",
+ provider instanceof PasswordCredentialManagingAuthenticationProvider);
+ }
+
+ public void testCreateExternalAuthenticationManager()
+ {
+ AuthenticationProvider provider = testForFactory(mock(AuthenticationManager.class));
+ assertFalse("The created provider should match the factory's AuthenticationManager type",
+ provider instanceof PasswordCredentialManagingAuthenticationProvider);
+ }
+
+ @SuppressWarnings("unchecked")
+ private AuthenticationProvider testForFactory(AuthenticationManager authenticationManager)
+ {
+ UUID id = UUID.randomUUID();
+ Map<String, Object> attributes = new HashMap<String, Object>();
+
+ QpidServiceLoader<AuthenticationManagerFactory> authManagerFactoryServiceLoader = mock(QpidServiceLoader.class);
+ AuthenticationManagerFactory authenticationManagerFactory = mock(AuthenticationManagerFactory.class);
+ ConfigurationEntry configurationEntry = mock(ConfigurationEntry.class);
+
+ when(configurationEntry.getId()).thenReturn(id);
+ Broker broker = mock(Broker.class);
+
+ when(authManagerFactoryServiceLoader.atLeastOneInstanceOf(AuthenticationManagerFactory.class)).thenReturn(
+ Collections.singleton(authenticationManagerFactory));
+ when(authenticationManagerFactory.createInstance(attributes)).thenReturn(authenticationManager);
+
+ AuthenticationProviderFactory providerFactory = new AuthenticationProviderFactory(authManagerFactoryServiceLoader);
+ AuthenticationProvider provider = providerFactory.create(id, broker, attributes, null);
+
+ assertNotNull("Provider is not created", provider);
+ assertEquals("Unexpected ID", id, provider.getId());
+
+ return provider;
+ }
+
+}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortAttributeDestringifierTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortAttributeDestringifierTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortAttributeDestringifierTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortAttributeDestringifierTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,164 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model.adapter;
+
+import static org.apache.qpid.server.model.Port.NEED_CLIENT_AUTH;
+import static org.apache.qpid.server.model.Port.PORT;
+import static org.apache.qpid.server.model.Port.PROTOCOLS;
+import static org.apache.qpid.server.model.Port.RECEIVE_BUFFER_SIZE;
+import static org.apache.qpid.server.model.Port.SEND_BUFFER_SIZE;
+import static org.apache.qpid.server.model.Port.TCP_NO_DELAY;
+import static org.apache.qpid.server.model.Port.TRANSPORTS;
+import static org.apache.qpid.server.model.Port.WANT_CLIENT_AUTH;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.server.model.Protocol;
+import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.adapter.PortAttributeDestringifier;
+
+public class PortAttributeDestringifierTest extends TestCase
+{
+ public void testDestringify()
+ {
+ // values are non defaults to test the destringifier
+ AttributeTestData[] attributes = new AttributeTestData[] {
+ new AttributeTestData(PORT, "1234", 1234),
+ new AttributeTestData(NEED_CLIENT_AUTH, "true", true),
+ new AttributeTestData(WANT_CLIENT_AUTH, "true", true),
+ new AttributeTestData(SEND_BUFFER_SIZE, "2345", 2345),
+ new AttributeTestData(RECEIVE_BUFFER_SIZE, "3456", 3456),
+ new AttributeTestData(TCP_NO_DELAY, "false", false),
+ new AttributeTestData(TRANSPORTS, buildStringSetFromArray(Transport.TCP.name(), Transport.SSL.name()),
+ buildEnumSetFromArray(Transport.TCP, Transport.SSL)),
+ new AttributeTestData(PROTOCOLS, buildStringSetFromArray(Protocol.AMQP_0_10.name(), Protocol.HTTP.name()),
+ buildEnumSetFromArray(Protocol.AMQP_0_10, Protocol.HTTP)), };
+
+ Map<String, Object> attributesMap = new HashMap<String, Object>();
+ for (AttributeTestData attributeTestData : attributes)
+ {
+ attributesMap.put(attributeTestData.name, attributeTestData.value);
+ }
+
+ PortAttributeDestringifier portAttributeDestringifier = new PortAttributeDestringifier();
+ Map<String, Object> destringifiedAttributesMap = portAttributeDestringifier.destringify(attributesMap);
+
+ for (AttributeTestData attributeTestData : attributes)
+ {
+ Object value = destringifiedAttributesMap.get(attributeTestData.name);
+ assertEquals("Unexpected attribute " + attributeTestData.name + " value ", attributeTestData.destringifiedValue,
+ value);
+ }
+ }
+
+ public void testDestringifyWithoutMandatoryAttributesThrowsException()
+ {
+ AttributeTestData[] attributesWithoutPort = new AttributeTestData[] {
+ new AttributeTestData(NEED_CLIENT_AUTH, "true", true),
+ new AttributeTestData(WANT_CLIENT_AUTH, "true", true),
+ new AttributeTestData(SEND_BUFFER_SIZE, "2345", 2345),
+ new AttributeTestData(RECEIVE_BUFFER_SIZE, "3456", 3456),
+ new AttributeTestData(TCP_NO_DELAY, "false", false),
+ new AttributeTestData(TRANSPORTS, buildStringSetFromArray(Transport.TCP.name(), Transport.SSL.name()),
+ buildEnumSetFromArray(Transport.TCP, Transport.SSL)),
+ new AttributeTestData(PROTOCOLS, buildStringSetFromArray(Protocol.AMQP_0_10.name(), Protocol.HTTP.name()),
+ buildEnumSetFromArray(Protocol.AMQP_0_10, Protocol.HTTP)), };
+
+ Map<String, Object> attributesMap = new HashMap<String, Object>();
+ for (AttributeTestData attributeTestData : attributesWithoutPort)
+ {
+ attributesMap.put(attributeTestData.name, attributeTestData.value);
+ }
+
+ PortAttributeDestringifier portAttributeDestringifier = new PortAttributeDestringifier();
+ try
+ {
+ portAttributeDestringifier.destringify(attributesMap);
+ fail("For non existing port attribute an exception should be thrown");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // pass
+ }
+ }
+
+ public void testDestringifyWithUnsupportedProtocolThrowsException()
+ {
+ AttributeTestData[] attributesWithoutPort = new AttributeTestData[] {
+ new AttributeTestData(NEED_CLIENT_AUTH, "true", true),
+ new AttributeTestData(WANT_CLIENT_AUTH, "true", true),
+ new AttributeTestData(SEND_BUFFER_SIZE, "2345", 2345),
+ new AttributeTestData(RECEIVE_BUFFER_SIZE, "3456", 3456),
+ new AttributeTestData(TCP_NO_DELAY, "false", false),
+ new AttributeTestData(TRANSPORTS, buildStringSetFromArray(Transport.TCP.name(), Transport.SSL.name()),
+ buildEnumSetFromArray(Transport.TCP, Transport.SSL)),
+ new AttributeTestData(PROTOCOLS, buildStringSetFromArray("UNSUPPORTED_PROTOCOL", Protocol.HTTP.name()),
+ buildEnumSetFromArray(null, Protocol.HTTP)), };
+
+ Map<String, Object> attributesMap = new HashMap<String, Object>();
+ for (AttributeTestData attributeTestData : attributesWithoutPort)
+ {
+ attributesMap.put(attributeTestData.name, attributeTestData.value);
+ }
+
+ PortAttributeDestringifier portAttributeDestringifier = new PortAttributeDestringifier();
+ try
+ {
+ portAttributeDestringifier.destringify(attributesMap);
+ fail("For non supported protocol an exception should be thrown");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // pass
+ }
+ }
+
+ private Set<String> buildStringSetFromArray(String... values)
+ {
+ return new HashSet<String>(Arrays.asList(values));
+ }
+
+ private Set<?> buildEnumSetFromArray(Enum<?>... values)
+ {
+ return new HashSet<Enum<?>>(Arrays.asList(values));
+ }
+
+ private class AttributeTestData
+ {
+ String name;
+ Object value;
+ Object destringifiedValue;
+
+ public AttributeTestData(String name, Object value, Object destringifiedValue)
+ {
+ super();
+ this.name = name;
+ this.value = value;
+ this.destringifiedValue = destringifiedValue;
+ }
+ }
+}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,116 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model.adapter;
+
+import static org.mockito.Mockito.mock;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Protocol;
+import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.registry.IApplicationRegistry;
+import org.apache.qpid.server.transport.AmqpPortAdapter;
+
+public class PortFactoryTest extends TestCase
+{
+ private UUID _portId = UUID.randomUUID();
+ private int _portNumber = 123;
+ private Set<String> _tcpStringSet = Collections.singleton(Transport.TCP.name());
+ private Set<Transport> _tcpTransportSet = Collections.singleton(Transport.TCP);
+
+ private Map<String, Object> _attributes = new HashMap<String, Object>();
+
+ private IApplicationRegistry _applicationRegistry = mock(IApplicationRegistry.class);
+ private Broker _broker = mock(Broker.class);
+ private PortFactory _portFactory = new PortFactory(_applicationRegistry);
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ _attributes.put(Port.PORT, _portNumber);
+ _attributes.put(Port.TRANSPORTS, _tcpStringSet);
+
+ _attributes.put(Port.TCP_NO_DELAY, "true");
+ _attributes.put(Port.RECEIVE_BUFFER_SIZE, "1");
+ _attributes.put(Port.SEND_BUFFER_SIZE, "2");
+ _attributes.put(Port.NEED_CLIENT_AUTH, "true");
+ _attributes.put(Port.WANT_CLIENT_AUTH, "true");
+ }
+
+ public void testCreateAmqpPort()
+ {
+ Set<Protocol> amqp010ProtocolSet = Collections.singleton(Protocol.AMQP_0_10);
+ Set<String> amqp010StringSet = Collections.singleton(Protocol.AMQP_0_10.name());
+ _attributes.put(Port.PROTOCOLS, amqp010StringSet);
+
+ Port port = _portFactory.createPort(_portId, _broker, _attributes);
+
+ assertNotNull(port);
+ assertTrue(port instanceof AmqpPortAdapter);
+ assertEquals(_portId, port.getId());
+ assertEquals(_portNumber, port.getPort());
+ assertEquals(_tcpTransportSet, port.getTransports());
+ assertEquals(amqp010ProtocolSet, port.getProtocols());
+ }
+
+ public void testCreateNonAmqpPort()
+ {
+ Set<Protocol> nonAmqpProtocolSet = Collections.singleton(Protocol.JMX_RMI);
+ Set<String> nonAmqpStringSet = Collections.singleton(Protocol.JMX_RMI.name());
+ _attributes.put(Port.PROTOCOLS, nonAmqpStringSet);
+
+ Port port = _portFactory.createPort(_portId, _broker, _attributes);
+
+ assertNotNull(port);
+ assertFalse("Port should be a PortAdapter, not its AMQP-specific subclass", port instanceof AmqpPortAdapter);
+ assertEquals(_portId, port.getId());
+ assertEquals(_portNumber, port.getPort());
+ assertEquals(_tcpTransportSet, port.getTransports());
+ assertEquals(nonAmqpProtocolSet, port.getProtocols());
+ }
+
+ public void testCreateMixedAmqpAndNonAmqpThrowsException()
+ {
+ Set<String> mixedProtocolSet = new HashSet<String>(Arrays.asList(Protocol.AMQP_0_10.name(), Protocol.JMX_RMI.name()));
+ _attributes.put(Port.PROTOCOLS, mixedProtocolSet);
+
+ try
+ {
+ _portFactory.createPort(_portId, _broker, _attributes);
+ fail("Exception not thrown");
+ }
+ catch (IllegalConfigurationException e)
+ {
+ // pass
+ }
+ }
+}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,115 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model.configuration;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfigurationEntryStore;
+import org.apache.qpid.server.model.ConfiguredObjectType;
+import org.apache.qpid.server.model.VirtualHost;
+
+public class ConfigurationEntryTest extends TestCase
+{
+ public void testGetChildren()
+ {
+ ConfigurationEntryStore store = mock(ConfigurationEntryStore.class);
+
+ ConfigurationEntry virtualHostEntry1 = new ConfigurationEntry(UUID.randomUUID(), ConfiguredObjectType.VIRTUAL_HOST,
+ Collections.<String, Object> emptyMap(), Collections.<UUID> emptySet(), store);
+ ConfigurationEntry virtualHostEntry2 = new ConfigurationEntry(UUID.randomUUID(), ConfiguredObjectType.VIRTUAL_HOST,
+ Collections.<String, Object> emptyMap(), Collections.<UUID> emptySet(), store);
+ ConfigurationEntry portEntry = new ConfigurationEntry(UUID.randomUUID(), ConfiguredObjectType.PORT,
+ Collections.<String, Object> emptyMap(), Collections.<UUID> emptySet(), store);
+
+ when(store.getEntry(virtualHostEntry1.getId())).thenReturn(virtualHostEntry1);
+ when(store.getEntry(virtualHostEntry2.getId())).thenReturn(virtualHostEntry2);
+ when(store.getEntry(portEntry.getId())).thenReturn(portEntry);
+
+ Set<UUID> childrenIds = new HashSet<UUID>();
+ childrenIds.add(virtualHostEntry1.getId());
+ childrenIds.add(virtualHostEntry2.getId());
+ childrenIds.add(portEntry.getId());
+ ConfigurationEntry parentEntry = new ConfigurationEntry(UUID.randomUUID(), ConfiguredObjectType.BROKER,
+ Collections.<String, Object> emptyMap(), childrenIds, store);
+
+ Map<ConfiguredObjectType, Collection<ConfigurationEntry>> children = parentEntry.getChildren();
+ assertNotNull("Null is returned for children", children);
+ assertEquals("Unexpected size", 2, children.size());
+ Collection<ConfigurationEntry> virtualHosts = children.get(ConfiguredObjectType.VIRTUAL_HOST);
+ Collection<ConfigurationEntry> ports = children.get(ConfiguredObjectType.PORT);
+ assertEquals("Unexpected virtual hosts",
+ new HashSet<ConfigurationEntry>(Arrays.asList(virtualHostEntry1, virtualHostEntry2)),
+ new HashSet<ConfigurationEntry>(virtualHosts));
+ assertEquals("Unexpected ports", new HashSet<ConfigurationEntry>(Arrays.asList(portEntry)),
+ new HashSet<ConfigurationEntry>(ports));
+ }
+
+ public void testHashCode()
+ {
+ ConfigurationEntryStore store = mock(ConfigurationEntryStore.class);
+
+ UUID id = UUID.randomUUID();
+ ConfigurationEntry entry1 = new ConfigurationEntry(id, ConfiguredObjectType.VIRTUAL_HOST,
+ Collections.<String, Object> emptyMap(), Collections.singleton(UUID.randomUUID()), store);
+ ConfigurationEntry entry2 = new ConfigurationEntry(id, ConfiguredObjectType.VIRTUAL_HOST,
+ Collections.<String, Object> emptyMap(), Collections.singleton(UUID.randomUUID()), store);
+ ConfigurationEntry entryWithDifferentId = new ConfigurationEntry(UUID.randomUUID(),
+ ConfiguredObjectType.VIRTUAL_HOST, Collections.<String, Object> emptyMap(), Collections.singleton(UUID.randomUUID()), store);
+
+ assertTrue(entry1.hashCode() == entry2.hashCode());
+ assertFalse(entry1.hashCode() == entryWithDifferentId.hashCode());
+ }
+
+ public void testEqualsObject()
+ {
+ ConfigurationEntryStore store = mock(ConfigurationEntryStore.class);
+
+ UUID id = UUID.randomUUID();
+ Map<String, Object> attributes1 = new HashMap<String, Object>();
+ attributes1.put(VirtualHost.NAME, "name1");
+ ConfigurationEntry entry1 = new ConfigurationEntry(id, ConfiguredObjectType.VIRTUAL_HOST, attributes1,
+ Collections.singleton(UUID.randomUUID()), store);
+
+ Map<String, Object> attributes2 = new HashMap<String, Object>();
+ attributes2.put(VirtualHost.NAME, "name2");
+
+ ConfigurationEntry entry2 = new ConfigurationEntry(id, ConfiguredObjectType.VIRTUAL_HOST, attributes2,
+ Collections.singleton(UUID.randomUUID()), store);
+ ConfigurationEntry entryWithDifferentId = new ConfigurationEntry(UUID.randomUUID(),
+ ConfiguredObjectType.VIRTUAL_HOST, attributes1, Collections.singleton(UUID.randomUUID()), store);
+
+ assertTrue(entry1.equals(entry2));
+ assertFalse(entry1.equals(entryWithDifferentId));
+ }
+}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java Thu Nov 1 09:48:52 2012
@@ -35,13 +35,14 @@ import java.util.Set;
public class MultiVersionProtocolEngineFactoryTest extends QpidTestCase
{
+ private TestApplicationRegistry _appRegistry;
protected void setUp() throws Exception
{
super.setUp();
- //the factory needs a registry instance
- ApplicationRegistry.initialise(new TestApplicationRegistry(new ServerConfiguration(new XMLConfiguration())));
+ _appRegistry = new TestApplicationRegistry(new ServerConfiguration(new XMLConfiguration()));
+ ApplicationRegistry.initialise(_appRegistry);
}
protected void tearDown()
@@ -108,6 +109,7 @@ public class MultiVersionProtocolEngineF
(byte) 0
};
+
private byte[] getAmqpHeader(final AmqpProtocolVersion version)
{
switch(version)
@@ -137,7 +139,7 @@ public class MultiVersionProtocolEngineF
Set<AmqpProtocolVersion> versions = EnumSet.allOf(AmqpProtocolVersion.class);
MultiVersionProtocolEngineFactory factory =
- new MultiVersionProtocolEngineFactory(versions, null);
+ new MultiVersionProtocolEngineFactory(_appRegistry, versions, null);
//create a dummy to retrieve the 'current' ID number
long previousId = factory.newProtocolEngine().getConnectionId();
@@ -174,7 +176,7 @@ public class MultiVersionProtocolEngineF
try
{
- new MultiVersionProtocolEngineFactory(versions, AmqpProtocolVersion.v0_9);
+ new MultiVersionProtocolEngineFactory(_appRegistry, versions, AmqpProtocolVersion.v0_9);
fail("should not have been allowed to create the factory");
}
catch(IllegalArgumentException iae)
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java Thu Nov 1 09:48:52 2012
@@ -48,6 +48,7 @@ import org.apache.qpid.server.model.UUID
import org.apache.qpid.server.queue.BaseQueue.PostEnqueueAction;
import org.apache.qpid.server.queue.SimpleAMQQueue.QueueEntryFilter;
import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.stats.StatisticsGatherer;
import org.apache.qpid.server.store.StoredMessage;
import org.apache.qpid.server.store.TestableMemoryMessageStore;
import org.apache.qpid.server.subscription.MockSubscription;
@@ -114,7 +115,8 @@ public class SimpleAMQQueueTest extends
PropertiesConfiguration env = new PropertiesConfiguration();
final VirtualHostConfiguration vhostConfig = new VirtualHostConfiguration(getClass().getName(), env);
vhostConfig.setMessageStoreClass(TestableMemoryMessageStore.class.getName());
- _virtualHost = new VirtualHostImpl(ApplicationRegistry.getInstance(), vhostConfig);
+ _virtualHost = new VirtualHostImpl( applicationRegistry.getVirtualHostRegistry(), (StatisticsGatherer)applicationRegistry,
+ applicationRegistry.getSecurityManager(), vhostConfig);
applicationRegistry.getVirtualHostRegistry().registerVirtualHost(_virtualHost);
_queue = (SimpleAMQQueue) AMQQueueFactory.createAMQQueueImpl(UUIDGenerator.generateRandomUUID(), _qname.asString(), false, _owner.asString(), false, false, _virtualHost, FieldTable.convertToMap(_arguments));
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthManagerFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthManagerFactoryTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthManagerFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthManagerFactoryTest.java Thu Nov 1 09:48:52 2012
@@ -21,9 +21,9 @@ package org.apache.qpid.server.security.
import java.io.File;
import java.io.FileNotFoundException;
+import java.util.HashMap;
+import java.util.Map;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.XMLConfiguration;
import org.apache.qpid.server.security.auth.database.Base64MD5PasswordFilePrincipalDatabase;
import org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase;
@@ -32,7 +32,7 @@ import junit.framework.TestCase;
public class PrincipalDatabaseAuthManagerFactoryTest extends TestCase
{
PrincipalDatabaseAuthManagerFactory _factory = new PrincipalDatabaseAuthManagerFactory();
- private Configuration _configuration = new XMLConfiguration();
+ private Map<String, Object> _configuration = new HashMap<String, Object>();
private File _emptyPasswordFile;
@Override
@@ -45,9 +45,10 @@ public class PrincipalDatabaseAuthManage
public void testPlainInstanceCreated() throws Exception
{
- _configuration.setProperty("pd-auth-manager.principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.name", "passwordFile");
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.value", _emptyPasswordFile.getAbsolutePath());
+ _configuration.put(PrincipalDatabaseAuthManagerFactory.TYPE, "pd-auth-manager");
+ _configuration.put("principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
+ _configuration.put("principal-database.attributes.attribute.name", "passwordFile");
+ _configuration.put("principal-database.attributes.attribute.value", _emptyPasswordFile.getAbsolutePath());
AuthenticationManager manager = _factory.createInstance(_configuration);
assertNotNull(manager);
@@ -57,9 +58,10 @@ public class PrincipalDatabaseAuthManage
public void testBase64MD5nstanceCreated() throws Exception
{
- _configuration.setProperty("pd-auth-manager.principal-database.class", Base64MD5PasswordFilePrincipalDatabase.class.getName());
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.name", "passwordFile");
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.value", _emptyPasswordFile.getAbsolutePath());
+ _configuration.put(PrincipalDatabaseAuthManagerFactory.TYPE, "pd-auth-manager");
+ _configuration.put("principal-database.class", Base64MD5PasswordFilePrincipalDatabase.class.getName());
+ _configuration.put("principal-database.attributes.attribute.name", "passwordFile");
+ _configuration.put("principal-database.attributes.attribute.value", _emptyPasswordFile.getAbsolutePath());
AuthenticationManager manager = _factory.createInstance(_configuration);
assertNotNull(manager);
@@ -71,9 +73,10 @@ public class PrincipalDatabaseAuthManage
{
_emptyPasswordFile.delete();
- _configuration.setProperty("pd-auth-manager.principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.name", "passwordFile");
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.value", _emptyPasswordFile.getAbsolutePath());
+ _configuration.put(PrincipalDatabaseAuthManagerFactory.TYPE, "pd-auth-manager");
+ _configuration.put("principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
+ _configuration.put("principal-database.attributes.attribute.name", "passwordFile");
+ _configuration.put("principal-database.attributes.attribute.value", _emptyPasswordFile.getAbsolutePath());
try
{
@@ -93,16 +96,17 @@ public class PrincipalDatabaseAuthManage
public void testReturnsNullWhenConfigForOtherPDImplementation() throws Exception
{
- _configuration.setProperty("pd-auth-manager.principal-database.class", "mypdimpl");
-
+ _configuration.put("principal-database.class", "mypdimpl");
+ _configuration.put(PrincipalDatabaseAuthManagerFactory.TYPE, "pd-auth-manager");
AuthenticationManager manager = _factory.createInstance(_configuration);
assertNull(manager);
}
public void testReturnsNullWhenConfigForPlainPDImplementationNoPasswordFileValueSpecified() throws Exception
{
- _configuration.setProperty("pd-auth-manager.principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.name", "passwordFile");
+ _configuration.put("principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
+ _configuration.put("principal-database.attributes.attribute.name", "passwordFile");
+ _configuration.put(PrincipalDatabaseAuthManagerFactory.TYPE, "pd-auth-manager");
// no pd-auth-manager.attributes.attribute.value
AuthenticationManager manager = _factory.createInstance(_configuration);
@@ -111,9 +115,10 @@ public class PrincipalDatabaseAuthManage
public void testReturnsNullWhenConfigForPlainPDImplementationWrongArgumentName() throws Exception
{
- _configuration.setProperty("pd-auth-manager.principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.name", "wrong");
- _configuration.setProperty("pd-auth-manager.principal-database.attributes.attribute.value", "/does/not/matter");
+ _configuration.put("principal-database.class", PlainPasswordFilePrincipalDatabase.class.getName());
+ _configuration.put("principal-database.attributes.attribute.name", "wrong");
+ _configuration.put("principal-database.attributes.attribute.value", "/does/not/matter");
+ _configuration.put(PrincipalDatabaseAuthManagerFactory.TYPE, "pd-auth-manager");
AuthenticationManager manager = _factory.createInstance(_configuration);
assertNull(manager);
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java Thu Nov 1 09:48:52 2012
@@ -19,20 +19,22 @@
*/
package org.apache.qpid.server.security.auth.manager;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.XMLConfiguration;
+import java.util.HashMap;
+import java.util.Map;
+
import junit.framework.TestCase;
public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
{
private SimpleLDAPAuthenticationManagerFactory _factory = new SimpleLDAPAuthenticationManagerFactory();
- private Configuration _configuration = new XMLConfiguration();
+ private Map<String, Object> _configuration = new HashMap<String, Object>();
public void testInstanceCreated() throws Exception
{
- _configuration.setProperty("simple-ldap-auth-manager.provider-url", "ldaps://example.com:636/");
- _configuration.setProperty("simple-ldap-auth-manager.search-context", "dc=example");
+ _configuration.put(SimpleLDAPAuthenticationManagerFactory.TYPE, "simple-ldap-auth-manager");
+ _configuration.put("provider-url", "ldaps://example.com:636/");
+ _configuration.put("search-context", "dc=example");
AuthenticationManager manager = _factory.createInstance(_configuration);
assertNotNull(manager);
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/TestAuthenticationManagerFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/TestAuthenticationManagerFactory.java?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/TestAuthenticationManagerFactory.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/TestAuthenticationManagerFactory.java Thu Nov 1 09:48:52 2012
@@ -0,0 +1,49 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.security.auth.manager;
+
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
+import org.apache.qpid.server.security.auth.database.PropertiesPrincipalDatabase;
+
+public class TestAuthenticationManagerFactory implements AuthenticationManagerFactory
+{
+
+ public static final String TEST_AUTH_MANAGER_MARKER = "test-auth-manager";
+
+ @Override
+ public AuthenticationManager createInstance(Map<String, Object> attributes)
+ {
+ if (TEST_AUTH_MANAGER_MARKER.equals(attributes.get(TYPE)))
+ {
+ final Properties users = new Properties();
+ users.put("guest","guest");
+ users.put("admin","admin");
+ final PropertiesPrincipalDatabase ppd = new PropertiesPrincipalDatabase(users);
+ final AuthenticationManager pdam = new PrincipalDatabaseAuthenticationManager(ppd);
+ return pdam;
+ }
+ return null;
+ }
+
+}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java Thu Nov 1 09:48:52 2012
@@ -18,23 +18,25 @@
*/
package org.apache.qpid.server.security.group;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.XMLConfiguration;
-import org.apache.qpid.test.utils.TestFileUtils;
+import java.util.HashMap;
+import java.util.Map;
import junit.framework.TestCase;
+import org.apache.qpid.server.model.GroupProvider;
+import org.apache.qpid.test.utils.TestFileUtils;
+
public class FileGroupManagerFactoryTest extends TestCase
{
private FileGroupManagerFactory _factory = new FileGroupManagerFactory();
- private Configuration _configuration = new XMLConfiguration();
+ private Map<String, Object> _configuration = new HashMap<String, Object>();
private String _emptyButValidGroupFile = TestFileUtils.createTempFile(this).getAbsolutePath();
public void testInstanceCreated() throws Exception
{
- _configuration.setProperty("file-group-manager.attributes.attribute.name", "groupFile");
- _configuration.setProperty("file-group-manager.attributes.attribute.value", _emptyButValidGroupFile);
+ _configuration.put(GroupProvider.TYPE, FileGroupManagerFactory.FILE_GROUP_MANAGER_TYPE);
+ _configuration.put(FileGroupManagerFactory.FILE, _emptyButValidGroupFile);
GroupManager manager = _factory.createInstance(_configuration);
assertNotNull(manager);
@@ -49,32 +51,17 @@ public class FileGroupManagerFactoryTest
public void testReturnsNullWhenConfigNotForThisPlugin() throws Exception
{
- _configuration.setProperty("other-group-manager", "config");
+ _configuration.put(GroupProvider.TYPE, "other-group-manager");
GroupManager manager = _factory.createInstance(_configuration);
assertNull(manager);
}
- public void testRejectsConfigThatHasUnexpectedAttributeName() throws Exception
- {
- _configuration.setProperty("file-group-manager.attributes.attribute.name", "unexpected");
- _configuration.setProperty("file-group-manager.attributes.attribute.value", _emptyButValidGroupFile);
-
- try
- {
- _factory.createInstance(_configuration);
- fail("Exception not thrown");
- }
- catch (RuntimeException re)
- {
- // PASS
- }
- }
public void testRejectsConfigThatIsMissingAttributeValue() throws Exception
{
- _configuration.setProperty("file-group-manager.attributes.attribute.name", "groupFile");
- _configuration.setProperty("file-group-manager.attributes.attribute.value", null);
+ _configuration.put(GroupProvider.TYPE, FileGroupManagerFactory.FILE_GROUP_MANAGER_TYPE);
+ _configuration.put(FileGroupManagerFactory.FILE, null);
try
{
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/GroupPrincipalAccessorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/GroupPrincipalAccessorTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/GroupPrincipalAccessorTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/GroupPrincipalAccessorTest.java Thu Nov 1 09:48:52 2012
@@ -29,15 +29,14 @@ import java.util.Set;
import junit.framework.TestCase;
-import org.apache.qpid.server.security.group.GroupManager;
-import org.apache.qpid.server.security.group.GroupPrincipalAccessor;
+import org.apache.qpid.server.model.GroupProvider;
public class GroupPrincipalAccessorTest extends TestCase
{
private static final String USERNAME = "username";
- private GroupManager _groupManager1 = mock(GroupManager.class);
- private GroupManager _groupManager2 = mock(GroupManager.class);
+ private GroupProvider _groupManager1 = mock(GroupProvider.class);
+ private GroupProvider _groupManager2 = mock(GroupProvider.class);
private Principal _group1 = mock(Principal.class);
private Principal _group2 = mock(Principal.class);
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java Thu Nov 1 09:48:52 2012
@@ -121,8 +121,7 @@ public class MessageStoreTest extends In
try
{
getVirtualHost().close();
- getVirtualHost().getApplicationRegistry().
- getVirtualHostRegistry().unregisterVirtualHost(getVirtualHost());
+ getVirtualHost().getVirtualHostRegistry().unregisterVirtualHost(getVirtualHost());
}
catch (Exception e)
{
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/subscription/SubscriptionFactoryImplTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/subscription/SubscriptionFactoryImplTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/subscription/SubscriptionFactoryImplTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/subscription/SubscriptionFactoryImplTest.java Thu Nov 1 09:48:52 2012
@@ -69,7 +69,7 @@ public class SubscriptionFactoryImplTest
//create a 0-10 subscription
ServerConnection conn = new ServerConnection(1);
- ProtocolEngine_0_10 engine = new ProtocolEngine_0_10(conn, new TestNetworkConnection(), getRegistry());
+ ProtocolEngine_0_10 engine = new ProtocolEngine_0_10(conn, new TestNetworkConnection());
conn.setVirtualHost(getVirtualHost());
ServerSessionDelegate sesDel = new ServerSessionDelegate();
Binary name = new Binary(new byte[]{new Byte("1")});
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java Thu Nov 1 09:48:52 2012
@@ -20,11 +20,7 @@
*/
package org.apache.qpid.server.util;
-import java.net.SocketAddress;
-import java.util.Collections;
-import java.util.Map;
import org.apache.commons.configuration.ConfigurationException;
-
import org.apache.qpid.server.configuration.ServerConfiguration;
import org.apache.qpid.server.logging.NullRootMessageLogger;
import org.apache.qpid.server.logging.actors.BrokerActor;
@@ -32,14 +28,7 @@ import org.apache.qpid.server.logging.ac
import org.apache.qpid.server.logging.actors.GenericActor;
import org.apache.qpid.server.logging.log4j.LoggingManagementFacade;
import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.security.SubjectCreator;
-import org.apache.qpid.server.security.auth.database.PropertiesPrincipalDatabase;
-import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
-import org.apache.qpid.server.security.auth.manager.IAuthenticationManagerRegistry;
-import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
-import org.apache.qpid.server.security.group.GroupPrincipalAccessor;
-
-import java.util.Properties;
+import org.apache.qpid.server.security.auth.manager.TestAuthenticationManagerFactory;
public class TestApplicationRegistry extends ApplicationRegistry
{
@@ -52,53 +41,14 @@ public class TestApplicationRegistry ext
@Override
public void initialise() throws Exception
{
- CurrentActor.setDefault(new BrokerActor(new NullRootMessageLogger()));
- GenericActor.setDefaultMessageLogger(new NullRootMessageLogger());
LoggingManagementFacade.configure("test-profiles/log4j-test.xml");
-
+ getConfiguration().getConfig().addProperty("security." + TestAuthenticationManagerFactory.TEST_AUTH_MANAGER_MARKER, "");
super.initialise();
- }
- @Override
- protected IAuthenticationManagerRegistry createAuthenticationManagerRegistry(
- ServerConfiguration configuration, final GroupPrincipalAccessor groupPrincipalAccessor)
- throws ConfigurationException
- {
- final Properties users = new Properties();
- users.put("guest","guest");
- users.put("admin","admin");
-
- final PropertiesPrincipalDatabase ppd = new PropertiesPrincipalDatabase(users);
-
- final AuthenticationManager pdam = new PrincipalDatabaseAuthenticationManager(ppd);
- pdam.initialise();
-
- return new IAuthenticationManagerRegistry()
- {
- @Override
- public void close()
- {
- pdam.close();
- }
-
- @Override
- public SubjectCreator getSubjectCreator(SocketAddress address)
- {
- return new SubjectCreator(pdam, groupPrincipalAccessor);
- }
-
- @Override
- public Map<String, AuthenticationManager> getAvailableAuthenticationManagers()
- {
- return Collections.singletonMap(pdam.getClass().getName(), pdam);
- }
-
- @Override
- public void addRegistryChangeListener(RegistryChangeListener listener)
- {
- }
- };
+ CurrentActor.setDefault(new BrokerActor(new NullRootMessageLogger()));
+ GenericActor.setDefaultMessageLogger(new NullRootMessageLogger());
}
+
}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java Thu Nov 1 09:48:52 2012
@@ -28,14 +28,12 @@ import org.apache.qpid.server.exchange.E
import org.apache.qpid.server.exchange.ExchangeRegistry;
import org.apache.qpid.server.protocol.v1_0.LinkRegistry;
import org.apache.qpid.server.queue.QueueRegistry;
-import org.apache.qpid.server.registry.IApplicationRegistry;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
import org.apache.qpid.server.stats.StatisticsCounter;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.txn.DtxRegistry;
-import java.util.Map;
import java.util.UUID;
public class MockVirtualHost implements VirtualHost
@@ -52,7 +50,8 @@ public class MockVirtualHost implements
}
- public IApplicationRegistry getApplicationRegistry()
+ @Override
+ public VirtualHostRegistry getVirtualHostRegistry()
{
return null;
}
@@ -67,11 +66,6 @@ public class MockVirtualHost implements
return null;
}
- public UUID getBrokerId()
- {
- return null;
- }
-
public DtxRegistry getDtxRegistry()
{
return null;
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java?rev=1404521&r1=1404520&r2=1404521&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java Thu Nov 1 09:48:52 2012
@@ -74,17 +74,27 @@ public class VirtualHostImplTest extends
*/
public void testSpecifyingCustomBindingForDefaultExchangeThrowsException() throws Exception
{
- File config = writeConfigFile(getName(), getName(), null, false, new String[]{"custom-binding"});
+ final String queueName = getName();
+ final String customBinding = "custom-binding";
+ File config = writeConfigFile(queueName, queueName, null, false, new String[]{customBinding});
try
{
- createVirtualHost(getName(), config);
+ createVirtualHost(queueName, config);
fail("virtualhost creation should have failed due to illegal configuration");
}
catch (RuntimeException e)
{
- assertEquals(ConfigurationException.class, e.getCause().getClass());
- //expected
+ // PASS
+ assertEquals("Failed to create virtual host", e.getMessage());
+
+ assertNotNull(e.getCause());
+ assertNotNull(e.getCause().getCause());
+
+ assertEquals(ConfigurationException.class, e.getCause().getCause().getClass());
+
+ Throwable configException = e.getCause().getCause();
+ assertEquals("Illegal attempt to bind queue '" + queueName + "' to the default exchange with a key other than the queue name: " + customBinding, configException.getMessage());
}
}
@@ -112,17 +122,27 @@ public class VirtualHostImplTest extends
*/
public void testSpecifyingUnknownExchangeThrowsException() throws Exception
{
- File config = writeConfigFile(getName(), getName(), "made-up-exchange", true, new String[0]);
+ final String queueName = getName();
+ final String exchangeName = "made-up-exchange";
+ File config = writeConfigFile(queueName, queueName, exchangeName, true, new String[0]);
try
{
- createVirtualHost(getName(), config);
+ createVirtualHost(queueName, config);
fail("virtualhost creation should have failed due to illegal configuration");
}
catch (RuntimeException e)
{
- assertEquals(ConfigurationException.class, e.getCause().getClass());
- //expected
+ // PASS
+ assertEquals("Failed to create virtual host", e.getMessage());
+
+ assertNotNull(e.getCause());
+ assertNotNull(e.getCause().getCause());
+
+ assertEquals(ConfigurationException.class, e.getCause().getCause().getClass());
+
+ Throwable configException = e.getCause().getCause();
+ assertEquals("Attempt to bind queue '" + queueName + "' to unknown exchange:" + exchangeName, configException.getMessage());
}
}
Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/resources/META-INF/services/org.apache.qpid.server.plugin.AuthenticationManagerFactory
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/resources/META-INF/services/org.apache.qpid.server.plugin.AuthenticationManagerFactory?rev=1404521&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/resources/META-INF/services/org.apache.qpid.server.plugin.AuthenticationManagerFactory (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/resources/META-INF/services/org.apache.qpid.server.plugin.AuthenticationManagerFactory Thu Nov 1 09:48:52 2012
@@ -0,0 +1,6 @@
+org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManagerFactory
+org.apache.qpid.server.security.auth.manager.ExternalAuthenticationManagerFactory
+org.apache.qpid.server.security.auth.manager.KerberosAuthenticationManagerFactory
+org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthManagerFactory
+org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManagerFactory
+org.apache.qpid.server.security.auth.manager.TestAuthenticationManagerFactory
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org