summaryrefslogtreecommitdiff
path: root/java/broker-plugins/management-http/src/test/java/org/apache/qpid
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker-plugins/management-http/src/test/java/org/apache/qpid')
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java61
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java249
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/AuthenticationProviderRestTest.java73
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BindingRestTest.java129
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestHttpsTest.java86
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestTest.java118
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConnectionRestTest.java213
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeRestTest.java87
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsRestTest.java42
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/MessagesRestTest.java354
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/PortRestTest.java61
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java245
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QueueRestTest.java225
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslRestTest.java42
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureRestTest.java115
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/UserRestTest.java112
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java434
-rw-r--r--java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/session/LoginLogoutReporterTest.java74
18 files changed, 135 insertions, 2585 deletions
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
new file mode 100644
index 0000000000..bb4c46826c
--- /dev/null
+++ b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
@@ -0,0 +1,61 @@
+/*
+ * 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.management.plugin;
+
+import static org.mockito.Mockito.mock;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.plugin.PluginFactory;
+import org.apache.qpid.test.utils.QpidTestCase;
+
+public class HttpManagementFactoryTest extends QpidTestCase
+{
+ private static final int SESSION_TIMEOUT = 3600;
+
+ private PluginFactory _pluginFactory = new HttpManagementFactory();
+ private Map<String, Object> _attributes = new HashMap<String, Object>();
+ private Broker _broker = mock(Broker.class);
+ private UUID _id = UUID.randomUUID();
+
+ public void testCreateInstanceReturnsNullWhenPluginTypeMissing() throws Exception
+ {
+ assertNull(_pluginFactory.createInstance(_id, _attributes, _broker));
+ }
+ public void testCreateInstanceReturnsNullWhenPluginTypeNotHttp()
+ {
+ _attributes.put(PluginFactory.PLUGIN_TYPE, "notHttp");
+ assertNull(_pluginFactory.createInstance(_id, _attributes, _broker));
+ }
+
+ public void testCreateInstance() throws Exception
+ {
+ _attributes.put(PluginFactory.PLUGIN_TYPE, HttpManagement.PLUGIN_TYPE);
+ _attributes.put(HttpManagement.TIME_OUT, SESSION_TIMEOUT);
+
+ HttpManagement management = (HttpManagement) _pluginFactory.createInstance(_id, _attributes, _broker);
+
+ assertEquals(_broker, management.getBroker());
+ assertEquals(SESSION_TIMEOUT, management.getSessionTimeout());
+ }
+
+}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java
deleted file mode 100644
index 2595007574..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNotNull;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Map;
-
-import javax.jms.JMSException;
-
-import org.apache.qpid.client.AMQConnection;
-import org.apache.qpid.server.model.Binding;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.Connection;
-import org.apache.qpid.server.model.Exchange;
-import org.apache.qpid.server.model.LifetimePolicy;
-import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.model.VirtualHost;
-
-public class Asserts
-{
- public static final String STATISTICS_ATTRIBUTE = "statistics";
-
- public static void assertVirtualHost(String virtualHostName, Map<String, Object> virtualHost)
- {
- assertNotNull("Virtualhost " + virtualHostName + " data are not found", virtualHost);
- assertAttributesPresent(virtualHost, VirtualHost.AVAILABLE_ATTRIBUTES, VirtualHost.TIME_TO_LIVE,
- VirtualHost.CREATED, VirtualHost.UPDATED, VirtualHost.SUPPORTED_QUEUE_TYPES, VirtualHost.STORE_CONFIGURATION);
-
- assertEquals("Unexpected value of attribute " + VirtualHost.NAME, virtualHostName, virtualHost.get(VirtualHost.NAME));
- assertNotNull("Unexpected value of attribute " + VirtualHost.ID, virtualHost.get(VirtualHost.ID));
- assertEquals("Unexpected value of attribute " + VirtualHost.STATE, State.ACTIVE.name(),
- virtualHost.get(VirtualHost.STATE));
- assertEquals("Unexpected value of attribute " + VirtualHost.DURABLE, Boolean.TRUE,
- virtualHost.get(VirtualHost.DURABLE));
- assertEquals("Unexpected value of attribute " + VirtualHost.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- virtualHost.get(VirtualHost.LIFETIME_POLICY));
- assertEquals("Unexpected value of attribute " + VirtualHost.DEAD_LETTER_QUEUE_ENABLED, Boolean.FALSE,
- virtualHost.get(VirtualHost.DEAD_LETTER_QUEUE_ENABLED));
-
- @SuppressWarnings("unchecked")
- Collection<String> exchangeTypes = (Collection<String>) virtualHost.get(VirtualHost.SUPPORTED_EXCHANGE_TYPES);
- assertEquals("Unexpected value of attribute " + VirtualHost.SUPPORTED_EXCHANGE_TYPES,
- new HashSet<String>(Arrays.asList("headers", "topic", "direct", "fanout", "management")),
- new HashSet<String>(exchangeTypes));
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) virtualHost.get(STATISTICS_ATTRIBUTE);
- Asserts.assertAttributesPresent(statistics, VirtualHost.AVAILABLE_STATISTICS, VirtualHost.BYTES_RETAINED,
- VirtualHost.LOCAL_TRANSACTION_BEGINS, VirtualHost.LOCAL_TRANSACTION_ROLLBACKS,
- VirtualHost.MESSAGES_RETAINED, VirtualHost.STATE_CHANGED, VirtualHost.XA_TRANSACTION_BRANCH_ENDS,
- VirtualHost.XA_TRANSACTION_BRANCH_STARTS, VirtualHost.XA_TRANSACTION_BRANCH_SUSPENDS);
-
- }
-
- public static void assertQueue(String queueName, String queueType, Map<String, Object> queueData)
- {
- assertQueue(queueName, queueType, queueData, null);
- }
-
- public static void assertQueue(String queueName, String queueType, Map<String, Object> queueData, Map<String, Object> expectedAttributes)
- {
- assertNotNull("Queue " + queueName + " is not found!", queueData);
- Asserts.assertAttributesPresent(queueData, Queue.AVAILABLE_ATTRIBUTES, Queue.CREATED, Queue.UPDATED,
- Queue.DESCRIPTION, Queue.TIME_TO_LIVE, Queue.ALTERNATE_EXCHANGE, Queue.OWNER, Queue.NO_LOCAL, Queue.LVQ_KEY,
- Queue.SORT_KEY, Queue.MESSAGE_GROUP_KEY, Queue.MESSAGE_GROUP_DEFAULT_GROUP,
- Queue.MESSAGE_GROUP_SHARED_GROUPS, Queue.PRIORITIES);
-
- assertEquals("Unexpected value of queue attribute " + Queue.NAME, queueName, queueData.get(Queue.NAME));
- assertNotNull("Unexpected value of queue attribute " + Queue.ID, queueData.get(Queue.ID));
- assertEquals("Unexpected value of queue attribute " + Queue.STATE, State.ACTIVE.name(), queueData.get(Queue.STATE));
- assertEquals("Unexpected value of queue attribute " + Queue.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- queueData.get(Queue.LIFETIME_POLICY));
- assertEquals("Unexpected value of queue attribute " + Queue.TYPE, queueType, queueData.get(Queue.TYPE));
- if (expectedAttributes == null)
- {
- assertEquals("Unexpected value of queue attribute " + Queue.EXCLUSIVE, Boolean.FALSE, queueData.get(Queue.EXCLUSIVE));
- assertEquals("Unexpected value of queue attribute " + Queue.MAXIMUM_DELIVERY_ATTEMPTS, 0,
- queueData.get(Queue.MAXIMUM_DELIVERY_ATTEMPTS));
- assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES, 0,
- queueData.get(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES));
- assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_RESUME_SIZE_BYTES, 0,
- queueData.get(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES));
- assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_STOPPED, Boolean.FALSE,
- queueData.get(Queue.QUEUE_FLOW_STOPPED));
- }
- else
- {
- for (Map.Entry<String, Object> attribute : expectedAttributes.entrySet())
- {
- assertEquals("Unexpected value of " + queueName + " queue attribute " + attribute.getKey(),
- attribute.getValue(), queueData.get(attribute.getKey()));
- }
- }
-
- assertNotNull("Unexpected value of queue attribute statistics", queueData.get(Asserts.STATISTICS_ATTRIBUTE));
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) queueData.get(Asserts.STATISTICS_ATTRIBUTE);
- Asserts.assertAttributesPresent(statistics, Queue.AVAILABLE_STATISTICS, Queue.DISCARDS_TTL_BYTES,
- Queue.DISCARDS_TTL_MESSAGES, Queue.STATE_CHANGED);
- }
-
- public static void assertAttributesPresent(Map<String, Object> data, String[] attributes)
- {
- for (String name : attributes)
- {
- assertNotNull("Attribute " + name + " is not present", data.get(name));
- }
- }
-
- public static void assertAttributesPresent(Map<String, Object> data, Collection<String> attributes,
- String... unsupportedAttributes)
- {
- for (String name : attributes)
- {
- boolean unsupported = false;
- for (String unsupportedAttribute : unsupportedAttributes)
- {
- if (unsupportedAttribute.equals(name))
- {
- unsupported = true;
- break;
- }
- }
- if (unsupported)
- {
- continue;
- }
- assertNotNull("Attribute " + name + " is not present", data.get(name));
- }
- }
-
- public static void assertConnection(Map<String, Object> connectionData, AMQConnection connection) throws JMSException
- {
- assertNotNull("Unexpected connection data", connectionData);
- assertAttributesPresent(connectionData, Connection.AVAILABLE_ATTRIBUTES, Connection.STATE, Connection.DURABLE,
- Connection.LIFETIME_POLICY, Connection.TIME_TO_LIVE, Connection.CREATED, Connection.UPDATED,
- Connection.INCOMING, Connection.REMOTE_PROCESS_NAME, Connection.REMOTE_PROCESS_PID,
- Connection.LOCAL_ADDRESS, Connection.PROPERTIES);
-
- assertEquals("Unexpected value of connection attribute " + Connection.SESSION_COUNT_LIMIT,
- (int) connection.getMaximumChannelCount(), connectionData.get(Connection.SESSION_COUNT_LIMIT));
- assertEquals("Unexpected value of connection attribute " + Connection.CLIENT_ID, "clientid",
- connectionData.get(Connection.CLIENT_ID));
- assertEquals("Unexpected value of connection attribute " + Connection.PRINCIPAL, "guest",
- connectionData.get(Connection.PRINCIPAL));
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) connectionData.get(STATISTICS_ATTRIBUTE);
- assertAttributesPresent(statistics, Connection.AVAILABLE_STATISTICS, Connection.LOCAL_TRANSACTION_BEGINS,
- Connection.LOCAL_TRANSACTION_ROLLBACKS, Connection.STATE_CHANGED, Connection.XA_TRANSACTION_BRANCH_ENDS,
- Connection.XA_TRANSACTION_BRANCH_STARTS, Connection.XA_TRANSACTION_BRANCH_SUSPENDS);
- assertEquals("Unexpected value of connection statistics attribute " + Connection.SESSION_COUNT, 1,
- statistics.get(Connection.SESSION_COUNT));
- }
-
- public static void assertPortAttributes(Map<String, Object> port)
- {
- assertAttributesPresent(port, Port.AVAILABLE_ATTRIBUTES, Port.CREATED, Port.UPDATED);
-
- assertNotNull("Unexpected value of attribute " + Port.ID, port.get(Port.ID));
- assertEquals("Unexpected value of attribute " + Port.DURABLE, Boolean.FALSE, port.get(Port.DURABLE));
- assertEquals("Unexpected value of attribute " + Port.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- port.get(Broker.LIFETIME_POLICY));
- assertEquals("Unexpected value of attribute " + Port.STATE, State.ACTIVE.name(), port.get(Port.STATE));
- assertEquals("Unexpected value of attribute " + Port.TIME_TO_LIVE, 0, port.get(Port.TIME_TO_LIVE));
- assertNotNull("Unexpected value of attribute " + Port.BINDING_ADDRESS, port.get(Port.BINDING_ADDRESS));
- assertNotNull("Unexpected value of attribute " + Port.PROTOCOLS, port.get(Port.PROTOCOLS));
- assertNotNull("Unexpected value of attribute " + Port.NAME, port.get(Port.NAME));
-
- @SuppressWarnings("unchecked")
- Collection<String> transports = (Collection<String>) port.get(Port.TRANSPORTS);
- assertEquals("Unexpected value of attribute " + Port.TRANSPORTS, new HashSet<String>(Arrays.asList("TCP")),
- new HashSet<String>(transports));
- }
-
- public static void assertDurableExchange(String exchangeName, String type, Map<String, Object> exchangeData)
- {
- assertExchange(exchangeName, type, exchangeData);
-
- assertEquals("Unexpected value of exchange attribute " + Exchange.DURABLE, Boolean.TRUE,
- exchangeData.get(Exchange.DURABLE));
- }
-
- public static void assertExchange(String exchangeName, String type, Map<String, Object> exchangeData)
- {
- assertNotNull("Exchange " + exchangeName + " is not found!", exchangeData);
- assertAttributesPresent(exchangeData, Exchange.AVAILABLE_ATTRIBUTES, Exchange.CREATED, Exchange.UPDATED,
- Exchange.ALTERNATE_EXCHANGE, Exchange.TIME_TO_LIVE);
-
- assertEquals("Unexpected value of exchange attribute " + Exchange.NAME, exchangeName,
- exchangeData.get(Exchange.NAME));
- assertNotNull("Unexpected value of exchange attribute " + Exchange.ID, exchangeData.get(VirtualHost.ID));
- assertEquals("Unexpected value of exchange attribute " + Exchange.STATE, State.ACTIVE.name(),
- exchangeData.get(Exchange.STATE));
-
- assertEquals("Unexpected value of exchange attribute " + Exchange.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- exchangeData.get(Exchange.LIFETIME_POLICY));
- assertEquals("Unexpected value of exchange attribute " + Exchange.TYPE, type, exchangeData.get(Exchange.TYPE));
- assertNotNull("Unexpected value of exchange attribute statistics", exchangeData.get(STATISTICS_ATTRIBUTE));
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) exchangeData.get(STATISTICS_ATTRIBUTE);
- assertAttributesPresent(statistics, Exchange.AVAILABLE_STATISTICS, Exchange.STATE_CHANGED, Exchange.PRODUCER_COUNT);
- }
-
- public static void assertBinding(String bindingName, String queueName, String exchange, Map<String, Object> binding)
- {
- assertNotNull("Binding map should not be null", binding);
- assertAttributesPresent(binding, Binding.AVAILABLE_ATTRIBUTES, Binding.STATE, Binding.TIME_TO_LIVE,
- Binding.CREATED, Binding.UPDATED);
-
- assertEquals("Unexpected binding attribute " + Binding.NAME, bindingName, binding.get(Binding.NAME));
- assertEquals("Unexpected binding attribute " + Binding.QUEUE, queueName, binding.get(Binding.QUEUE));
- assertEquals("Unexpected binding attribute " + Binding.EXCHANGE, exchange, binding.get(Binding.EXCHANGE));
- assertEquals("Unexpected binding attribute " + Binding.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- binding.get(Binding.LIFETIME_POLICY));
- }
-
- public static void assertBinding(String queueName, String exchange, Map<String, Object> binding)
- {
- assertBinding(queueName, queueName, exchange, binding);
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/AuthenticationProviderRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/AuthenticationProviderRestTest.java
deleted file mode 100644
index 5e6d9a998a..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/AuthenticationProviderRestTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.LifetimePolicy;
-import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.model.User;
-
-public class AuthenticationProviderRestTest extends QpidRestTestCase
-{
-
- public void testGet() throws Exception
- {
- List<Map<String, Object>> providerDetails = getJsonAsList("/rest/authenticationprovider");
- assertNotNull("Providers details cannot be null", providerDetails);
- assertEquals("Unexpected number of providers", 1, providerDetails.size());
- for (Map<String, Object> provider : providerDetails)
- {
- assertProvider("PrincipalDatabaseAuthenticationManager", provider);
- Map<String, Object> data = getJsonAsSingletonList("/rest/authenticationprovider/"
- + provider.get(AuthenticationProvider.NAME));
- assertNotNull("Cannot load data for " + provider.get(AuthenticationProvider.NAME), data);
- assertProvider("PrincipalDatabaseAuthenticationManager", data);
- }
- }
-
- private void assertProvider(String type, Map<String, Object> provider)
- {
- Asserts.assertAttributesPresent(provider, AuthenticationProvider.AVAILABLE_ATTRIBUTES,
- AuthenticationProvider.CREATED, AuthenticationProvider.UPDATED, AuthenticationProvider.DESCRIPTION,
- AuthenticationProvider.TIME_TO_LIVE);
- assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.STATE, State.ACTIVE.name(),
- provider.get(AuthenticationProvider.STATE));
- assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.LIFETIME_POLICY,
- LifetimePolicy.PERMANENT.name(), provider.get(AuthenticationProvider.LIFETIME_POLICY));
- assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.DURABLE, Boolean.TRUE,
- provider.get(AuthenticationProvider.DURABLE));
- assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.TYPE, type,
- provider.get(AuthenticationProvider.TYPE));
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> users = (List<Map<String, Object>>) provider.get("users");
- assertNotNull("Users are not found", users);
- assertTrue("Unexpected number of users", users.size() > 1);
- for (Map<String, Object> user : users)
- {
- assertNotNull("Attribute " + User.ID, user.get(User.ID));
- assertNotNull("Attribute " + User.NAME, user.get(User.NAME));
- }
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BindingRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BindingRestTest.java
deleted file mode 100644
index 1ed0d97185..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BindingRestTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.net.HttpURLConnection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.qpid.server.model.Binding;
-
-public class BindingRestTest extends QpidRestTestCase
-{
-
- public void testGetAllBindings() throws Exception
- {
- List<Map<String, Object>> bindings = getJsonAsList("/rest/binding");
- assertNotNull("Bindings cannot be null", bindings);
- assertTrue("Unexpected number of bindings", bindings.size() >= EXPECTED_HOSTS.length * EXPECTED_QUEUES.length);
- for (Map<String, Object> binding : bindings)
- {
- Asserts.assertBinding((String) binding.get(Binding.NAME), (String) binding.get(Binding.EXCHANGE), binding);
- }
- }
-
- public void testGetVirtualHostBindings() throws Exception
- {
- List<Map<String, Object>> bindings = getJsonAsList("/rest/binding/test");
- assertNotNull("Bindings cannot be null", bindings);
- assertEquals("Unexpected number of bindings", EXPECTED_QUEUES.length * 2, bindings.size());
- for (String queueName : EXPECTED_QUEUES)
- {
- Map<String, Object> searchAttributes = new HashMap<String, Object>();
- searchAttributes.put(Binding.NAME, queueName);
- searchAttributes.put(Binding.EXCHANGE, "amq.direct");
-
- Map<String, Object> binding = find(searchAttributes, bindings);
- Asserts.assertBinding(queueName, "amq.direct", binding);
-
- searchAttributes.put(Binding.EXCHANGE, "<<default>>");
-
- binding = find(searchAttributes, bindings);
- Asserts.assertBinding(queueName, "<<default>>", binding);
- }
- }
-
- public void testGetVirtualHostExchangeBindings() throws Exception
- {
- List<Map<String, Object>> bindings = getJsonAsList("/rest/binding/test/amq.direct");
- assertNotNull("Bindings cannot be null", bindings);
- assertEquals("Unexpected number of bindings", EXPECTED_QUEUES.length, bindings.size());
- for (String queueName : EXPECTED_QUEUES)
- {
- Map<String, Object> binding = find(Binding.NAME, queueName, bindings);
- Asserts.assertBinding(queueName, "amq.direct", binding);
- }
- }
-
- public void testGetVirtualHostExchangeQueueBindings() throws Exception
- {
- List<Map<String, Object>> bindings = getJsonAsList("/rest/binding/test/amq.direct/queue");
- assertNotNull("Bindings cannot be null", bindings);
- assertEquals("Unexpected number of bindings", 1, bindings.size());
- Asserts.assertBinding("queue", "amq.direct", bindings.get(0));
- }
-
-
- public void testDeleteBinding() throws Exception
- {
- List<Map<String, Object>> bindings = getJsonAsList("/rest/binding/test/amq.direct/queue/queue");
- assertEquals("Unexpected number of bindings", 1, bindings.size());
- Asserts.assertBinding("queue", "amq.direct", bindings.get(0));
-
- HttpURLConnection connection = openManagementConection("/rest/binding/test/amq.direct/queue/queue", "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
-
- bindings = getJsonAsList("/rest/binding/test/amq.direct/queue/queue");
- assertEquals("Binding should be deleted", 0, bindings.size());
- }
-
- public void testDeleteBindingById() throws Exception
- {
- Map<String, Object> binding = getJsonAsSingletonList("/rest/binding/test/amq.direct/queue");
- HttpURLConnection connection = openManagementConection("/rest/binding/test/amq.direct?id=" + binding.get(Binding.ID), "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
- List<Map<String, Object>> bindings = getJsonAsList("/rest/binding/test/amq.direct/queue");
- assertEquals("Binding should be deleted", 0, bindings.size());
- }
-
- public void testCreateBinding() throws Exception
- {
- String bindingName = getTestName();
- Map<String, Object> bindingData = new HashMap<String, Object>();
- bindingData.put(Binding.NAME, bindingName);
- bindingData.put(Binding.QUEUE, "queue");
- bindingData.put(Binding.EXCHANGE, "amq.direct");
-
- HttpURLConnection connection = openManagementConection("/rest/binding/test/amq.direct/queue/" + bindingName, "PUT");
- connection.connect();
- writeJsonRequest(connection, bindingData);
- int responseCode = connection.getResponseCode();
- connection.disconnect();
- assertEquals("Unexpected response code", 201, responseCode);
- Map<String, Object> binding = getJsonAsSingletonList("/rest/binding/test/amq.direct/queue/" + bindingName);
-
- Asserts.assertBinding(bindingName, "queue", "amq.direct", binding);
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestHttpsTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestHttpsTest.java
deleted file mode 100644
index 4bbe9155cd..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestHttpsTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.Map;
-
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLSocketFactory;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.qpid.server.model.Broker;
-
-public class BrokerRestHttpsTest extends QpidRestTestCase
-{
- private static final String TRUSTSTORE = "test-profiles/test_resources/ssl/java_client_truststore.jks";
- private static final String TRUSTSTORE_PASSWORD = "password";
-
- @Override
- public void setUp() throws Exception
- {
- setSystemProperty("javax.net.debug", "ssl");
- super.setUp();
- setSystemProperty("javax.net.ssl.trustStore", TRUSTSTORE);
- setSystemProperty("javax.net.ssl.trustStorePassword", TRUSTSTORE_PASSWORD);
- }
-
- @Override
- protected void customizeConfiguration() throws ConfigurationException, IOException
- {
- setConfigurationProperty("management.enabled", "true");
- setConfigurationProperty("management.http.enabled", "false");
- setConfigurationProperty("management.https.enabled", "true");
- setConfigurationProperty("management.https.port", Integer.toString(getHttpPort()));
- }
-
- @Override
- protected String getHostName()
- {
- return "localhost";
- }
-
- @Override
- protected String getProtocol()
- {
- return "https";
- }
-
- @Override
- protected HttpURLConnection openManagementConection(String path) throws IOException
- {
- URL url = getManagementURL(path);
- HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
- ((HttpsURLConnection) httpCon).setSSLSocketFactory((SSLSocketFactory) SSLSocketFactory.getDefault());
- httpCon.setDoOutput(true);
- return httpCon;
- }
-
- public void testGetWithHttps() throws Exception
- {
- Map<String, Object> brokerDetails = getJsonAsSingletonList("/rest/broker");
-
- Asserts.assertAttributesPresent(brokerDetails, Broker.AVAILABLE_ATTRIBUTES, Broker.BYTES_RETAINED,
- Broker.PROCESS_PID, Broker.SUPPORTED_STORE_TYPES, Broker.CREATED, Broker.TIME_TO_LIVE, Broker.UPDATED);
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestTest.java
deleted file mode 100644
index f2970e2ba9..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.qpid.common.QpidProperties;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.LifetimePolicy;
-import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.model.VirtualHost;
-
-public class BrokerRestTest extends QpidRestTestCase
-{
-
- private static final String BROKER_AUTHENTICATIONPROVIDERS_ATTRIBUTE = "authenticationproviders";
- private static final String BROKER_PORTS_ATTRIBUTE = "ports";
- private static final String BROKER_VIRTUALHOSTS_ATTRIBUTE = "virtualhosts";
- private static final String BROKER_STATISTICS_ATTRIBUTE = "statistics";
-
- public void testGet() throws Exception
- {
- Map<String, Object> brokerDetails = getJsonAsSingletonList("/rest/broker");
-
- assertBrokerAttributes(brokerDetails);
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) brokerDetails.get(BROKER_STATISTICS_ATTRIBUTE);
- Asserts.assertAttributesPresent(statistics, new String[]{ "bytesIn", "messagesOut", "bytesOut", "messagesIn" });
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> virtualhosts = (List<Map<String, Object>>) brokerDetails.get(BROKER_VIRTUALHOSTS_ATTRIBUTE);
- assertEquals("Unexpected number of virtual hosts", 3, virtualhosts.size());
-
- Asserts.assertVirtualHost("development", find(VirtualHost.NAME, "development", virtualhosts));
- Asserts.assertVirtualHost("localhost", find(VirtualHost.NAME, "localhost", virtualhosts));
- Asserts.assertVirtualHost("test", find(VirtualHost.NAME, "test", virtualhosts));
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> ports = (List<Map<String, Object>>) brokerDetails.get(BROKER_PORTS_ATTRIBUTE);
- assertEquals("Unexpected number of ports", 2, ports.size());
-
- for (Map<String, Object> port : ports)
- {
- Asserts.assertPortAttributes(port);
- }
-
- String bindingAddress = (String)ports.get(0).get(Port.BINDING_ADDRESS);
-
- Map<String, Object> amqpPort = find(Port.NAME, bindingAddress + ":" + getPort(), ports);
- Map<String, Object> httpPort = find(Port.NAME, bindingAddress + ":" + getHttpPort(), ports);
-
- assertNotNull("Cannot find AMQP port", amqpPort);
- assertNotNull("Cannot find HTTP port", httpPort);
-
- @SuppressWarnings("unchecked")
- Collection<String> port1Protocols = (Collection<String>) amqpPort.get(Port.PROTOCOLS);
- assertFalse("AMQP protocol list cannot contain HTTP", port1Protocols.contains("HTTP"));
-
- @SuppressWarnings("unchecked")
- Collection<String> port2Protocols = (Collection<String>) httpPort.get(Port.PROTOCOLS);
- assertEquals("Unexpected value of attribute " + Port.PROTOCOLS, new HashSet<String>(Arrays.asList("HTTP")),
- new HashSet<String>(port2Protocols));
- }
-
- protected void assertBrokerAttributes(Map<String, Object> brokerDetails)
- {
- Asserts.assertAttributesPresent(brokerDetails, Broker.AVAILABLE_ATTRIBUTES,
- Broker.BYTES_RETAINED, Broker.PROCESS_PID, Broker.SUPPORTED_STORE_TYPES,
- Broker.CREATED, Broker.TIME_TO_LIVE, Broker.UPDATED);
-
- assertEquals("Unexpected value of attribute " + Broker.BUILD_VERSION, QpidProperties.getBuildVersion(),
- brokerDetails.get(Broker.BUILD_VERSION));
- assertEquals("Unexpected value of attribute " + Broker.OPERATING_SYSTEM, System.getProperty("os.name") + " "
- + System.getProperty("os.version") + " " + System.getProperty("os.arch"),
- brokerDetails.get(Broker.OPERATING_SYSTEM));
- assertEquals(
- "Unexpected value of attribute " + Broker.PLATFORM,
- System.getProperty("java.vendor") + " "
- + System.getProperty("java.runtime.version", System.getProperty("java.version")),
- brokerDetails.get(Broker.PLATFORM));
- assertEquals("Unexpected value of attribute " + Broker.DURABLE, Boolean.TRUE, brokerDetails.get(Broker.DURABLE));
- assertEquals("Unexpected value of attribute " + Broker.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- brokerDetails.get(Broker.LIFETIME_POLICY));
- assertEquals("Unexpected value of attribute " + Broker.NAME, "Broker", brokerDetails.get(Broker.NAME));
- assertEquals("Unexpected value of attribute " + Broker.STATE, State.ACTIVE.name(), brokerDetails.get(Broker.STATE));
-
- assertNotNull("Unexpected value of attribute " + Broker.ID, brokerDetails.get(Broker.ID));
- assertNotNull("Unexpected value of attribute statistics", brokerDetails.get(BROKER_STATISTICS_ATTRIBUTE));
- assertNotNull("Unexpected value of attribute virtualhosts", brokerDetails.get(BROKER_VIRTUALHOSTS_ATTRIBUTE));
- assertNotNull("Unexpected value of attribute ports", brokerDetails.get(BROKER_PORTS_ATTRIBUTE));
- assertNotNull("Unexpected value of attribute authenticationproviders", brokerDetails.get(BROKER_AUTHENTICATIONPROVIDERS_ATTRIBUTE));
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConnectionRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConnectionRestTest.java
deleted file mode 100644
index 3661b94a7c..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConnectionRestTest.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.List;
-import java.util.Map;
-
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-
-import org.apache.qpid.client.AMQConnection;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.server.model.Connection;
-import org.apache.qpid.server.model.Session;
-
-public class ConnectionRestTest extends QpidRestTestCase
-{
- /**
- * Message number to publish into queue
- */
- private static final int MESSAGE_NUMBER = 5;
- private static final int MESSAGE_SIZE = 6;
-
- private static final String SESSIONS_ATTRIBUTE = "sessions";
-
- private javax.jms.Connection _connection;
- private javax.jms.Session _session;
-
- public void setUp() throws Exception
- {
- super.setUp();
-
- _connection = getConnection();
- _session = _connection.createSession(true, javax.jms.Session.SESSION_TRANSACTED);
- String queueName = getTestQueueName();
- Destination queue = _session.createQueue(queueName);
- MessageConsumer consumer = _session.createConsumer(queue);
- MessageProducer producer = _session.createProducer(queue);
- _connection.start();
-
- // send messages
- for (int i = 0; i < MESSAGE_NUMBER; i++)
- {
- producer.send(_session.createTextMessage("Test-" + i));
- }
- _session.commit();
-
- Message m = consumer.receive(1000l);
- assertNotNull("Message was not received", m);
- _session.commit();
-
- // receive the rest of messages for rollback
- for (int i = 0; i < MESSAGE_NUMBER - 1; i++)
- {
- m = consumer.receive(1000l);
- assertNotNull("Message was not received", m);
- }
- _session.rollback();
-
- // receive them again
- for (int i = 0; i < MESSAGE_NUMBER - 1; i++)
- {
- m = consumer.receive(1000l);
- assertNotNull("Message was not received", m);
- }
- }
-
- public void testGetAllConnections() throws Exception
- {
- List<Map<String, Object>> connections = getJsonAsList("/rest/connection");
- assertEquals("Unexpected number of connections", 1, connections.size());
- Asserts.assertConnection(connections.get(0), (AMQConnection) _connection);
- }
-
- public void testGetVirtualHostConnections() throws Exception
- {
- List<Map<String, Object>> connections = getJsonAsList("/rest/connection/test");
- assertEquals("Unexpected number of connections", 1, connections.size());
- Asserts.assertConnection(connections.get(0), (AMQConnection) _connection);
- }
-
- public void testGetConnectionByName() throws Exception
- {
- // get connection name
- String connectionName = getConnectionName();
-
- Map<String, Object> connectionDetails = getJsonAsSingletonList("/rest/connection/test/"
- + URLDecoder.decode(connectionName, "UTF-8"));
- assertConnection(connectionDetails);
- }
-
- public void testGetAllSessions() throws Exception
- {
- List<Map<String, Object>> sessions = getJsonAsList("/rest/session");
- assertEquals("Unexpected number of sessions", 1, sessions.size());
- assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
- }
-
- public void testGetVirtualHostSessions() throws Exception
- {
- List<Map<String, Object>> sessions = getJsonAsList("/rest/session/test");
- assertEquals("Unexpected number of sessions", 1, sessions.size());
- assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
- }
-
- public void testGetConnectionSessions() throws Exception
- {
- // get connection name
- String connectionName = getConnectionName();
-
- List<Map<String, Object>> sessions = getJsonAsList("/rest/session/test/"
- + URLDecoder.decode(connectionName, "UTF-8"));
- assertEquals("Unexpected number of sessions", 1, sessions.size());
- assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
- }
-
- public void testGetSessionByName() throws Exception
- {
- // get connection name
- String connectionName = getConnectionName();
-
- List<Map<String, Object>> sessions = getJsonAsList("/rest/session/test/"
- + URLDecoder.decode(connectionName, "UTF-8") + "/" + ((AMQSession<?, ?>) _session).getChannelId());
- assertEquals("Unexpected number of sessions", 1, sessions.size());
- assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
- }
-
- private void assertConnection(Map<String, Object> connectionDetails) throws JMSException
- {
- Asserts.assertConnection(connectionDetails, (AMQConnection) _connection);
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) connectionDetails.get(Asserts.STATISTICS_ATTRIBUTE);
- assertEquals("Unexpected value of connection statistics attribute " + Connection.BYTES_IN, MESSAGE_NUMBER
- * MESSAGE_SIZE, statistics.get(Connection.BYTES_IN));
- assertEquals("Unexpected value of connection statistics attribute " + Connection.BYTES_OUT, MESSAGE_SIZE
- + ((MESSAGE_NUMBER - 1) * MESSAGE_SIZE) * 2, statistics.get(Connection.BYTES_OUT));
- assertEquals("Unexpected value of connection statistics attribute " + Connection.MESSAGES_IN, MESSAGE_NUMBER,
- statistics.get(Connection.MESSAGES_IN));
- assertEquals("Unexpected value of connection statistics attribute " + Connection.MESSAGES_OUT,
- MESSAGE_NUMBER * 2 - 1, statistics.get(Connection.MESSAGES_OUT));
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> sessions = (List<Map<String, Object>>) connectionDetails.get(SESSIONS_ATTRIBUTE);
- assertNotNull("Sessions cannot be found", sessions);
- assertEquals("Unexpected number of sessions", 1, sessions.size());
- assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
- }
-
- private void assertSession(Map<String, Object> sessionData, AMQSession<?, ?> session)
- {
- assertNotNull("Session map cannot be null", sessionData);
- Asserts.assertAttributesPresent(sessionData, Session.AVAILABLE_ATTRIBUTES, Session.STATE, Session.DURABLE,
- Session.LIFETIME_POLICY, Session.TIME_TO_LIVE, Session.CREATED, Session.UPDATED);
- assertEquals("Unexpecte value of attribute " + Session.NAME, session.getChannelId() + "",
- sessionData.get(Session.NAME));
- assertEquals("Unexpecte value of attribute " + Session.PRODUCER_FLOW_BLOCKED, Boolean.FALSE,
- sessionData.get(Session.PRODUCER_FLOW_BLOCKED));
- assertEquals("Unexpecte value of attribute " + Session.CHANNEL_ID, session.getChannelId(),
- sessionData.get(Session.CHANNEL_ID));
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) sessionData.get(Asserts.STATISTICS_ATTRIBUTE);
- Asserts.assertAttributesPresent(statistics, Session.AVAILABLE_STATISTICS, Session.BYTES_IN, Session.BYTES_OUT,
- Session.STATE_CHANGED, Session.UNACKNOWLEDGED_BYTES, Session.LOCAL_TRANSACTION_OPEN,
- Session.XA_TRANSACTION_BRANCH_ENDS, Session.XA_TRANSACTION_BRANCH_STARTS,
- Session.XA_TRANSACTION_BRANCH_SUSPENDS);
-
- assertEquals("Unexpecte value of statistic attribute " + Session.UNACKNOWLEDGED_MESSAGES, MESSAGE_NUMBER - 1,
- statistics.get(Session.UNACKNOWLEDGED_MESSAGES));
- assertEquals("Unexpecte value of statistic attribute " + Session.LOCAL_TRANSACTION_BEGINS, 4,
- statistics.get(Session.LOCAL_TRANSACTION_BEGINS));
- assertEquals("Unexpecte value of statistic attribute " + Session.LOCAL_TRANSACTION_ROLLBACKS, 1,
- statistics.get(Session.LOCAL_TRANSACTION_ROLLBACKS));
- assertEquals("Unexpecte value of statistic attribute " + Session.CONSUMER_COUNT, 1,
- statistics.get(Session.CONSUMER_COUNT));
- }
-
- private String getConnectionName() throws IOException
- {
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> connections = (List<Map<String, Object>>) hostDetails
- .get(VirtualHostRestTest.VIRTUALHOST_CONNECTIONS_ATTRIBUTE);
- assertEquals("Unexpected number of connections", 1, connections.size());
- Map<String, Object> connection = connections.get(0);
- String connectionName = (String) connection.get(Connection.NAME);
- return connectionName;
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeRestTest.java
deleted file mode 100644
index 4904d2adf3..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeRestTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.net.URLDecoder;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.qpid.server.model.Binding;
-import org.apache.qpid.server.model.Exchange;
-
-public class ExchangeRestTest extends QpidRestTestCase
-{
- public void testGet() throws Exception
- {
- List<Map<String, Object>> exchanges = getJsonAsList("/rest/exchange");
- assertNotNull("Exchanges cannot be null", exchanges);
- assertTrue("Unexpected number of exchanges", exchanges.size() >= EXPECTED_HOSTS.length * EXPECTED_EXCHANGES.length);
- for (Map<String, Object> exchange : exchanges)
- {
- Asserts.assertExchange((String) exchange.get(Exchange.NAME), (String) exchange.get(Exchange.TYPE), exchange);
- }
- }
-
- public void testGetHostExchanges() throws Exception
- {
- List<Map<String, Object>> exchanges = getJsonAsList("/rest/exchange/test");
- assertNotNull("Users cannot be null", exchanges);
- assertEquals("Unexpected number of exchanges", 6, EXPECTED_EXCHANGES.length);
- for (String exchangeName : EXPECTED_EXCHANGES)
- {
- Map<String, Object> exchange = find(Exchange.NAME, exchangeName, exchanges);
- assertExchange(exchangeName, exchange);
- }
- }
-
- public void testGetHostExchangeByName() throws Exception
- {
- for (String exchangeName : EXPECTED_EXCHANGES)
- {
- Map<String, Object> exchange = getJsonAsSingletonList("/rest/exchange/test/"
- + URLDecoder.decode(exchangeName, "UTF-8"));
- assertExchange(exchangeName, exchange);
- }
- }
-
- private void assertExchange(String exchangeName, Map<String, Object> exchange)
- {
- assertNotNull("Exchange with name " + exchangeName + " is not found", exchange);
- String type = (String) exchange.get(Exchange.TYPE);
- Asserts.assertExchange(exchangeName, type, exchange);
- if ("direct".equals(type))
- {
- assertBindings(exchange);
- }
- }
-
- private void assertBindings(Map<String, Object> exchange)
- {
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) exchange.get("bindings");
- for (String queueName : EXPECTED_QUEUES)
- {
- Map<String, Object> binding = find(Binding.NAME, queueName, bindings);
- Asserts.assertBinding(queueName, (String) exchange.get(Exchange.NAME), binding);
- }
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsRestTest.java
deleted file mode 100644
index c64fd6e1da..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsRestTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.util.List;
-import java.util.Map;
-
-public class LogRecordsRestTest extends QpidRestTestCase
-{
- public void testGet() throws Exception
- {
- List<Map<String, Object>> logs = getJsonAsList("/rest/logrecords");
- assertNotNull("Logs data cannot be null", logs);
- assertTrue("Logs are not found", logs.size() > 0);
- Map<String, Object> record = find("message", "[Broker] BRK-1004 : Qpid Broker Ready", logs);
-
- assertNotNull("BRK-1004 message is not found", record);
- assertNotNull("Message id cannot be null", record.get("id"));
- assertNotNull("Message timestamp cannot be null", record.get("timestamp"));
- assertEquals("Unexpected log level", "INFO", record.get("level"));
- assertEquals("Unexpected thread", "main", record.get("thread"));
- assertEquals("Unexpected logger", "qpid.message.broker.ready", record.get("logger"));
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/MessagesRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/MessagesRestTest.java
deleted file mode 100644
index 492df43957..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/MessagesRestTest.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.DeliveryMode;
-import javax.jms.Destination;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
-
-public class MessagesRestTest extends QpidRestTestCase
-{
-
- /**
- * Message number to publish into queue
- */
- private static final int MESSAGE_NUMBER = 12;
-
- private Connection _connection;
- private Session _session;
- private MessageProducer _producer;
- private long _startTime;
- private long _ttl;
-
- public void setUp() throws Exception
- {
- super.setUp();
- _startTime = System.currentTimeMillis();
- _connection = getConnection();
- _session = _connection.createSession(true, Session.SESSION_TRANSACTED);
- String queueName = getTestQueueName();
- Destination queue = _session.createQueue(queueName);
- _session.createConsumer(queue);
- _producer = _session.createProducer(queue);
-
- _ttl = TimeUnit.DAYS.toMillis(1);
- for (int i = 0; i < MESSAGE_NUMBER; i++)
- {
- Message m = _session.createTextMessage("Test-" + i);
- m.setIntProperty("index", i);
- if (i % 2 == 0)
- {
- _producer.send(m);
- }
- else
- {
- _producer.send(m, DeliveryMode.NON_PERSISTENT, 5, _ttl);
- }
- }
- _session.commit();
- }
-
- public void testGet() throws Exception
- {
- String queueName = getTestQueueName();
- List<Map<String, Object>> messages = getJsonAsList("/rest/message/test/" + queueName);
- assertNotNull("Messages are not found", messages);
- assertEquals("Unexpected number of messages", MESSAGE_NUMBER, messages.size());
- int position = 0;
- for (Map<String, Object> message : messages)
- {
- assertMessage(position, message);
- position++;
- }
- }
-
- public void testGetMessageContent() throws Exception
- {
- String queueName = getTestQueueName();
-
- // add bytes message
- BytesMessage byteMessage = _session.createBytesMessage();
- byte[] messageBytes = "Test".getBytes();
- byteMessage.writeBytes(messageBytes);
- byteMessage.setStringProperty("test", "value");
- _producer.send(byteMessage);
- _session.commit();
-
- // get message IDs
- List<Long> ids = getMesssageIds(queueName);
-
- Map<String, Object> message = getJsonAsMap("/rest/message/test/" + queueName + "/" + ids.get(0));
- assertMessageAttributes(message);
- assertMessageAttributeValues(message, true);
-
- @SuppressWarnings("unchecked")
- Map<String, Object> headers = (Map<String, Object>) message.get("headers");
- assertNotNull("Message headers are not found", headers);
- assertEquals("Unexpected message header", 0, headers.get("index"));
-
- Long lastMessageId = ids.get(ids.size() - 1);
- message = getJsonAsMap("/rest/message/test/" + queueName + "/" + lastMessageId);
- assertMessageAttributes(message);
- assertEquals("Unexpected message attribute mimeType", "application/octet-stream", message.get("mimeType"));
- assertEquals("Unexpected message attribute size", 4, message.get("size"));
-
- @SuppressWarnings("unchecked")
- Map<String, Object> bytesMessageHeader = (Map<String, Object>) message.get("headers");
- assertNotNull("Message headers are not found", bytesMessageHeader);
- assertEquals("Unexpected message header", "value", bytesMessageHeader.get("test"));
-
- // get content
- HttpURLConnection connection = openManagementConection("/rest/message-content/test/" + queueName + "/"
- + lastMessageId, "GET");
- connection.connect();
- byte[] data = readConnectionInputStream(connection);
- assertTrue("Unexpected message", Arrays.equals(messageBytes, data));
-
- }
-
- public void testPostMoveMessages() throws Exception
- {
- String queueName = getTestQueueName();
- String queueName2 = queueName + "_2";
- Destination queue2 = _session.createQueue(queueName2);
- _session.createConsumer(queue2);
-
- // get message IDs
- List<Long> ids = getMesssageIds(queueName);
-
- // move half of the messages
- int movedNumber = ids.size() / 2;
- List<Long> movedMessageIds = new ArrayList<Long>();
- for (int i = 0; i < movedNumber; i++)
- {
- movedMessageIds.add(ids.remove(i));
- }
-
- // move messages
- HttpURLConnection connection = openManagementConection("/rest/message/test/" + queueName, "POST");
-
- Map<String, Object> messagesData = new HashMap<String, Object>();
- messagesData.put("messages", movedMessageIds);
- messagesData.put("destinationQueue", queueName2);
- messagesData.put("move", Boolean.TRUE);
-
- writeJsonRequest(connection, messagesData);
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
-
- // check messages on target queue
- List<Map<String, Object>> messages = getJsonAsList("/rest/message/test/" + queueName2);
- assertNotNull("Messages are not found", messages);
- assertEquals("Unexpected number of messages", movedMessageIds.size(), messages.size());
- for (Long id : movedMessageIds)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertMessageAttributes(message);
- }
-
- // check messages on original queue
- messages = getJsonAsList("/rest/message/test/" + queueName);
- assertNotNull("Messages are not found", messages);
- assertEquals("Unexpected number of messages", ids.size(), messages.size());
- for (Long id : ids)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertMessageAttributes(message);
- }
- for (Long id : movedMessageIds)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertNull("Moved message " + id + " is found on original queue", message);
- }
- }
-
- public void testPostCopyMessages() throws Exception
- {
- String queueName = getTestQueueName();
- String queueName2 = queueName + "_2";
- Destination queue2 = _session.createQueue(queueName2);
- _session.createConsumer(queue2);
-
- // get message IDs
- List<Long> ids = getMesssageIds(queueName);
-
- // copy half of the messages
- int copyNumber = ids.size() / 2;
- List<Long> copyMessageIds = new ArrayList<Long>();
- for (int i = 0; i < copyNumber; i++)
- {
- copyMessageIds.add(ids.remove(i));
- }
-
- // copy messages
- HttpURLConnection connection = openManagementConection("/rest/message/test/" + queueName, "POST");
-
- Map<String, Object> messagesData = new HashMap<String, Object>();
- messagesData.put("messages", copyMessageIds);
- messagesData.put("destinationQueue", queueName2);
-
- writeJsonRequest(connection, messagesData);
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
-
- // check messages on target queue
- List<Map<String, Object>> messages = getJsonAsList("/rest/message/test/" + queueName2);
- assertNotNull("Messages are not found", messages);
- assertEquals("Unexpected number of messages", copyMessageIds.size(), messages.size());
- for (Long id : copyMessageIds)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertMessageAttributes(message);
- }
-
- // check messages on original queue
- messages = getJsonAsList("/rest/message/test/" + queueName);
- assertNotNull("Messages are not found", messages);
- assertEquals("Unexpected number of messages", MESSAGE_NUMBER, messages.size());
- for (Long id : ids)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertMessageAttributes(message);
- }
- for (Long id : copyMessageIds)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertMessageAttributes(message);
- }
- }
-
- public void testDeleteMessages() throws Exception
- {
- String queueName = getTestQueueName();
-
- // get message IDs
- List<Long> ids = getMesssageIds(queueName);
-
- // delete half of the messages
- int deleteNumber = ids.size() / 2;
- StringBuilder queryString = new StringBuilder();
- List<Long> deleteMessageIds = new ArrayList<Long>();
- for (int i = 0; i < deleteNumber; i++)
- {
- Long id = ids.remove(i);
- deleteMessageIds.add(id);
- if (queryString.length() > 0)
- {
- queryString.append("&");
- }
- queryString.append("id=").append(id);
- }
-
- // delete messages
- HttpURLConnection connection = openManagementConection(
- "/rest/message/test/" + queueName + "?" + queryString.toString(), "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
-
- // check messages on queue
- List<Map<String, Object>> messages = getJsonAsList("/rest/message/test/" + queueName);
- assertNotNull("Messages are not found", messages);
- assertEquals("Unexpected number of messages", ids.size(), messages.size());
- for (Long id : ids)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertMessageAttributes(message);
- }
- for (Long id : deleteMessageIds)
- {
- Map<String, Object> message = find("id", id.intValue(), messages);
- assertNull("Message with id " + id + " was not deleted", message);
- }
- }
-
- private List<Long> getMesssageIds(String queueName) throws IOException, JsonParseException, JsonMappingException
- {
- List<Map<String, Object>> messages = getJsonAsList("/rest/message/test/" + queueName);
- List<Long> ids = new ArrayList<Long>();
- for (Map<String, Object> message : messages)
- {
- ids.add(((Number) message.get("id")).longValue());
- }
- return ids;
- }
-
- private void assertMessage(int position, Map<String, Object> message)
- {
- assertMessageAttributes(message);
-
- assertEquals("Unexpected message attribute position", position, message.get("position"));
- assertEquals("Unexpected message attribute size", position < 10 ? 6 : 7, message.get("size"));
- boolean even = position % 2 == 0;
- assertMessageAttributeValues(message, even);
- }
-
- private void assertMessageAttributeValues(Map<String, Object> message, boolean even)
- {
- if (even)
- {
- assertEquals("Unexpected message attribute expirationTime", 0, message.get("expirationTime"));
- assertEquals("Unexpected message attribute priority", 4, message.get("priority"));
- assertEquals("Unexpected message attribute persistent", Boolean.TRUE, message.get("persistent"));
- }
- else
- {
- assertEquals("Unexpected message attribute expirationTime", ((Number) message.get("timestamp")).longValue()
- + _ttl, message.get("expirationTime"));
- assertEquals("Unexpected message attribute priority", 5, message.get("priority"));
- assertEquals("Unexpected message attribute persistent", Boolean.FALSE, message.get("persistent"));
- }
- assertEquals("Unexpected message attribute mimeType", "text/plain", message.get("mimeType"));
- assertEquals("Unexpected message attribute userId", "guest", message.get("userId"));
- assertEquals("Unexpected message attribute deliveryCount", 0, message.get("deliveryCount"));
- assertEquals("Unexpected message attribute state", "Available", message.get("state"));
- }
-
- private void assertMessageAttributes(Map<String, Object> message)
- {
- assertNotNull("Message map cannot be null", message);
- assertNotNull("Unexpected message attribute deliveryCount", message.get("deliveryCount"));
- assertNotNull("Unexpected message attribute state", message.get("state"));
- assertNotNull("Unexpected message attribute id", message.get("id"));
- assertNotNull("Message arrivalTime cannot be null", message.get("arrivalTime"));
- assertNotNull("Message timestamp cannot be null", message.get("timestamp"));
- assertTrue("Message arrivalTime cannot be null", ((Number) message.get("arrivalTime")).longValue() > _startTime);
- assertNotNull("Message messageId cannot be null", message.get("messageId"));
- assertNotNull("Unexpected message attribute mimeType", message.get("mimeType"));
- assertNotNull("Unexpected message attribute userId", message.get("userId"));
- assertNotNull("Message priority cannot be null", message.get("priority"));
- assertNotNull("Message expirationTime cannot be null", message.get("expirationTime"));
- assertNotNull("Message persistent cannot be null", message.get("persistent"));
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/PortRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/PortRestTest.java
deleted file mode 100644
index 739ef5c737..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/PortRestTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.net.URLDecoder;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.qpid.server.model.Port;
-
-public class PortRestTest extends QpidRestTestCase
-{
- public void testGet() throws Exception
- {
- List<Map<String, Object>> ports = getJsonAsList("/rest/port/");
- assertNotNull("Port data cannot be null", ports);
- assertEquals("Unexpected number of ports", 2, ports.size());
- int[] expectedPorts = { getPort(), getHttpPort() };
- for (int port : expectedPorts)
- {
- String portName = "0.0.0.0:" + port;
- Map<String, Object> portData = find(Port.NAME, portName, ports);
- assertNotNull("Port " + portName + " is not found", portData);
- Asserts.assertPortAttributes(portData);
- }
- }
-
- public void testGetPort() throws Exception
- {
- List<Map<String, Object>> ports = getJsonAsList("/rest/port/");
- assertNotNull("Ports data cannot be null", ports);
- assertEquals("Unexpected number of ports", 2, ports.size());
- for (Map<String, Object> portMap : ports)
- {
- String portName = (String) portMap.get(Port.NAME);
- assertNotNull("Port name attribute is not found", portName);
- Map<String, Object> portData = getJsonAsSingletonList("/rest/port/" + URLDecoder.decode(portName, "UTF-8"));
- assertNotNull("Port " + portName + " is not found", portData);
- Asserts.assertPortAttributes(portData);
- }
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java
deleted file mode 100644
index e83341de80..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.net.InetAddress;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.log4j.Logger;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
-
-public class QpidRestTestCase extends QpidBrokerTestCase
-{
- private static final Logger LOGGER = Logger.getLogger(QpidRestTestCase.class);
-
- public static final String[] EXPECTED_HOSTS = { "development", "test", "localhost" };
- public static final String[] EXPECTED_QUEUES = { "queue", "ping" };
- public static final String[] EXPECTED_EXCHANGES = { "amq.fanout", "amq.match", "amq.direct", "amq.topic",
- "qpid.management", "<<default>>" };
-
- private int _httpPort;
- private String _hostName;
- private List<HttpURLConnection> _httpConnections;
-
- @Override
- public void setUp() throws Exception
- {
- _httpConnections = new ArrayList<HttpURLConnection>();
- _hostName = InetAddress.getLocalHost().getHostName();
- _httpPort = findFreePort();
- customizeConfiguration();
- super.setUp();
-
- }
-
- protected void customizeConfiguration() throws ConfigurationException, IOException
- {
- setConfigurationProperty("management.enabled", "false");
- setConfigurationProperty("management.http.enabled", "true");
- setConfigurationProperty("management.https.enabled", "false");
- setConfigurationProperty("management.http.port", Integer.toString(_httpPort));
- }
-
- public void teearDown() throws Exception
- {
- for (HttpURLConnection connection : _httpConnections)
- {
- try
- {
- connection.disconnect();
- }
- catch (Exception e)
- {
- // ignore
- }
- }
- super.tearDown();
- }
-
- protected int getHttpPort()
- {
- return _httpPort;
- }
-
- protected String getHostName()
- {
- return _hostName;
- }
-
- protected String getProtocol()
- {
- return "http";
- }
-
- protected String getManagementURL()
- {
- return getProtocol() + "://" + getHostName() + ":" + getHttpPort();
- }
-
- protected URL getManagementURL(String path) throws MalformedURLException
- {
- return new URL(getManagementURL() + path);
- }
-
- protected HttpURLConnection openManagementConection(String path) throws IOException
- {
- URL url = getManagementURL(path);
- HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
- httpCon.setDoOutput(true);
- return httpCon;
- }
-
- protected HttpURLConnection openManagementConection(String path, String method) throws IOException
- {
- HttpURLConnection httpCon = openManagementConection(path);
- httpCon.setRequestMethod(method);
- return httpCon;
- }
-
- protected List<Map<String, Object>> readJsonResponseAsList(HttpURLConnection connection) throws IOException,
- JsonParseException, JsonMappingException
- {
- byte[] data = readConnectionInputStream(connection);
-
- ObjectMapper mapper = new ObjectMapper();
-
- TypeReference<List<LinkedHashMap<String, Object>>> typeReference = new TypeReference<List<LinkedHashMap<String, Object>>>()
- {
- };
- List<Map<String, Object>> providedObject = mapper.readValue(new ByteArrayInputStream(data), typeReference);
- return providedObject;
- }
-
- protected Map<String, Object> readJsonResponseAsMap(HttpURLConnection connection) throws IOException,
- JsonParseException, JsonMappingException
- {
- byte[] data = readConnectionInputStream(connection);
-
- ObjectMapper mapper = new ObjectMapper();
-
- TypeReference<LinkedHashMap<String, Object>> typeReference = new TypeReference<LinkedHashMap<String, Object>>()
- {
- };
- Map<String, Object> providedObject = mapper.readValue(new ByteArrayInputStream(data), typeReference);
- return providedObject;
- }
-
- protected byte[] readConnectionInputStream(HttpURLConnection connection) throws IOException
- {
- InputStream is = connection.getInputStream();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int len = -1;
- while ((len = is.read(buffer)) != -1)
- {
- baos.write(buffer, 0, len);
- }
- if (LOGGER.isTraceEnabled())
- {
- LOGGER.trace("RESPONSE:" + new String(baos.toByteArray()));
- }
- return baos.toByteArray();
- }
-
- protected void writeJsonRequest(HttpURLConnection connection, Map<String, Object> data) throws JsonGenerationException,
- JsonMappingException, IOException
- {
- ObjectMapper mapper = new ObjectMapper();
- mapper.writeValue(connection.getOutputStream(), data);
- }
-
- protected Map<String, Object> find(String name, Object value, List<Map<String, Object>> data)
- {
- for (Map<String, Object> map : data)
- {
- Object mapValue = map.get(name);
- if (value.equals(mapValue))
- {
- return map;
- }
- }
- return null;
- }
-
- protected Map<String, Object> find(Map<String, Object> searchAttributes, List<Map<String, Object>> data)
- {
- for (Map<String, Object> map : data)
- {
- boolean equals = true;
- for (Map.Entry<String, Object> entry : searchAttributes.entrySet())
- {
- Object mapValue = map.get(entry.getKey());
- if (!entry.getValue().equals(mapValue))
- {
- equals = false;
- break;
- }
- }
- if (equals)
- {
- return map;
- }
- }
- return null;
- }
-
- protected Map<String, Object> getJsonAsSingletonList(String path) throws IOException
- {
- List<Map<String, Object>> response = getJsonAsList(path);
-
- assertNotNull("Response cannot be null", response);
- assertEquals("Unexpected response", 1, response.size());
- return response.get(0);
- }
-
- protected List<Map<String, Object>> getJsonAsList(String path) throws IOException, JsonParseException,
- JsonMappingException
- {
- HttpURLConnection connection = openManagementConection(path, "GET");
- connection.connect();
- List<Map<String, Object>> response = readJsonResponseAsList(connection);
- return response;
- }
-
- protected Map<String, Object> getJsonAsMap(String path) throws IOException
- {
- HttpURLConnection connection = openManagementConection(path, "GET");
- connection.connect();
- Map<String, Object> response = readJsonResponseAsMap(connection);
- return response;
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QueueRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QueueRestTest.java
deleted file mode 100644
index 5f11b3fb1d..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QueueRestTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URLDecoder;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-
-import org.apache.qpid.server.model.Binding;
-import org.apache.qpid.server.model.Consumer;
-import org.apache.qpid.server.model.LifetimePolicy;
-import org.apache.qpid.server.model.Queue;
-
-public class QueueRestTest extends QpidRestTestCase
-{
- private static final String QUEUE_ATTRIBUTE_CONSUMERS = "consumers";
- private static final String QUEUE_ATTRIBUTE_BINDINGS = "bindings";
-
- /**
- * Message number to publish into queue
- */
- private static final int MESSAGE_NUMBER = 2;
- private static final int MESSAGE_PAYLOAD_SIZE = 6;
- private static final int ENQUEUED_MESSAGES = 1;
- private static final int DEQUEUED_MESSAGES = 1;
- private static final int ENQUEUED_BYTES = MESSAGE_PAYLOAD_SIZE;
- private static final int DEQUEUED_BYTES = MESSAGE_PAYLOAD_SIZE;
-
- private Connection _connection;
-
- public void setUp() throws Exception
- {
- super.setUp();
- _connection = getConnection();
- Session session = _connection.createSession(true, Session.SESSION_TRANSACTED);
- String queueName = getTestQueueName();
- Destination queue = session.createQueue(queueName);
- MessageConsumer consumer = session.createConsumer(queue);
- MessageProducer producer = session.createProducer(queue);
-
- for (int i = 0; i < MESSAGE_NUMBER; i++)
- {
- producer.send(session.createTextMessage("Test-" + i));
- }
- session.commit();
- _connection.start();
- Message m = consumer.receive(1000l);
- assertNotNull("Message is not received", m);
- session.commit();
- }
-
- public void testGetVirtualHostQueues() throws Exception
- {
- String queueName = getTestQueueName();
- List<Map<String, Object>> queues = getJsonAsList("/rest/queue/test");
- assertEquals("Unexpected number of queues", EXPECTED_QUEUES.length + 1, queues.size());
- String[] expectedQueues = new String[EXPECTED_QUEUES.length + 1];
- System.arraycopy(EXPECTED_QUEUES, 0, expectedQueues, 0, EXPECTED_QUEUES.length);
- expectedQueues[EXPECTED_QUEUES.length] = queueName;
-
- for (String name : expectedQueues)
- {
- Map<String, Object> queueDetails = find(Queue.NAME, name, queues);
- Asserts.assertQueue(name, "standard", queueDetails);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_BINDINGS);
- assertNotNull("Queue bindings are not found", bindings);
- assertEquals("Unexpected number of bindings", 2, bindings.size());
-
- Map<String, Object> defaultExchangeBinding = find(Binding.EXCHANGE, "<<default>>", bindings);
- Map<String, Object> directExchangeBinding = find(Binding.EXCHANGE, "amq.direct", bindings);
- Asserts.assertBinding(name, "<<default>>", defaultExchangeBinding);
- Asserts.assertBinding(name, "amq.direct", directExchangeBinding);
- }
- }
-
- public void testGetByName() throws Exception
- {
- String queueName = getTestQueueName();
- Map<String, Object> queueDetails = getJsonAsSingletonList("/rest/queue/test/" + queueName);
- Asserts.assertQueue(queueName, "standard", queueDetails);
- assertStatistics(queueDetails);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_BINDINGS);
- assertNotNull("Queue bindings are not found", bindings);
- assertEquals("Unexpected number of bindings", 2, bindings.size());
-
- Map<String, Object> defaultExchangeBinding = find(Binding.EXCHANGE, "<<default>>", bindings);
- Map<String, Object> directExchangeBinding = find(Binding.EXCHANGE, "amq.direct", bindings);
- Asserts.assertBinding(queueName, "<<default>>", defaultExchangeBinding);
- Asserts.assertBinding(queueName, "amq.direct", directExchangeBinding);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> consumers = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_CONSUMERS);
- assertNotNull("Queue consumers are not found", consumers);
- assertEquals("Unexpected number of consumers", 1, consumers.size());
- assertConsumer(consumers.get(0));
- }
-
- public void testPutCreateBinding() throws Exception
- {
- String queueName = getTestQueueName();
- String bindingName = queueName + 2;
- String[] exchanges = { "amq.direct", "amq.fanout", "amq.topic", "amq.match", "qpid.management", "<<default>>" };
-
- for (int i = 0; i < exchanges.length; i++)
- {
- createBinding(bindingName, exchanges[i], queueName);
- }
-
- Map<String, Object> queueDetails = getJsonAsSingletonList("/rest/queue/test/" + queueName);
- Asserts.assertQueue(queueName, "standard", queueDetails);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_BINDINGS);
- assertNotNull("Queue bindings are not found", bindings);
- assertEquals("Unexpected number of bindings", exchanges.length + 2, bindings.size());
-
- Map<String, Object> searchAttributes = new HashMap<String, Object>();
- searchAttributes.put(Binding.NAME, bindingName);
-
- for (int i = 0; i < exchanges.length; i++)
- {
- searchAttributes.put(Binding.EXCHANGE, exchanges[i]);
- Map<String, Object> binding = find(searchAttributes, bindings);
- Asserts.assertBinding(bindingName, queueName, exchanges[i], binding);
- }
- }
-
- private void createBinding(String bindingName, String exchangeName, String queueName) throws IOException
- {
- HttpURLConnection connection = openManagementConection(
- "/rest/binding/test/" + URLDecoder.decode(exchangeName, "UTF-8") + "/" + queueName + "/" + bindingName,
- "PUT");
-
- Map<String, Object> bindingData = new HashMap<String, Object>();
- bindingData.put(Binding.NAME, bindingName);
- bindingData.put(Binding.EXCHANGE, exchangeName);
- bindingData.put(Binding.QUEUE, queueName);
-
- writeJsonRequest(connection, bindingData);
- assertEquals("Unexpected response code", 201, connection.getResponseCode());
-
- connection.disconnect();
- }
-
- private void assertConsumer(Map<String, Object> consumer)
- {
- assertNotNull("Consumer map should not be null", consumer);
- Asserts.assertAttributesPresent(consumer, Consumer.AVAILABLE_ATTRIBUTES, Consumer.STATE, Consumer.TIME_TO_LIVE,
- Consumer.CREATED, Consumer.UPDATED, Consumer.SETTLEMENT_MODE, Consumer.EXCLUSIVE, Consumer.SELECTOR,
- Consumer.NO_LOCAL);
-
- assertEquals("Unexpected binding attribute " + Consumer.NAME, "1", consumer.get(Consumer.NAME));
- assertEquals("Unexpected binding attribute " + Consumer.DURABLE, Boolean.FALSE, consumer.get(Consumer.DURABLE));
- assertEquals("Unexpected binding attribute " + Consumer.LIFETIME_POLICY, LifetimePolicy.AUTO_DELETE.name(),
- consumer.get(Consumer.LIFETIME_POLICY));
- assertEquals("Unexpected binding attribute " + Consumer.DISTRIBUTION_MODE, "MOVE",
- consumer.get(Consumer.DISTRIBUTION_MODE));
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) consumer.get(Asserts.STATISTICS_ATTRIBUTE);
- assertNotNull("Consumer statistics is not present", statistics);
- Asserts.assertAttributesPresent(statistics, Consumer.AVAILABLE_STATISTICS, Consumer.STATE_CHANGED);
- }
-
- private void assertStatistics(Map<String, Object> queueDetails)
- {
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) queueDetails.get(Asserts.STATISTICS_ATTRIBUTE);
- assertEquals("Unexpected queue statistics attribute " + Queue.PERSISTENT_DEQUEUED_MESSAGES, DEQUEUED_MESSAGES,
- statistics.get(Queue.PERSISTENT_DEQUEUED_MESSAGES));
- assertEquals("Unexpected queue statistics attribute " + Queue.QUEUE_DEPTH_MESSAGES, ENQUEUED_MESSAGES,
- statistics.get(Queue.QUEUE_DEPTH_MESSAGES));
- assertEquals("Unexpected queue statistics attribute " + Queue.CONSUMER_COUNT, 1,
- statistics.get(Queue.CONSUMER_COUNT));
- assertEquals("Unexpected queue statistics attribute " + Queue.CONSUMER_COUNT_WITH_CREDIT, 1,
- statistics.get(Queue.CONSUMER_COUNT_WITH_CREDIT));
- assertEquals("Unexpected queue statistics attribute " + Queue.BINDING_COUNT, 2, statistics.get(Queue.BINDING_COUNT));
- assertEquals("Unexpected queue statistics attribute " + Queue.PERSISTENT_DEQUEUED_MESSAGES, DEQUEUED_MESSAGES,
- statistics.get(Queue.PERSISTENT_DEQUEUED_MESSAGES));
- assertEquals("Unexpected queue statistics attribute " + Queue.TOTAL_DEQUEUED_MESSAGES, DEQUEUED_MESSAGES,
- statistics.get(Queue.TOTAL_DEQUEUED_MESSAGES));
- assertEquals("Unexpected queue statistics attribute " + Queue.TOTAL_DEQUEUED_BYTES, DEQUEUED_BYTES,
- statistics.get(Queue.TOTAL_DEQUEUED_BYTES));
- assertEquals("Unexpected queue statistics attribute " + Queue.PERSISTENT_DEQUEUED_BYTES, DEQUEUED_BYTES,
- statistics.get(Queue.TOTAL_DEQUEUED_BYTES));
- assertEquals("Unexpected queue statistics attribute " + Queue.PERSISTENT_ENQUEUED_BYTES, ENQUEUED_BYTES
- + DEQUEUED_BYTES, statistics.get(Queue.PERSISTENT_ENQUEUED_BYTES));
- assertEquals("Unexpected queue statistics attribute " + Queue.TOTAL_ENQUEUED_BYTES, ENQUEUED_BYTES + DEQUEUED_BYTES,
- statistics.get(Queue.TOTAL_ENQUEUED_BYTES));
- assertEquals("Unexpected queue statistics attribute " + Queue.QUEUE_DEPTH_BYTES, ENQUEUED_BYTES,
- statistics.get(Queue.QUEUE_DEPTH_BYTES));
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslRestTest.java
deleted file mode 100644
index b504c9fa60..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslRestTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.util.List;
-import java.util.Map;
-
-public class SaslRestTest extends QpidRestTestCase
-{
- public void testGet() throws Exception
- {
- Map<String, Object> saslData = getJsonAsMap("/rest/sasl");
- assertNotNull("mechanisms attribute is not found", saslData.get("mechanisms"));
-
- @SuppressWarnings("unchecked")
- List<String> mechanisms = (List<String>) saslData.get("mechanisms");
- String[] expectedMechanisms = { "AMQPLAIN", "PLAIN", "CRAM-MD5" };
- for (String mechanism : expectedMechanisms)
- {
- assertTrue("Mechanism " + mechanism + " is not found", mechanisms.contains(mechanism));
- }
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureRestTest.java
deleted file mode 100644
index b01e1d44b8..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureRestTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.util.List;
-import java.util.Map;
-
-public class StructureRestTest extends QpidRestTestCase
-{
-
- public void testGet() throws Exception
- {
- Map<String, Object> structure = getJsonAsMap("/rest/structure");
- assertNotNull("Structure data cannot be null", structure);
- assertNode(structure, "Broker");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> virtualhosts = (List<Map<String, Object>>) structure.get("virtualhosts");
- assertEquals("Unexpected number of virtual hosts", 3, virtualhosts.size());
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> ports = (List<Map<String, Object>>) structure.get("ports");
- assertEquals("Unexpected number of ports", 2, ports.size());
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> providers = (List<Map<String, Object>>) structure.get("authenticationproviders");
- assertEquals("Unexpected number of authentication providers", 1, providers.size());
-
- for (String hostName : EXPECTED_HOSTS)
- {
- Map<String, Object> host = find("name", hostName, virtualhosts);
- assertNotNull("Host " + hostName + " is not found ", host);
- assertNode(host, hostName);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) host.get("queues");
- assertNotNull("Host " + hostName + " queues are not found ", queues);
- for (String queueName : EXPECTED_QUEUES)
- {
- Map<String, Object> queue = find("name", queueName, queues);
- assertNotNull(hostName + " queue " + queueName + " is not found ", queue);
- assertNode(queue, queueName);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queue.get("bindings");
- assertNotNull(hostName + " queue " + queueName + " bindings are not found ", queues);
- for (Map<String, Object> binding : bindings)
- {
- assertNode(binding, queueName);
- }
- }
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> exchanges = (List<Map<String, Object>>) host.get("exchanges");
- assertNotNull("Host " + hostName + " exchanges are not found ", exchanges);
- for (String exchangeName : EXPECTED_EXCHANGES)
- {
- Map<String, Object> exchange = find("name", exchangeName, exchanges);
- assertNotNull("Exchange " + exchangeName + " is not found ", exchange);
- assertNode(exchange, exchangeName);
- if ("amq.direct".equalsIgnoreCase(exchangeName) || "<<default>>".equalsIgnoreCase(exchangeName))
- {
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) exchange.get("bindings");
- assertNotNull(hostName + " exchange " + exchangeName + " bindings are not found ", bindings);
- for (String queueName : EXPECTED_QUEUES)
- {
- Map<String, Object> binding = find("name", queueName, bindings);
- assertNotNull(hostName + " exchange " + exchangeName + " binding " + queueName + " is not found", binding);
- assertNode(binding, queueName);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> aliases = (List<Map<String, Object>>) host.get("virtualhostaliases");
- assertNotNull("Host " + hostName + " aliaces are not found ", aliases);
- assertEquals("Unexpected aliaces size", 1, aliases.size());
- assertNode(aliases.get(0), hostName);
- }
-
- int[] expectedPorts = { getPort(), getHttpPort() };
- for (int port : expectedPorts)
- {
- String portName = "0.0.0.0:" + port;
- Map<String, Object> portData = find("name", portName, ports);
- assertNotNull("Port " + portName + " is not found ", portData);
- assertNode(portData, portName);
- }
- }
-
- private void assertNode(Map<String, Object> node, String name)
- {
- assertEquals("Unexpected name", name, node.get("name"));
- assertNotNull("Unexpected id", node.get("id"));
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/UserRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/UserRestTest.java
deleted file mode 100644
index e56fa27e21..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/UserRestTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.net.HttpURLConnection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.qpid.server.model.User;
-
-public class UserRestTest extends QpidRestTestCase
-{
- public void testGet() throws Exception
- {
- List<Map<String, Object>> users = getJsonAsList("/rest/user");
- assertNotNull("Users cannot be null", users);
- assertTrue("Unexpected number of users", users.size() > 1);
- for (Map<String, Object> user : users)
- {
- assertUser(user);
- }
- }
-
- public void testGetUserByName() throws Exception
- {
- List<Map<String, Object>> users = getJsonAsList("/rest/user");
- assertNotNull("Users cannot be null", users);
- assertTrue("Unexpected number of users", users.size() > 1);
- for (Map<String, Object> user : users)
- {
- assertNotNull("Attribute " + User.ID, user.get(User.ID));
- String userName = (String) user.get(User.NAME);
- assertNotNull("Attribute " + User.NAME, userName);
- Map<String, Object> userDetails = getJsonAsSingletonList("/rest/user/PrincipalDatabaseAuthenticationManager/"
- + userName);
- assertUser(userDetails);
- assertEquals("Unexpected user name", userName, userDetails.get(User.NAME));
- }
- }
-
- public void testPut() throws Exception
- {
- String userName = getTestName();
- HttpURLConnection connection = openManagementConection("/rest/user/PrincipalDatabaseAuthenticationManager/"
- + userName, "PUT");
-
- Map<String, Object> userData = new HashMap<String, Object>();
- userData.put(User.NAME, userName);
- userData.put(User.PASSWORD, userName);
-
- writeJsonRequest(connection, userData);
- assertEquals("Unexpected response code", 201, connection.getResponseCode());
-
- connection.disconnect();
-
- Map<String, Object> userDetails = getJsonAsSingletonList("/rest/user/PrincipalDatabaseAuthenticationManager/"
- + userName);
- assertUser(userDetails);
- assertEquals("Unexpected user name", userName, userDetails.get(User.NAME));
- }
-
- public void testDelete() throws Exception
- {
- // add user
- String userName = getTestName();
- HttpURLConnection connection = openManagementConection("/rest/user/PrincipalDatabaseAuthenticationManager/"
- + userName, "PUT");
-
- Map<String, Object> userData = new HashMap<String, Object>();
- userData.put(User.NAME, userName);
- userData.put(User.PASSWORD, userName);
-
- writeJsonRequest(connection, userData);
- assertEquals("Unexpected response code", 201, connection.getResponseCode());
- connection.disconnect();
-
- Map<String, Object> userDetails = getJsonAsSingletonList("/rest/user/PrincipalDatabaseAuthenticationManager/"
- + userName);
- String id = (String) userDetails.get(User.ID);
-
- connection = openManagementConection("/rest/user/PrincipalDatabaseAuthenticationManager?id=" + id, "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
- List<Map<String, Object>> users = getJsonAsList("/rest/user/PrincipalDatabaseAuthenticationManager/" + userName);
- assertEquals("User should be deleted", 0, users.size());
- }
-
- private void assertUser(Map<String, Object> user)
- {
- assertNotNull("Attribute " + User.ID, user.get(User.ID));
- assertNotNull("Attribute " + User.NAME, user.get(User.NAME));
- }
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java
deleted file mode 100644
index 17f1aaaf7b..0000000000
--- a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- *
- * 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.management.plugin.servlet.rest;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.jms.Session;
-
-import org.apache.qpid.client.AMQConnection;
-import org.apache.qpid.server.model.Exchange;
-import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.queue.AMQQueueFactory;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-
-public class VirtualHostRestTest extends QpidRestTestCase
-{
- private static final String VIRTUALHOST_EXCHANGES_ATTRIBUTE = "exchanges";
- public static final String VIRTUALHOST_QUEUES_ATTRIBUTE = "queues";
- public static final String VIRTUALHOST_CONNECTIONS_ATTRIBUTE = "connections";
-
- private AMQConnection _connection;
-
- public void testGet() throws Exception
- {
- List<Map<String, Object>> hosts = getJsonAsList("/rest/virtualhost/");
- assertNotNull("Hosts data cannot be null", hosts);
- assertEquals("Unexpected number of hosts", 3, hosts.size());
- for (String hostName : EXPECTED_HOSTS)
- {
- Map<String, Object> host = find("name", hostName, hosts);
- Asserts.assertVirtualHost(hostName, host);
- }
- }
-
- public void testGetHost() throws Exception
- {
- // create AMQP connection to get connection JSON details
- _connection = (AMQConnection) getConnection();
- _connection.createSession(true, Session.SESSION_TRANSACTED);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
- Asserts.assertVirtualHost("test", hostDetails);
-
- @SuppressWarnings("unchecked")
- Map<String, Object> statistics = (Map<String, Object>) hostDetails.get(Asserts.STATISTICS_ATTRIBUTE);
- assertEquals("Unexpected number of exchanges in statistics", 6, statistics.get(VirtualHost.EXCHANGE_COUNT));
- assertEquals("Unexpected number of queues in statistics", 2, statistics.get(VirtualHost.QUEUE_COUNT));
- assertEquals("Unexpected number of connections in statistics", 1, statistics.get(VirtualHost.CONNECTION_COUNT));
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> exchanges = (List<Map<String, Object>>) hostDetails.get(VIRTUALHOST_EXCHANGES_ATTRIBUTE);
- assertEquals("Unexpected number of exchanges", 6, exchanges.size());
- Asserts.assertDurableExchange("amq.fanout", "fanout", find(Exchange.NAME, "amq.fanout", exchanges));
- Asserts.assertDurableExchange("qpid.management", "management", find(Exchange.NAME, "qpid.management", exchanges));
- Asserts.assertDurableExchange("amq.topic", "topic", find(Exchange.NAME, "amq.topic", exchanges));
- Asserts.assertDurableExchange("amq.direct", "direct", find(Exchange.NAME, "amq.direct", exchanges));
- Asserts.assertDurableExchange("amq.match", "headers", find(Exchange.NAME, "amq.match", exchanges));
- Asserts.assertDurableExchange("<<default>>", "direct", find(Exchange.NAME, "<<default>>", exchanges));
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VIRTUALHOST_QUEUES_ATTRIBUTE);
- assertEquals("Unexpected number of queues", 2, queues.size());
- Map<String, Object> queue = find(Queue.NAME, "queue", queues);
- Map<String, Object> ping = find(Queue.NAME, "ping", queues);
- Asserts.assertQueue("queue", "standard", queue);
- Asserts.assertQueue("ping", "standard", ping);
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.FALSE, queue.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.FALSE, ping.get(Queue.DURABLE));
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> connections = (List<Map<String, Object>>) hostDetails
- .get(VIRTUALHOST_CONNECTIONS_ATTRIBUTE);
- assertEquals("Unexpected number of connections", 1, connections.size());
- Asserts.assertConnection(connections.get(0), _connection);
- }
-
- public void testPutCreateQueue() throws Exception
- {
- String queueName = getTestQueueName();
-
- createQueue(queueName + "-standard", "standard", null);
-
- Map<String, Object> sortedQueueAttributes = new HashMap<String, Object>();
- sortedQueueAttributes.put(Queue.SORT_KEY, "sortme");
- createQueue(queueName + "-sorted", "sorted", sortedQueueAttributes);
-
- Map<String, Object> priorityQueueAttributes = new HashMap<String, Object>();
- priorityQueueAttributes.put(Queue.PRIORITIES, 10);
- createQueue(queueName + "-priority", "priority", priorityQueueAttributes);
-
- Map<String, Object> lvqQueueAttributes = new HashMap<String, Object>();
- lvqQueueAttributes.put(Queue.LVQ_KEY, "LVQ");
- createQueue(queueName + "-lvq", "lvq", lvqQueueAttributes);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> standardQueue = find(Queue.NAME, queueName + "-standard" , queues);
- Map<String, Object> sortedQueue = find(Queue.NAME, queueName + "-sorted" , queues);
- Map<String, Object> priorityQueue = find(Queue.NAME, queueName + "-priority" , queues);
- Map<String, Object> lvqQueue = find(Queue.NAME, queueName + "-lvq" , queues);
-
- Asserts.assertQueue(queueName + "-standard", "standard", standardQueue);
- Asserts.assertQueue(queueName + "-sorted", "sorted", sortedQueue);
- Asserts.assertQueue(queueName + "-priority", "priority", priorityQueue);
- Asserts.assertQueue(queueName + "-lvq", "lvq", lvqQueue);
-
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, standardQueue.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, sortedQueue.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, priorityQueue.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, lvqQueue.get(Queue.DURABLE));
-
- assertEquals("Unexpected sorted key attribute", "sortme", sortedQueue.get(Queue.SORT_KEY));
- assertEquals("Unexpected lvq key attribute", "LVQ", lvqQueue.get(Queue.LVQ_KEY));
- assertEquals("Unexpected priorities key attribute", 10, priorityQueue.get(Queue.PRIORITIES));
- }
-
- public void testPutCreateExchange() throws Exception
- {
- String exchangeName = getTestName();
-
- createExchange(exchangeName + "-direct", "direct");
- createExchange(exchangeName + "-topic", "topic");
- createExchange(exchangeName + "-headers", "headers");
- createExchange(exchangeName + "-fanout", "fanout");
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> exchanges = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_EXCHANGES_ATTRIBUTE);
- Map<String, Object> directExchange = find(Queue.NAME, exchangeName + "-direct" , exchanges);
- Map<String, Object> topicExchange = find(Queue.NAME, exchangeName + "-topic" , exchanges);
- Map<String, Object> headersExchange = find(Queue.NAME, exchangeName + "-headers" , exchanges);
- Map<String, Object> fanoutExchange = find(Queue.NAME, exchangeName + "-fanout" , exchanges);
-
- Asserts.assertDurableExchange(exchangeName + "-direct", "direct", directExchange);
- Asserts.assertDurableExchange(exchangeName + "-topic", "topic", topicExchange);
- Asserts.assertDurableExchange(exchangeName + "-headers", "headers", headersExchange);
- Asserts.assertDurableExchange(exchangeName + "-fanout", "fanout", fanoutExchange);
-
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, directExchange.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, topicExchange.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, headersExchange.get(Queue.DURABLE));
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, fanoutExchange.get(Queue.DURABLE));
-
- }
-
- public void testPutCreateLVQWithoutKey() throws Exception
- {
- String queueName = getTestQueueName()+ "-lvq";
- createQueue(queueName, "lvq", null);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> lvqQueue = find(Queue.NAME, queueName , queues);
-
- Asserts.assertQueue(queueName , "lvq", lvqQueue);
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, lvqQueue.get(Queue.DURABLE));
- assertEquals("Unexpected lvq key attribute", AMQQueueFactory.QPID_LVQ_KEY, lvqQueue.get(Queue.LVQ_KEY));
- }
-
- public void testPutCreateSortedQueueWithoutKey() throws Exception
- {
- String queueName = getTestQueueName() + "-sorted";
- int responseCode = tryCreateQueue(queueName, "sorted", null);
- assertEquals("Unexpected response code", 409, responseCode);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> testQueue = find(Queue.NAME, queueName , queues);
-
- assertNull("Sorted queue without a key was created ", testQueue);
- }
-
- public void testPutCreatePriorityQueueWithoutKey() throws Exception
- {
- String queueName = getTestQueueName()+ "-priority";
- createQueue(queueName, "priority", null);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> priorityQueue = find(Queue.NAME, queueName , queues);
-
- Asserts.assertQueue(queueName , "priority", priorityQueue);
- assertEquals("Unexpected value of queue attribute " + Queue.DURABLE, Boolean.TRUE, priorityQueue.get(Queue.DURABLE));
- assertEquals("Unexpected number of priorities", 10, priorityQueue.get(Queue.PRIORITIES));
- }
-
- public void testPutCreateStandardQueueWithoutType() throws Exception
- {
- String queueName = getTestQueueName();
- createQueue(queueName, null, null);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> queue = find(Queue.NAME, queueName , queues);
-
- Asserts.assertQueue(queueName , "standard", queue);
- }
-
- public void testPutCreateQueueOfUnsupportedType() throws Exception
- {
- String queueName = getTestQueueName();
- int responseCode = tryCreateQueue(queueName, "unsupported", null);
- assertEquals("Unexpected response code", 409, responseCode);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> queue = find(Queue.NAME, queueName , queues);
-
- assertNull("Queue of unsupported type was created", queue);
- }
-
- public void testDeleteQueue() throws Exception
- {
- String queueName = getTestQueueName();
- createQueue(queueName, null, null);
-
- HttpURLConnection connection = openManagementConection("/rest/queue/test/" + queueName, "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
- List<Map<String, Object>> queues = getJsonAsList("/rest/queue/test/" + queueName);
- assertEquals("Queue should be deleted", 0, queues.size());
- }
-
- public void testDeleteQueueById() throws Exception
- {
- String queueName = getTestQueueName();
- createQueue(queueName, null, null);
- Map<String, Object> queueDetails = getJsonAsSingletonList("/rest/queue/test/" + queueName);
-
- HttpURLConnection connection = openManagementConection("/rest/queue/test?id=" + queueDetails.get(Queue.ID), "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
- List<Map<String, Object>> queues = getJsonAsList("/rest/queue/test/" + queueName);
- assertEquals("Queue should be deleted", 0, queues.size());
- }
-
- public void testDeleteExchange() throws Exception
- {
- String exchangeName = getTestName();
- createExchange(exchangeName, "direct");
-
- HttpURLConnection connection = openManagementConection("/rest/exchange/test/" + exchangeName, "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
- List<Map<String, Object>> queues = getJsonAsList("/rest/exchange/test/" + exchangeName);
- assertEquals("Exchange should be deleted", 0, queues.size());
- }
-
- public void testDeleteExchangeById() throws Exception
- {
- String exchangeName = getTestName();
- createExchange(exchangeName, "direct");
- Map<String, Object> echangeDetails = getJsonAsSingletonList("/rest/exchange/test/" + exchangeName);
-
- HttpURLConnection connection = openManagementConection("/rest/exchange/test?id=" + echangeDetails.get(Exchange.ID), "DELETE");
- connection.connect();
- assertEquals("Unexpected response code", 200, connection.getResponseCode());
- List<Map<String, Object>> queues = getJsonAsList("/rest/exchange/test/" + exchangeName);
- assertEquals("Exchange should be deleted", 0, queues.size());
- }
-
- public void testPutCreateQueueWithAttributes() throws Exception
- {
- String queueName = getTestQueueName();
-
- Map<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(Queue.ALERT_REPEAT_GAP, 1000);
- attributes.put(Queue.ALERT_THRESHOLD_MESSAGE_AGE, 3600000);
- attributes.put(Queue.ALERT_THRESHOLD_MESSAGE_SIZE, 1000000000);
- attributes.put(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 800);
- attributes.put(Queue.MAXIMUM_DELIVERY_ATTEMPTS, 15);
- attributes.put(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES, 2000000000);
- attributes.put(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES, 1500000000);
-
- createQueue(queueName + "-standard", "standard", attributes);
-
- Map<String, Object> sortedQueueAttributes = new HashMap<String, Object>();
- sortedQueueAttributes.putAll(attributes);
- sortedQueueAttributes.put(Queue.SORT_KEY, "sortme");
- createQueue(queueName + "-sorted", "sorted", sortedQueueAttributes);
-
- Map<String, Object> priorityQueueAttributes = new HashMap<String, Object>();
- priorityQueueAttributes.putAll(attributes);
- priorityQueueAttributes.put(Queue.PRIORITIES, 10);
- createQueue(queueName + "-priority", "priority", priorityQueueAttributes);
-
- Map<String, Object> lvqQueueAttributes = new HashMap<String, Object>();
- lvqQueueAttributes.putAll(attributes);
- lvqQueueAttributes.put(Queue.LVQ_KEY, "LVQ");
- createQueue(queueName + "-lvq", "lvq", lvqQueueAttributes);
-
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- Map<String, Object> standardQueue = find(Queue.NAME, queueName + "-standard" , queues);
- Map<String, Object> sortedQueue = find(Queue.NAME, queueName + "-sorted" , queues);
- Map<String, Object> priorityQueue = find(Queue.NAME, queueName + "-priority" , queues);
- Map<String, Object> lvqQueue = find(Queue.NAME, queueName + "-lvq" , queues);
-
- attributes.put(Queue.DURABLE, Boolean.TRUE);
- Asserts.assertQueue(queueName + "-standard", "standard", standardQueue, attributes);
- Asserts.assertQueue(queueName + "-sorted", "sorted", sortedQueue, attributes);
- Asserts.assertQueue(queueName + "-priority", "priority", priorityQueue, attributes);
- Asserts.assertQueue(queueName + "-lvq", "lvq", lvqQueue, attributes);
-
- assertEquals("Unexpected sorted key attribute", "sortme", sortedQueue.get(Queue.SORT_KEY));
- assertEquals("Unexpected lvq key attribute", "LVQ", lvqQueue.get(Queue.LVQ_KEY));
- assertEquals("Unexpected priorities key attribute", 10, priorityQueue.get(Queue.PRIORITIES));
- }
-
- @SuppressWarnings("unchecked")
- public void testCreateQueueWithDLQEnabled() throws Exception
- {
- String queueName = getTestQueueName();
-
- Map<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(AMQQueueFactory.X_QPID_DLQ_ENABLED, true);
-
- //verify the starting state
- Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
- List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- List<Map<String, Object>> exchanges = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_EXCHANGES_ATTRIBUTE);
-
- assertNull("queue should not have already been present", find(Queue.NAME, queueName , queues));
- assertNull("queue should not have already been present", find(Queue.NAME, queueName + "_DLQ" , queues));
- assertNull("exchange should not have already been present", find(Exchange.NAME, queueName + "_DLE" , exchanges));
-
- //create the queue
- createQueue(queueName, "standard", attributes);
-
- //verify the new queue, as well as the DLQueue and DLExchange have been created
- hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
- queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
- exchanges = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_EXCHANGES_ATTRIBUTE);
-
- Map<String, Object> queue = find(Queue.NAME, queueName , queues);
- Map<String, Object> dlqQueue = find(Queue.NAME, queueName + "_DLQ" , queues);
- Map<String, Object> dlExchange = find(Exchange.NAME, queueName + "_DLE" , exchanges);
- assertNotNull("queue should not have been present", queue);
- assertNotNull("queue should not have been present", dlqQueue);
- assertNotNull("exchange should not have been present", dlExchange);
-
- //verify that the alternate exchange is set as expected on the new queue
- Map<String, Object> queueAttributes = new HashMap<String, Object>();
- queueAttributes.put(Queue.ALTERNATE_EXCHANGE, queueName + "_DLE");
-
- Asserts.assertQueue(queueName, "standard", queue, queueAttributes);
- Asserts.assertQueue(queueName, "standard", queue, null);
- }
-
- private void createExchange(String exchangeName, String exchangeType) throws IOException
- {
- HttpURLConnection connection = openManagementConection("/rest/exchange/test/" + exchangeName, "PUT");
-
- Map<String, Object> queueData = new HashMap<String, Object>();
- queueData.put(Exchange.NAME, exchangeName);
- queueData.put(Exchange.DURABLE, Boolean.TRUE);
- queueData.put(Exchange.TYPE, exchangeType);
-
- writeJsonRequest(connection, queueData);
- assertEquals("Unexpected response code", 201, connection.getResponseCode());
-
- connection.disconnect();
- }
-
- private void createQueue(String queueName, String queueType, Map<String, Object> attributes) throws IOException,
- JsonGenerationException, JsonMappingException
- {
- int responseCode = tryCreateQueue(queueName, queueType, attributes);
- assertEquals("Unexpected response code", 201, responseCode);
- }
-
- private int tryCreateQueue(String queueName, String queueType, Map<String, Object> attributes) throws IOException,
- JsonGenerationException, JsonMappingException
- {
- HttpURLConnection connection = openManagementConection("/rest/queue/test/" + queueName, "PUT");
-
- Map<String, Object> queueData = new HashMap<String, Object>();
- queueData.put(Queue.NAME, queueName);
- queueData.put(Queue.DURABLE, Boolean.TRUE);
- if (queueType != null)
- {
- queueData.put(Queue.TYPE, queueType);
- }
- if (attributes != null)
- {
- queueData.putAll(attributes);
- }
-
- writeJsonRequest(connection, queueData);
- int responseCode = connection.getResponseCode();
- connection.disconnect();
- return responseCode;
- }
-
-}
diff --git a/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/session/LoginLogoutReporterTest.java b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/session/LoginLogoutReporterTest.java
new file mode 100644
index 0000000000..1d43c44587
--- /dev/null
+++ b/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/session/LoginLogoutReporterTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.management.plugin.session;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Matchers.argThat;
+
+import javax.security.auth.Subject;
+
+import org.apache.qpid.server.logging.LogActor;
+import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.security.auth.AuthenticatedPrincipal;
+import org.mockito.ArgumentMatcher;
+import org.mockito.Mockito;
+
+import junit.framework.TestCase;
+
+public class LoginLogoutReporterTest extends TestCase
+{
+ private LoginLogoutReporter _loginLogoutReport;
+ private Subject _subject = new Subject();
+ private LogActor _logActor = Mockito.mock(LogActor.class);
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ _subject.getPrincipals().add(new AuthenticatedPrincipal("mockusername"));
+ _loginLogoutReport = new LoginLogoutReporter(_logActor, _subject);
+ }
+
+ public void testLoginLogged()
+ {
+ _loginLogoutReport.valueBound(null);
+ verify(_logActor).message(isLogMessageWithMessage("MNG-1007 : Open : User mockusername"));
+ }
+
+ public void testLogoutLogged()
+ {
+ _loginLogoutReport.valueUnbound(null);
+ verify(_logActor).message(isLogMessageWithMessage("MNG-1008 : Close : User mockusername"));
+ }
+
+ private LogMessage isLogMessageWithMessage(final String expectedMessage)
+ {
+ return argThat( new ArgumentMatcher<LogMessage>()
+ {
+ @Override
+ public boolean matches(Object argument)
+ {
+ LogMessage actual = (LogMessage) argument;
+ return actual.toString().equals(expectedMessage);
+ }
+ });
+ }
+}