Avoid using fixed TCP port numbers in unit tests.
git-svn-id: https://svn.apache.org/repos/asf/abdera/java/trunk@1452052 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/adapters/jcr/pom.xml b/adapters/jcr/pom.xml
index dc940c9..c90e7ab 100644
--- a/adapters/jcr/pom.xml
+++ b/adapters/jcr/pom.xml
@@ -79,6 +79,11 @@
<version>1.0</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-testutils</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/adapters/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java b/adapters/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java
index ee0cdfd..b7c0eb7 100755
--- a/adapters/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java
+++ b/adapters/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java
@@ -46,6 +46,7 @@
import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo;
import org.apache.abdera.protocol.server.servlet.AbderaServlet;
import org.apache.abdera.writer.Writer;
+import org.apache.axiom.testutils.PortAllocator;
import org.apache.jackrabbit.core.TransientRepository;
import org.junit.After;
import org.junit.Before;
@@ -56,6 +57,7 @@
public class JcrCollectionAdapterTest {
+ private int port;
private Server server;
private DefaultProvider jcrProvider;
private Repository repository;
@@ -91,7 +93,7 @@
AbderaClient client = new AbderaClient(abdera);
- String base = "http://localhost:9002/";
+ String base = "http://localhost:" + port + "/";
// Testing of entry creation
IRI colUri = new IRI(base).resolve("feed");
@@ -174,8 +176,8 @@
}
private void initializeJetty() throws Exception {
-
- server = new Server(9002);
+ port = PortAllocator.allocatePort();
+ server = new Server(port);
Context root = new Context(server, "/", Context.NO_SESSIONS);
root.addServlet(new ServletHolder(new AbderaServlet() {
diff --git a/client/pom.xml b/client/pom.xml
index 310c66d..d454295 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -68,5 +68,10 @@
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-testutils</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/client/src/test/java/org/apache/abdera/test/client/JettyUtil.java b/client/src/test/java/org/apache/abdera/test/client/JettyUtil.java
index 7b2c944..3c9aba2 100644
--- a/client/src/test/java/org/apache/abdera/test/client/JettyUtil.java
+++ b/client/src/test/java/org/apache/abdera/test/client/JettyUtil.java
@@ -17,6 +17,7 @@
*/
package org.apache.abdera.test.client;
+import org.apache.axiom.testutils.PortAllocator;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.bio.SocketConnector;
@@ -26,7 +27,7 @@
private static final String PORT_PROP = "abdera.test.client.port";
- private static int PORT = 9002;
+ private static int PORT = PortAllocator.allocatePort();
private static Server server = null;
private static ServletHandler handler = null;
diff --git a/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/impl/AbstractOpenSearchUrlAdapterTest.java b/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/impl/AbstractOpenSearchUrlAdapterTest.java
index b07b7aa..b2389ed 100644
--- a/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/impl/AbstractOpenSearchUrlAdapterTest.java
+++ b/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/impl/AbstractOpenSearchUrlAdapterTest.java
@@ -44,18 +44,23 @@
import org.apache.abdera.protocol.server.impl.RouteManager;
import org.apache.abdera.test.ext.opensearch.server.AbstractOpenSearchServerTest;
import org.apache.abdera.test.ext.opensearch.server.JettyServer;
+import org.apache.axiom.testutils.PortAllocator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AbstractOpenSearchUrlAdapterTest extends AbstractOpenSearchServerTest {
- private JettyServer server = new JettyServer();
+ private int port;
+ private JettyServer server;
private OpenSearchInfo osInfo;
private OpenSearchUrlRequestProcessor osUrlProcessor;
@Before
public void setUp() throws Exception {
+ port = PortAllocator.allocatePort();
+ server = new JettyServer(port);
+
this.osInfo = this.createOpenSearchInfo();
((SimpleOpenSearchUrlInfo)osInfo.getUrls()[0]).setOpenSearchUrlAdapter(new TestingOpenSearchUrlAdapter());
@@ -93,7 +98,7 @@
@Test
public void testOpenSearchFeedResponse() throws Exception {
AbderaClient client = new AbderaClient();
- ClientResponse response = client.get("http://localhost:9002/search1?q=test1&c=1");
+ ClientResponse response = client.get("http://localhost:" + port + "/search1?q=test1&c=1");
assertEquals(200, response.getStatus());
Document<Feed> feedDoc = response.getDocument();
diff --git a/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/processors/OpenSearchDescriptionRequestProcessorTest.java b/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/processors/OpenSearchDescriptionRequestProcessorTest.java
index 7737f62..0412c54 100644
--- a/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/processors/OpenSearchDescriptionRequestProcessorTest.java
+++ b/extensions/opensearch/src/test/java/org/apache/abdera/test/ext/opensearch/server/processors/OpenSearchDescriptionRequestProcessorTest.java
@@ -39,18 +39,23 @@
import org.apache.abdera.test.ext.opensearch.server.AbstractOpenSearchServerTest;
import org.apache.abdera.test.ext.opensearch.server.JettyServer;
import org.apache.abdera.util.MimeTypeHelper;
+import org.apache.axiom.testutils.PortAllocator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class OpenSearchDescriptionRequestProcessorTest extends AbstractOpenSearchServerTest {
- private JettyServer server = new JettyServer();
+ private int port;
+ private JettyServer server;
private OpenSearchInfo osInfo;
private OpenSearchDescriptionRequestProcessor osRequestProcessor;
@Before
public void setUp() throws Exception {
+ port = PortAllocator.allocatePort();
+ server = new JettyServer(port);
+
this.osInfo = this.createOpenSearchInfo();
this.osRequestProcessor = new OpenSearchDescriptionRequestProcessor();
this.osRequestProcessor.setOpenSearchInfo(osInfo);
@@ -86,7 +91,7 @@
@Test
public void testOpenSearchDescriptionRequestProcessorOutput() throws Exception {
AbderaClient client = new AbderaClient();
- ClientResponse resp = client.get("http://localhost:9002/search");
+ ClientResponse resp = client.get("http://localhost:" + port + "/search");
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
@@ -108,11 +113,11 @@
result);
assertXpathEvaluatesTo(QUERY_TERMS, "/os:OpenSearchDescription/os:Query/@searchTerms", result);
assertXpathEvaluatesTo("application/atom+xml", "/os:OpenSearchDescription/os:Url[1]/@type", result);
- assertXpathEvaluatesTo("http://localhost:9002/search1?q={searchTerms}&c={count?}",
+ assertXpathEvaluatesTo("http://localhost:" + port + "/search1?q={searchTerms}&c={count?}",
"/os:OpenSearchDescription/os:Url[1]/@template",
result);
assertXpathEvaluatesTo("application/atom+xml", "/os:OpenSearchDescription/os:Url[2]/@type", result);
- assertXpathEvaluatesTo("http://localhost:9002/search2?q={searchTerms}&c={count?}",
+ assertXpathEvaluatesTo("http://localhost:" + port + "/search2?q={searchTerms}&c={count?}",
"/os:OpenSearchDescription/os:Url[2]/@template",
result);
}
diff --git a/server/pom.xml b/server/pom.xml
index d2f285b..72d5887 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -99,5 +99,10 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-testutils</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/server/src/test/java/org/apache/abdera/protocol/server/test/basic/BasicTest.java b/server/src/test/java/org/apache/abdera/protocol/server/test/basic/BasicTest.java
index 0382bb1..a671850 100644
--- a/server/src/test/java/org/apache/abdera/protocol/server/test/basic/BasicTest.java
+++ b/server/src/test/java/org/apache/abdera/protocol/server/test/basic/BasicTest.java
@@ -43,12 +43,14 @@
import org.apache.abdera.util.MimeTypeHelper;
import org.apache.abdera.writer.Writer;
import org.apache.abdera.writer.WriterFactory;
+import org.apache.axiom.testutils.PortAllocator;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class BasicTest {
+ private static int port;
private static JettyServer server;
private static Abdera abdera = Abdera.getInstance();
private static AbderaClient client = new AbderaClient();
@@ -56,7 +58,8 @@
@BeforeClass
public static void setUp() throws Exception {
if (server == null) {
- server = new JettyServer();
+ port = PortAllocator.allocatePort();
+ server = new JettyServer(port);
server.start(BasicProvider.class);
}
}
@@ -75,7 +78,7 @@
@Test
public void testGetService() {
- ClientResponse resp = client.get("http://localhost:9002/");
+ ClientResponse resp = client.get("http://localhost:" + port + "/");
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.APP_MEDIA_TYPE));
@@ -87,19 +90,19 @@
Collection collection = workspace.getCollection("title for any sample feed");
assertNotNull(collection);
assertTrue(collection.acceptsEntry());
- assertEquals("http://localhost:9002/sample", collection.getResolvedHref().toString());
+ assertEquals("http://localhost:" + port + "/sample", collection.getResolvedHref().toString());
resp.release();
}
@Test
public void testGetFeed() {
- ClientResponse resp = client.get("http://localhost:9002/sample");
+ ClientResponse resp = client.get("http://localhost:" + port + "/sample");
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.FEED_MEDIA_TYPE));
Document<Feed> doc = resp.getDocument();
Feed feed = doc.getRoot();
- assertEquals("http://localhost:9002/sample", feed.getId().toString());
+ assertEquals("http://localhost:" + port + "/sample", feed.getId().toString());
assertEquals("title for any sample feed", feed.getTitle());
assertEquals("rayc", feed.getAuthor().getName());
assertEquals(0, feed.getEntries().size());
@@ -109,19 +112,19 @@
@Test
public void testPostEntry() {
Entry entry = abdera.newEntry();
- entry.setId("http://localhost:9002/sample/foo");
+ entry.setId("http://localhost:" + port + "/sample/foo");
entry.setTitle("test entry");
entry.setContent("Test Content");
entry.addLink("http://example.org");
entry.setUpdated(new Date());
entry.addAuthor("James");
- ClientResponse resp = client.post("http://localhost:9002/sample", entry);
+ ClientResponse resp = client.post("http://localhost:" + port + "/sample", entry);
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertEquals(201, resp.getStatus());
- assertEquals("http://localhost:9002/sample/foo", resp.getLocation().toString());
+ assertEquals("http://localhost:" + port + "/sample/foo", resp.getLocation().toString());
resp.release();
- resp = client.get("http://localhost:9002/sample");
+ resp = client.get("http://localhost:" + port + "/sample");
Document<Feed> feed_doc = resp.getDocument();
Feed feed = feed_doc.getRoot();
assertEquals(1, feed.getEntries().size());
@@ -133,7 +136,7 @@
ByteArrayInputStream in = new ByteArrayInputStream(new byte[] {0x01, 0x02, 0x03, 0x04});
RequestOptions options = client.getDefaultRequestOptions();
options.setContentType("application/octet-stream");
- ClientResponse resp = client.post("http://localhost:9002/sample", in, options);
+ ClientResponse resp = client.post("http://localhost:" + port + "/sample", in, options);
assertEquals(ResponseType.CLIENT_ERROR, resp.getType());
assertEquals(405, resp.getStatus());
resp.release();
@@ -141,22 +144,22 @@
@Test
public void testPutEntry() {
- ClientResponse resp = client.get("http://localhost:9002/sample/foo");
+ ClientResponse resp = client.get("http://localhost:" + port + "/sample/foo");
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.ENTRY_MEDIA_TYPE));
Document<Entry> doc = resp.getDocument();
Entry entry = doc.getRoot();
entry.setTitle("This is the modified title");
resp.release();
- resp = client.put("http://localhost:9002/sample/foo", entry);
+ resp = client.put("http://localhost:" + port + "/sample/foo", entry);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertEquals(200, resp.getStatus());
resp.release();
- resp = client.get("http://localhost:9002/sample/foo");
+ resp = client.get("http://localhost:" + port + "/sample/foo");
doc = resp.getDocument();
entry = doc.getRoot();
assertEquals("This is the modified title", entry.getTitle());
resp.release();
- resp = client.get("http://localhost:9002/sample");
+ resp = client.get("http://localhost:" + port + "/sample");
Document<Feed> feed_doc = resp.getDocument();
Feed feed = feed_doc.getRoot();
assertEquals(1, feed.getEntries().size());
@@ -165,10 +168,10 @@
@Test
public void testDeleteEntry() {
- ClientResponse resp = client.delete("http://localhost:9002/sample/foo");
+ ClientResponse resp = client.delete("http://localhost:" + port + "/sample/foo");
assertEquals(ResponseType.SUCCESS, resp.getType());
resp.release();
- resp = client.get("http://localhost:9002/sample");
+ resp = client.get("http://localhost:" + port + "/sample");
Document<Feed> feed_doc = resp.getDocument();
Feed feed = feed_doc.getRoot();
assertEquals(0, feed.getEntries().size());
diff --git a/server/src/test/java/org/apache/abdera/protocol/server/test/custom/CustomProviderTest.java b/server/src/test/java/org/apache/abdera/protocol/server/test/custom/CustomProviderTest.java
index 684c39e..cd3680e 100644
--- a/server/src/test/java/org/apache/abdera/protocol/server/test/custom/CustomProviderTest.java
+++ b/server/src/test/java/org/apache/abdera/protocol/server/test/custom/CustomProviderTest.java
@@ -42,6 +42,7 @@
import org.apache.abdera.protocol.server.test.JettyServer;
import org.apache.abdera.util.Constants;
import org.apache.abdera.util.MimeTypeHelper;
+import org.apache.axiom.testutils.PortAllocator;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -52,12 +53,14 @@
private static Abdera abdera = Abdera.getInstance();
private static AbderaClient client = new AbderaClient();
- private static String BASE = "http://localhost:9002/atom";
+ private static String base;
@BeforeClass
public static void setUp() throws Exception {
- server = new JettyServer();
+ int port = PortAllocator.allocatePort();
+ server = new JettyServer(port);
server.start(CustomProvider.class);
+ base = "http://localhost:" + port + "/atom";
}
@AfterClass
@@ -67,7 +70,7 @@
@Test
public void testGetService() throws IOException {
- ClientResponse resp = client.get(BASE);
+ ClientResponse resp = client.get(base);
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.APP_MEDIA_TYPE));
@@ -82,14 +85,14 @@
Workspace workspace = service.getWorkspaces().get(0);
assertEquals(1, workspace.getCollections().size());
Collection collection = workspace.getCollections().get(0);
- assertEquals(BASE + "/feed", collection.getResolvedHref().toString());
+ assertEquals(base + "/feed", collection.getResolvedHref().toString());
assertEquals("A simple feed", collection.getTitle().toString());
resp.release();
}
@Test
public void testGetCategories() {
- ClientResponse resp = client.get(BASE + "/feed;categories");
+ ClientResponse resp = client.get(base + "/feed;categories");
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.CAT_MEDIA_TYPE));
@@ -104,7 +107,7 @@
@Test
public void testGetFeed() throws Exception {
- ClientResponse resp = client.get(BASE + "/feed");
+ ClientResponse resp = client.get(base + "/feed");
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.ATOM_MEDIA_TYPE));
@@ -127,19 +130,19 @@
@Test
public void testPostEntry() {
Entry entry = abdera.newEntry();
- entry.setId(BASE + "/feed/entries/1");
+ entry.setId(base + "/feed/entries/1");
entry.setTitle("test entry");
entry.setContent("Test Content");
entry.addLink("http://example.org");
entry.setUpdated(new Date());
entry.addAuthor("James");
- ClientResponse resp = client.post(BASE + "/feed", entry);
+ ClientResponse resp = client.post(base + "/feed", entry);
assertNotNull(resp);
assertEquals(ResponseType.SUCCESS, resp.getType());
assertEquals(201, resp.getStatus());
assertNotNull(resp.getLocation());
resp.release();
- resp = client.get(BASE + "/feed");
+ resp = client.get(base + "/feed");
Document<Feed> feed_doc = resp.getDocument();
Feed feed = feed_doc.getRoot();
assertEquals(1, feed.getEntries().size());
@@ -150,7 +153,7 @@
ByteArrayInputStream in = new ByteArrayInputStream(new byte[] {0x01, 0x02, 0x03, 0x04});
RequestOptions options = client.getDefaultRequestOptions();
options.setContentType("application/octet-stream");
- ClientResponse resp = client.post(BASE + "/feed", in, options);
+ ClientResponse resp = client.post(base + "/feed", in, options);
assertEquals(ResponseType.CLIENT_ERROR, resp.getType());
assertEquals(405, resp.getStatus());
resp.release();
@@ -158,7 +161,7 @@
@Test
public void testPutEntry() throws IOException {
- ClientResponse resp = client.get(BASE + "/feed");
+ ClientResponse resp = client.get(base + "/feed");
Document<Feed> feed_doc = resp.getDocument();
Feed feed = feed_doc.getRoot();
prettyPrint(feed);
@@ -181,7 +184,7 @@
entry = doc.getRoot();
assertEquals("This is the modified title", entry.getTitle());
resp.release();
- resp = client.get(BASE + "/feed");
+ resp = client.get(base + "/feed");
feed_doc = resp.getDocument();
feed = feed_doc.getRoot();
assertEquals(1, feed.getEntries().size());
@@ -190,7 +193,7 @@
@Test
public void testDeleteEntry() {
- ClientResponse resp = client.get(BASE + "/feed");
+ ClientResponse resp = client.get(base + "/feed");
Document<Feed> feed_doc = resp.getDocument();
Feed feed = feed_doc.getRoot();
Entry entry = feed.getEntries().get(0);
@@ -199,7 +202,7 @@
resp = client.delete(edit);
assertEquals(ResponseType.SUCCESS, resp.getType());
resp.release();
- resp = client.get(BASE + "/feed");
+ resp = client.get(base + "/feed");
feed_doc = resp.getDocument();
feed = feed_doc.getRoot();
assertEquals(0, feed.getEntries().size());
diff --git a/server/src/test/java/org/apache/abdera/protocol/server/test/customer/CustomerAdapterTest.java b/server/src/test/java/org/apache/abdera/protocol/server/test/customer/CustomerAdapterTest.java
index 5bcdf1f..bf554ac 100755
--- a/server/src/test/java/org/apache/abdera/protocol/server/test/customer/CustomerAdapterTest.java
+++ b/server/src/test/java/org/apache/abdera/protocol/server/test/customer/CustomerAdapterTest.java
@@ -48,6 +48,7 @@
import org.apache.abdera.util.MimeTypeHelper;
import org.apache.abdera.writer.Writer;
import org.apache.abdera.writer.WriterFactory;
+import org.apache.axiom.testutils.PortAllocator;
import org.junit.After;
import org.junit.Test;
import org.mortbay.jetty.Server;
@@ -56,6 +57,7 @@
public class CustomerAdapterTest {
+ private int port;
private Server server;
private DefaultProvider customerProvider;
@@ -94,7 +96,7 @@
AbderaClient client = new AbderaClient(abdera);
- String uri = "http://localhost:9002" + base;
+ String uri = "http://localhost:" + port + base;
// Service document test.
@@ -195,8 +197,8 @@
@SuppressWarnings("serial")
private void initializeJetty(String contextPath) throws Exception {
-
- server = new Server(9002);
+ port = PortAllocator.allocatePort();
+ server = new Server(port);
Context root = new Context(server, contextPath, Context.NO_SESSIONS);
root.addServlet(new ServletHolder(new AbderaServlet() {
diff --git a/server/src/test/java/org/apache/abdera/protocol/server/test/multipart/MultipartRelatedTest.java b/server/src/test/java/org/apache/abdera/protocol/server/test/multipart/MultipartRelatedTest.java
index 140285b..88cbaff 100644
--- a/server/src/test/java/org/apache/abdera/protocol/server/test/multipart/MultipartRelatedTest.java
+++ b/server/src/test/java/org/apache/abdera/protocol/server/test/multipart/MultipartRelatedTest.java
@@ -19,6 +19,7 @@
import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo;
import org.apache.abdera.protocol.server.processors.MultipartRelatedServiceRequestProcessor;
import org.apache.abdera.protocol.server.servlet.AbderaServlet;
+import org.apache.axiom.testutils.PortAllocator;
import org.junit.After;
import org.junit.Test;
import org.mortbay.jetty.Server;
@@ -28,10 +29,12 @@
@SuppressWarnings("serial")
public class MultipartRelatedTest {
+ private int port;
private Server server;
private void initializeJetty(String contextPath) throws Exception {
- server = new Server(9002);
+ port = PortAllocator.allocatePort();
+ server = new Server(port);
Context root = new Context(server, contextPath, Context.NO_SESSIONS);
root.addServlet(new ServletHolder(new AbderaServlet() {
@Override
@@ -70,7 +73,7 @@
initializeJetty("/");
AbderaClient client = new AbderaClient(new Abdera());
- ClientResponse res = client.get("http://localhost:9002/");
+ ClientResponse res = client.get("http://localhost:" + port + "/");
assertEquals(200, res.getStatus());
StringWriter sw = new StringWriter();
res.getDocument().writeTo(sw);
@@ -108,7 +111,7 @@
entry.setContent(new IRI("cid:234234@example.com"), contentType);
ClientResponse res =
- client.post("http://localhost:9002/media", entry, this.getClass().getResourceAsStream("info.png"));
+ client.post("http://localhost:" + port + "/media", entry, this.getClass().getResourceAsStream("info.png"));
assertEquals(status, res.getStatus());
}
}