package org.javaee7.jaxrs.beanparam; import static org.junit.Assert.assertEquals; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.WebTarget; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.test.api.ArquillianResource; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; /** * @author Arun Gupta * @author Xavier Coulon */ @RunWith(Arquillian.class) public class MyResourceTest { @Deployment(testable = false) public static WebArchive createDeployment() { return ShrinkWrap.create(WebArchive.class) .addClasses(MyApplication.class, MyResource.class, MyPathParams.class, MyQueryParams.class); } private static WebTarget target; @ArquillianResource private URL base; @Before public void setUpClass() throws MalformedURLException { Client client = ClientBuilder.newClient(); target = client.target(URI.create(new URL(base, "webresources/endpoint").toExternalForm())); } @Test public void testRequestWithAllParams() { WebTarget t = target.path("/123").path("/abc").queryParam("param1", "foo").queryParam("param2", "bar").queryParam("param3", "baz"); String r = t.request().get(String.class); assertEquals("/123/abc?param1=foo¶m2=bar¶m3=baz", r); } }