Skip to content

Commit

Permalink
RESTEASY-2194 integration test-case
Browse files Browse the repository at this point in the history
  • Loading branch information
istudens authored and asoldano committed Mar 26, 2019
1 parent 7fd1dce commit f99a329
Show file tree
Hide file tree
Showing 3 changed files with 254 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import org.jboss.logging.Logger;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.jboss.resteasy.test.resource.param.resource.RESTEasyParamBeanCdi;
import org.jboss.resteasy.test.resource.param.resource.RESTEasyParamCdiResource;
import org.jboss.resteasy.test.providers.jsonb.basic.JsonBindingTest;
import org.jboss.resteasy.utils.PortProviderUtil;
import org.jboss.resteasy.utils.TestUtil;
import org.jboss.shrinkwrap.api.Archive;
Expand Down Expand Up @@ -35,14 +35,14 @@
@RunWith(Arquillian.class)
@RunAsClient
public class RESTEasyParamCdiTest {
protected static final Logger logger = Logger.getLogger(JsonBindingTest.class.getName());
protected static final Logger logger = Logger.getLogger(RESTEasyParamCdiTest.class.getName());

static ResteasyClient client;

@Deployment
public static Archive<?> deploySimpleResource() {
WebArchive war = TestUtil.prepareArchive(RESTEasyParamCdiTest.class.getSimpleName());
return TestUtil.finishContainerPrepare(war, null, RESTEasyParamCdiResource.class);
return TestUtil.finishContainerPrepare(war, null, RESTEasyParamCdiResource.class, RESTEasyParamBeanCdi.class);
}

@Before
Expand Down Expand Up @@ -100,4 +100,45 @@ public void requestScopedTest() throws Exception {
Assert.assertThat("expected value: " + defaultValue + ", get: " + message, message, is(defaultValue));
}
}

