diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-05-08 13:14:05 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-05-08 13:14:05 +0000 |
| commit | 14ffecc29a8393f54c9d4f6f3bce6ee3276cf381 (patch) | |
| tree | 8d3b879c9c74fa132f7cfba8e474bb72a781dece /qpid/java/systests/src | |
| parent | 54243c16cf78f1d82c642335deaa01aa9a1b341e (diff) | |
| download | qpid-python-14ffecc29a8393f54c9d4f6f3bce6ee3276cf381.tar.gz | |
QPID-5754 : [Java Broker] Make state change operations methods rather than calls to setDesiredState
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1593264 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests/src')
7 files changed, 73 insertions, 34 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/client/AsynchMessageListenerTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/client/AsynchMessageListenerTest.java index 09402c140d..a13bf71d5e 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/client/AsynchMessageListenerTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/client/AsynchMessageListenerTest.java @@ -46,7 +46,7 @@ public class AsynchMessageListenerTest extends QpidBrokerTestCase private static final int MSG_COUNT = 10; private static final long AWAIT_MESSAGE_TIMEOUT = 2000; private static final long AWAIT_MESSAGE_TIMEOUT_NEGATIVE = 250; - private final String _testQueueName = getTestQueueName(); + private String _testQueueName; private Connection _consumerConnection; private Session _consumerSession; private MessageConsumer _consumer; @@ -55,7 +55,7 @@ public class AsynchMessageListenerTest extends QpidBrokerTestCase protected void setUp() throws Exception { super.setUp(); - + _testQueueName = getTestQueueName(); _consumerConnection = getConnection(); _consumerConnection.start(); _consumerSession = _consumerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java index cfb331fd0f..70dc663e4b 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java @@ -138,7 +138,7 @@ public class VirtualHostMessageStoreTest extends QpidTestCase nodeAttributes.put(VirtualHostNode.NAME, hostName); nodeAttributes.put(VirtualHostNode.ID, UUID.randomUUID()); _node = factory.create(VirtualHostNode.class, nodeAttributes, broker); - _node.setDesiredState(State.ACTIVE); + _node.start(); _virtualHost = (VirtualHostImpl<?,?,?>)_node.getVirtualHost(); @@ -152,7 +152,7 @@ public class VirtualHostMessageStoreTest extends QpidTestCase if (_virtualHost != null) { VirtualHostNode<?> node = _virtualHost.getParent(VirtualHostNode.class); - node.setDesiredState(State.STOPPED); + node.close(); } } finally @@ -165,10 +165,12 @@ public class VirtualHostMessageStoreTest extends QpidTestCase protected void reloadVirtualHost() { assertEquals("Virtual host node is not active", State.ACTIVE, _virtualHost.getState()); - State currentState = _node.setDesiredState(State.STOPPED); + _node.stop(); + State currentState = _node.getState(); assertEquals("Virtual host node is not stopped", State.STOPPED, currentState); - currentState = _node.setDesiredState(State.ACTIVE); + _node.start(); + currentState = _node.getState(); assertEquals("Virtual host node is not active", State.ACTIVE, currentState); _virtualHost = (VirtualHostImpl<?, ?, ?>) _node.getVirtualHost(); } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ExchangeRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ExchangeRestTest.java index 9b3bffd97a..51cb6dde1a 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ExchangeRestTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ExchangeRestTest.java @@ -70,7 +70,7 @@ public class ExchangeRestTest extends QpidRestTestCase } } - public void testSetExchangeAttributesUnsupported() throws Exception + public void testSetExchangeSupported() throws Exception { String exchangeName = getTestName(); String exchangeUrl = "exchange/test/test/" + exchangeName; @@ -89,7 +89,10 @@ public class ExchangeRestTest extends QpidRestTestCase attributes.put(Exchange.ALTERNATE_EXCHANGE, "amq.direct"); responseCode = getRestTestHelper().submitRequest(exchangeUrl, "PUT", attributes); - assertEquals("Exchange update should be unsupported", 409, responseCode); + assertEquals("Exchange update should be supported", 200, responseCode); + exchange = getRestTestHelper().getJsonAsSingletonList(exchangeUrl); + assertNotNull("Exchange not found", exchange); + assertEquals("amq.direct",exchange.get(Exchange.ALTERNATE_EXCHANGE)); } private void assertExchange(String exchangeName, Map<String, Object> exchange) diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java index 826922575d..7bf374e100 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java @@ -20,6 +20,7 @@ */ package org.apache.qpid.systest.rest; +import java.net.ServerSocket; import java.net.URLDecoder; import java.util.Arrays; import java.util.Collection; @@ -31,15 +32,18 @@ import java.util.Map; import org.apache.qpid.server.BrokerOptions; import org.apache.qpid.server.model.AuthenticationProvider; +import org.apache.qpid.server.model.Plugin; import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.Transport; +import org.apache.qpid.server.model.port.JmxPort; import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager; import org.apache.qpid.test.utils.TestBrokerConfiguration; public class PortRestTest extends QpidRestTestCase { + public void testGet() throws Exception { List<Map<String, Object>> ports = getRestTestHelper().getJsonAsList("port/"); @@ -99,38 +103,65 @@ public class PortRestTest extends QpidRestTestCase public void testPutRmiPortWithMinimumAttributes() throws Exception { - String portName = "test-port"; + String portNameRMI = "test-port-rmi"; Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(Port.NAME, portName); - attributes.put(Port.PORT, findFreePort()); + attributes.put(Port.NAME, portNameRMI); + int rmiPort = findFreePort(); + attributes.put(Port.PORT, rmiPort); attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.RMI)); - int responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes); + int responseCode = getRestTestHelper().submitRequest("port/" + portNameRMI, "PUT", attributes); assertEquals("Unexpected response code", 201, responseCode); - List<Map<String, Object>> portDetails = getRestTestHelper().getJsonAsList("port/" + portName); + + List<Map<String, Object>> portDetails = getRestTestHelper().getJsonAsList("port/" + portNameRMI); assertNotNull("Port details cannot be null", portDetails); - assertEquals("Unexpected number of ports with name " + portName, 1, portDetails.size()); + assertEquals("Unexpected number of ports with name " + portNameRMI, 1, portDetails.size()); Map<String, Object> port = portDetails.get(0); Asserts.assertPortAttributes(port, State.QUIESCED); + String portNameJMX = "test-port-jmx"; + attributes = new HashMap<String, Object>(); + attributes.put(Port.NAME, portNameJMX); + attributes.put(Port.PORT, getNextAvailable(rmiPort + 1)); + attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.JMX_RMI)); + attributes.put(JmxPort.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); + + responseCode = getRestTestHelper().submitRequest("port/" + portNameJMX, "PUT", attributes); + assertEquals("Unexpected response code", 201, responseCode); + + + portDetails = getRestTestHelper().getJsonAsList("port/" + portNameJMX); + assertNotNull("Port details cannot be null", portDetails); + assertEquals("Unexpected number of ports with name " + portNameRMI, 1, portDetails.size()); + port = portDetails.get(0); + Asserts.assertPortAttributes(port, State.QUIESCED); + + + attributes.put(Plugin.TYPE, "MANAGEMENT-JMX"); + attributes.put(Plugin.NAME, "JmxPlugin"); + responseCode = getRestTestHelper().submitRequest("plugin/JmxPlugin", "PUT", attributes); + assertEquals("Unexpected response code", 201, responseCode); + + + // make sure that port is there after broker restart restartBroker(); - portDetails = getRestTestHelper().getJsonAsList("port/" + portName); + portDetails = getRestTestHelper().getJsonAsList("port/" + portNameRMI); assertNotNull("Port details cannot be null", portDetails); - assertEquals("Unexpected number of ports with name " + portName, 1, portDetails.size()); + assertEquals("Unexpected number of ports with name " + portNameRMI, 1, portDetails.size()); port = portDetails.get(0); Asserts.assertPortAttributes(port, State.ACTIVE); // try to add a second RMI port - portName = portName + "2"; + portNameRMI = portNameRMI + "2"; attributes = new HashMap<String, Object>(); - attributes.put(Port.NAME, portName); + attributes.put(Port.NAME, portNameRMI); attributes.put(Port.PORT, findFreePort()); attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.RMI)); - responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes); + responseCode = getRestTestHelper().submitRequest("port/" + portNameRMI, "PUT", attributes); assertEquals("Adding of a second RMI port should fail", 409, responseCode); } @@ -301,25 +332,28 @@ public class PortRestTest extends QpidRestTestCase Asserts.assertPortAttributes(portData, State.QUIESCED); } - public void testNewPortQuiescedIfPortNumberWasUsed() throws Exception + public void testNewPortErroredIfPortNumberInUse() throws Exception { String ampqPortName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT; Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + URLDecoder.decode(ampqPortName, "UTF-8")); int amqpPort = (Integer)portData.get(Port.PORT); + ServerSocket socket = new ServerSocket(0); + int occupiedPort = socket.getLocalPort(); + int deleteResponseCode = getRestTestHelper().submitRequest("port/" + ampqPortName, "DELETE"); assertEquals("Port deletion should be allowed", 200, deleteResponseCode); String newPortName = "reused-port"; Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(Port.NAME, newPortName); - attributes.put(Port.PORT, amqpPort); // reuses port that was previously in use + attributes.put(Port.PORT, occupiedPort); // port in use attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); int responseCode = getRestTestHelper().submitRequest("port/" + newPortName, "PUT", attributes); assertEquals("Unexpected response code for port creation", 201, responseCode); portData = getRestTestHelper().getJsonAsSingletonList("port/" + URLDecoder.decode(newPortName, "UTF-8")); - Asserts.assertPortAttributes(portData, State.QUIESCED); + Asserts.assertPortAttributes(portData, State.ERRORED); } } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java index d3dad3ddf5..546898eb7b 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java @@ -29,20 +29,20 @@ import java.util.Map; import javax.jms.Session; import javax.servlet.http.HttpServletResponse; +import org.codehaus.jackson.JsonGenerationException; +import org.codehaus.jackson.map.JsonMappingException; + 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.model.VirtualHostNode; import org.apache.qpid.server.queue.LastValueQueue; import org.apache.qpid.server.queue.PriorityQueue; import org.apache.qpid.server.queue.SortedQueue; -import org.apache.qpid.server.virtualhost.AbstractVirtualHost; - -import org.apache.qpid.server.model.VirtualHostNode; import org.apache.qpid.server.store.DurableConfigurationStore; +import org.apache.qpid.server.virtualhost.AbstractVirtualHost; import org.apache.qpid.util.FileUtils; -import org.codehaus.jackson.JsonGenerationException; -import org.codehaus.jackson.map.JsonMappingException; public class VirtualHostRestTest extends QpidRestTestCase { @@ -147,7 +147,7 @@ public class VirtualHostRestTest extends QpidRestTestCase assertEquals("Host should be deleted", 1, hosts.size()); } - public void testUpdateActiveHostFails() throws Exception + public void testUpdateActiveHost() throws Exception { String hostToUpdate = TEST3_VIRTUALHOST; String restHostUrl = "virtualhost/" + hostToUpdate + "/" + hostToUpdate; @@ -156,16 +156,16 @@ public class VirtualHostRestTest extends QpidRestTestCase Map<String, Object> newAttributes = new HashMap<String, Object>(); newAttributes.put(VirtualHost.NAME, hostToUpdate); - newAttributes.put("fakeAttribute", "value"); + newAttributes.put(VirtualHost.DESCRIPTION, "This is a virtual host"); int response = getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes); - assertEquals("Unexpected response code", 409, response); + assertEquals("Unexpected response code", 200, response); restartBroker(); Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl); Asserts.assertVirtualHost(hostToUpdate, rereadHostDetails); - assertFalse(rereadHostDetails.containsKey("fakeAttribute")); + assertEquals("This is a virtual host", rereadHostDetails.get(VirtualHost.DESCRIPTION)); } public void testPutCreateQueue() throws Exception diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java index 0f9df8795e..8a9da5d93c 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java @@ -836,7 +836,7 @@ public class BrokerACLTest extends QpidRestTestCase assertAccessControlProviderExistence(accessControlProviderName, false); } - public void testSetAccessControlProviderAttributesAllowedButUnsupported() throws Exception + public void testSetAccessControlProviderAttributesAllowed() throws Exception { getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER); @@ -854,7 +854,7 @@ public class BrokerACLTest extends QpidRestTestCase attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE); attributes.put(FileBasedGroupProvider.PATH, "/path/to/file"); responseCode = getRestTestHelper().submitRequest("accesscontrolprovider/" + accessControlProviderName, "PUT", attributes); - assertEquals("Setting of access control provider attributes should be allowed but not supported", 409, responseCode); + assertEquals("Setting of access control provider attributes should be allowed", 200, responseCode); } public void testSetAccessControlProviderAttributesDenied() throws Exception diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java index 2bda6872a5..073fae3a7a 100755 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java @@ -753,7 +753,7 @@ public class QpidBrokerTestCase extends QpidTestCase } if (exceptionOccured) { - throw new RuntimeException("Exception occured on stopping of test broker. Please, examine logs for details"); + throw new RuntimeException("Exception occurred on stopping of test broker. Please, examine logs for details"); } } |
