package org.jboss.resteasy.test;

import org.jboss.resteasy.client.ClientRequest;
import org.jboss.resteasy.client.ClientRequestFactory;
import org.jboss.resteasy.client.ProxyFactory;
import org.jboss.resteasy.util.PortProvider;

import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;

Test utility class
Author:Justin Edelson
Version:$Revision$
/** * Test utility class * * @author <a href="justin@justinedelson.com">Justin Edelson</a> * @version $Revision$ */
public class TestPortProvider {
Create a Resteasy ClientRequest object using the configured port.
Params:
  • path – the request path
Returns:the ClientRequest object
/** * Create a Resteasy ClientRequest object using the configured port. * * @param path the request path * @return the ClientRequest object */
public static ClientRequest createClientRequest(String path) { return new ClientRequest(generateURL(path)); } public static ClientRequest createClientRequest(ClientRequestFactory factory, String path) { return factory.createRequest(generateURL(path)); }
Create a Resteasy client proxy with an empty base request path.
Params:
  • clazz – the client interface class
Type parameters:
  • <T> – type
Returns:the proxy object
/** * Create a Resteasy client proxy with an empty base request path. * * @param <T> type * @param clazz the client interface class * @return the proxy object */
public static <T> T createProxy(Class<T> clazz) { return createProxy(clazz, ""); }
Create a Resteasy client proxy.
Params:
  • clazz – the client interface class
  • path – the base request path
Type parameters:
  • <T> – type
Returns:the proxy object
/** * Create a Resteasy client proxy. * * @param <T> type * @param clazz the client interface class * @param path the base request path * @return the proxy object */
public static <T> T createProxy(Class<T> clazz, String path) { return ProxyFactory.create(clazz, generateURL(path)); }
Create a URI for the provided path, using the configured port
Params:
  • path – the request path
Returns:a full URI
/** * Create a URI for the provided path, using the configured port * * @param path the request path * @return a full URI */
public static URI createURI(String path) { return URI.create(generateURL(path)); }
Create a URL for the provided path, using the configured port
Params:
  • path – the request path
Throws:
Returns:a full URL
/** * Create a URL for the provided path, using the configured port * * @param path the request path * @return a full URL * @throws MalformedURLException if no protocol is specified or an unknown protocol is found */
public static URL createURL(String path) throws MalformedURLException { return new URL(generateURL(path)); }
Generate a base URL incorporating the configured port.
Returns:a full URL
/** * Generate a base URL incorporating the configured port. * * @return a full URL */
public static String generateBaseUrl() { return generateURL(""); }
Generate a URL incorporating the configured port.
Params:
  • path – the path
Returns:a full URL
/** * Generate a URL incorporating the configured port. * * @param path the path * @return a full URL */
public static String generateURL(String path) { return String.format("http://%s:%d%s", getHost(), getPort(), path); }
Look up the configured port number, first checking an environment variable (RESTEASY_PORT), then a system property (org.jboss.resteasy.port), and finally the default port (8081).
Returns:the port number specified in either the environment or system properties
/** * Look up the configured port number, first checking an environment variable (RESTEASY_PORT), * then a system property (org.jboss.resteasy.port), and finally the default port (8081). * * @return the port number specified in either the environment or system properties */
public static int getPort() { return PortProvider.getPort(); }
Look up the configured hostname, first checking an environment variable (RESTEASY_HOST), then a system property (org.jboss.resteasy.host), and finally the default hostname (localhost).
Returns:the host specified in either the environment or system properties
/** * Look up the configured hostname, first checking an environment variable (RESTEASY_HOST), * then a system property (org.jboss.resteasy.host), and finally the default hostname (localhost). * * @return the host specified in either the environment or system properties */
public static String getHost() { return PortProvider.getHost(); } }