Author: orudyy
Date: Tue Jan 12 10:20:45 2016
New Revision: 1724195

URL: http://svn.apache.org/viewvc?rev=1724195&view=rev
Log:
NO-JIRA: Improve Port REST tests

Modified:
    
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java

Modified: 
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java?rev=1724195&r1=1724194&r2=1724195&view=diff
==============================================================================
--- 
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
 (original)
+++ 
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
 Tue Jan 12 10:20:45 2016
@@ -22,6 +22,7 @@ package org.apache.qpid.systest.rest;
 
 import static 
org.apache.qpid.server.management.plugin.servlet.rest.RestServlet.SC_UNPROCESSABLE_ENTITY;
 
+import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.util.Arrays;
 import java.util.Collection;
@@ -270,26 +271,43 @@ public class PortRestTest extends QpidRe
         Asserts.assertPortAttributes(portData, State.QUIESCED);
     }
 
-    public void testNewPortErroredIfPortNumberInUse() throws Exception
+    public void testDeletePort() throws Exception
     {
         String ampqPortName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT;
         Map<String, Object> portData = 
getRestTestHelper().getJsonAsSingletonList("port/" + 
getRestTestHelper().encodeAsUTF(ampqPortName));
-        int amqpPort = (Integer)portData.get(Port.PORT);
-
-        ServerSocket socket = new ServerSocket(0);
-        int occupiedPort = socket.getLocalPort();
+        assertFalse("Port data are not found", portData.isEmpty());
 
         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, occupiedPort);  // port in use
-        attributes.put(Port.AUTHENTICATION_PROVIDER, 
TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
+        getRestTestHelper().submitRequest("port/" + 
getRestTestHelper().encodeAsUTF(ampqPortName), "GET", 
HttpServletResponse.SC_NOT_FOUND);
+    }
+
+    public void testNewPortCreationFailsWhenPortIsAlreadyBound() throws 
Exception
+    {
+        ServerSocket serverSocket = new ServerSocket();
+        serverSocket.setReuseAddress(true);
+        serverSocket.bind(new InetSocketAddress(0));
+        try
+        {
+            int occupiedPort = serverSocket.getLocalPort();
+            getLogger().debug("Testing port configured object creation for 
already occupied port {}", occupiedPort);
 
-        int responseCode = getRestTestHelper().submitRequest("port/" + 
newPortName, "PUT", attributes);
-        assertEquals("Unexpected response code for port creation", 
SC_UNPROCESSABLE_ENTITY, responseCode);
-        getRestTestHelper().submitRequest("port/" + 
getRestTestHelper().encodeAsUTF(newPortName), "GET", 
HttpServletResponse.SC_NOT_FOUND);
+            String newPortName = "reused-port";
+            Map<String, Object> attributes = new HashMap<String, Object>();
+            attributes.put(Port.NAME, newPortName);
+            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", 
SC_UNPROCESSABLE_ENTITY, responseCode);
+            getRestTestHelper().submitRequest("port/" + 
getRestTestHelper().encodeAsUTF(newPortName),
+                                              "GET",
+                                              
HttpServletResponse.SC_NOT_FOUND);
+        }
+        finally
+        {
+            serverSocket.close();
+        }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to