/**
* @tpTestDetails Checks end-point with a BeanParam decorated by @RequestScoped annotation
* @tpSince RESTEasy 3.6
*/
@Test
public void requestScopedBeanParamTest() throws Exception {
for (Integer i = 0; i < 3; i++) {
logger.info("Request " + i);
String defaultValue = i.toString();
Response response = client.target(generateURL(String.format("/%d/%d/%d/%d/%d",
i, i, i, i, i)))
.queryParam("queryParam0", defaultValue)
.queryParam("queryParam1", defaultValue)
.queryParam("queryParam2", defaultValue)
.queryParam("queryParam3", defaultValue)
.matrixParam("matrixParam0", defaultValue)
.matrixParam("matrixParam1", defaultValue)
.matrixParam("matrixParam2", defaultValue)
.matrixParam("matrixParam3", defaultValue)
.request()
.header("headerParam0", defaultValue)
.header("headerParam1", defaultValue)
.header("headerParam2", defaultValue)
.header("headerParam3", defaultValue)
.cookie("cookieParam0", defaultValue)
.cookie("cookieParam1", defaultValue)
.cookie("cookieParam2", defaultValue)
.cookie("cookieParam3", defaultValue)
.post(Entity.form(new Form()
.param("formParam0", defaultValue)
.param("formParam1", defaultValue)
.param("formParam2", defaultValue)
.param("formParam3", defaultValue)
));
Assert.assertThat("expected response code is 200, get: " + response.getStatus(),
response.getStatus(), is(200));
String message = response.readEntity(String.class);
Assert.assertThat("expected value: " + defaultValue + ", get: " + message, message, is(defaultValue));
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
package org.jboss.resteasy.test.resource.param.resource;

import org.jboss.resteasy.annotations.jaxrs.CookieParam;
import org.jboss.resteasy.annotations.jaxrs.FormParam;
import org.jboss.resteasy.annotations.jaxrs.HeaderParam;
import org.jboss.resteasy.annotations.jaxrs.MatrixParam;
import org.jboss.resteasy.annotations.jaxrs.PathParam;
import org.jboss.resteasy.annotations.jaxrs.QueryParam;

import javax.enterprise.context.RequestScoped;

@RequestScoped
public class RESTEasyParamBeanCdi
{
private String cookieParam2;
@CookieParam
private String cookieParam3;

private String formParam2;
@FormParam
private String formParam3;

private String headerParam2;
@HeaderParam
private String headerParam3;

private String matrixParam2;
@MatrixParam
private String matrixParam3;

@PathParam
private String pathParam3;
private String pathParam4;

private String queryParam2;
@QueryParam
private String queryParam3;


public String getCookieParam2()
{
return cookieParam2;
}

@CookieParam
public void setCookieParam2(String cookieParam2)
{
this.cookieParam2 = cookieParam2;
}

public String getCookieParam3() {
return cookieParam3;
}

public String getFormParam2()
{
return formParam2;
}

@FormParam
public void setFormParam2(String formParam2)
{
this.formParam2 = formParam2;
}

public String getFormParam3()
{
return formParam3;
}

public String getPathParam3() {
return pathParam3;
}

public String getPathParam4()
{
return pathParam4;
}

@PathParam
public void setPathParam4(String pathParam4)
{
this.pathParam4 = pathParam4;
}

public String getHeaderParam2()
{
return headerParam2;
}

@HeaderParam
public void setHeaderParam2(String headerParam2)
{
this.headerParam2 = headerParam2;
}

public String getHeaderParam3() {
return headerParam3;
}

public String getMatrixParam2()
{
return matrixParam2;
}

@MatrixParam
public void setMatrixParam2(String matrixParam2)
{
this.matrixParam2 = matrixParam2;
}

public String getMatrixParam3() {
return matrixParam3;
}

public String getQueryParam2()
{
return queryParam2;
}

@QueryParam
public void setQueryParam2(String queryParam2)
{
this.queryParam2 = queryParam2;
}

public String getQueryParam3() {
return queryParam3;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.jboss.resteasy.annotations.jaxrs.QueryParam;

import javax.enterprise.context.RequestScoped;
import javax.ws.rs.BeanParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
Expand Down Expand Up @@ -186,8 +187,84 @@ public Response post2(
}

if(!queryParam3.equals(queryParam1)
|| !queryParam3.equals(queryParam2)
|| !queryParam3.equals(queryParam3)) {
|| !queryParam3.equals(queryParam2)) {
logger.error("query error");
return Response.status(Response.Status.BAD_REQUEST).build();
}

return Response.ok(queryParam1).build();
}

@POST
@Path("{pathParam0}/{pathParam1}/{pathParam2}/{pathParam3}/{pathParam4}")
public Response post(@BeanParam RESTEasyParamBeanCdi paramBean)
{
StringBuilder details = new StringBuilder();
details.append("cookieParam1: "+cookieParam1+"\n");
details.append("cookieParam2: "+paramBean.getCookieParam2()+"\n");
details.append("cookieParam3: "+paramBean.getCookieParam3()+"\n");

details.append("formParam1: "+formParam1+"\n");
details.append("formParam2: "+paramBean.getFormParam2()+"\n");
details.append("formParam3: "+paramBean.getFormParam3()+"\n");

details.append("headerParam1: "+headerParam1+"\n");
details.append("headerParam2: "+paramBean.getHeaderParam2()+"\n");
details.append("headerParam3: "+paramBean.getHeaderParam3()+"\n");

details.append("matrixParam1: "+matrixParam1+"\n");
details.append("matrixParam2: "+paramBean.getMatrixParam2()+"\n");
details.append("matrixParam3: "+paramBean.getMatrixParam3()+"\n");

details.append("pathParam1: "+pathParam1+"\n");
details.append("pathParam2: "+pathParam2+"\n");
details.append("pathParam3: "+paramBean.getPathParam3()+"\n");
details.append("pathParam4: "+paramBean.getPathParam4()+"\n");

details.append("queryParam1: "+queryParam1+"\n");
details.append("queryParam2: "+paramBean.getQueryParam2()+"\n");
details.append("queryParam3: "+paramBean.getQueryParam3()+"\n");

logger.info(details);

if(!paramBean.getQueryParam3().equals(cookieParam1)
|| !paramBean.getQueryParam3().equals(paramBean.getCookieParam2())
|| !paramBean.getQueryParam3().equals(paramBean.getCookieParam3())) {
logger.error("cookie error");
return Response.status(Response.Status.BAD_REQUEST).build();
}

if(!paramBean.getQueryParam3().equals(formParam1)
|| !paramBean.getQueryParam3().equals(paramBean.getFormParam2())
|| !paramBean.getQueryParam3().equals(paramBean.getFormParam3())) {
logger.error("form error");
return Response.status(Response.Status.BAD_REQUEST).build();
}

if(!paramBean.getQueryParam3().equals(headerParam1)
|| !paramBean.getQueryParam3().equals(paramBean.getHeaderParam2())
|| !paramBean.getQueryParam3().equals(paramBean.getHeaderParam3())) {
logger.error("header error");
return Response.status(Response.Status.BAD_REQUEST).build();
}

if(!paramBean.getQueryParam3().equals(matrixParam1)
|| !paramBean.getQueryParam3().equals(paramBean.getMatrixParam2())
|| !paramBean.getQueryParam3().equals(paramBean.getMatrixParam3())) {
logger.error("matrix error");
return Response.status(Response.Status.BAD_REQUEST).build();
}

if(!paramBean.getQueryParam3().equals(pathParam1)
|| !paramBean.getQueryParam3().equals(pathParam2)
|| !paramBean.getQueryParam3().equals(paramBean.getPathParam3())
|| !paramBean.getQueryParam3().equals(paramBean.getPathParam4())) {
logger.error("path error");
return Response.status(Response.Status.BAD_REQUEST).build();
}

if(!paramBean.getQueryParam3().equals(queryParam1)
|| !paramBean.getQueryParam3().equals(paramBean.getQueryParam2())) {
logger.error("query error");
return Response.status(Response.Status.BAD_REQUEST).build();
}
Expand Down

0 comments on commit f99a329

Please sign in to comment.