package org.jboss.resteasy.test.client;
import org.jboss.resteasy.category.NotForForwardCompatibility;
import org.junit.Assert;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import javax.ws.rs.core.EntityTag;
import javax.ws.rs.core.Response;
/**
* @tpSubChapter Resteasy-client
* @tpChapter Client tests
* @tpSince RESTEasy 3.0.16
*
* @author <a href="dmitry.bedrin@gmail.com">Dmitry Bedrin</a>
*/
public class ResponseBuilderImplTest {
private final String ERROR_MESSAGE = "Incorrect ETag value";
/**
* @tpTestDetails Sets entity tag of Response builder
* @tpPassCrit Response builder contains newly updated value
* @tpSince RESTEasy 3.0.16
*/
@Test
public void testObjectEntityTagValue() throws Exception {
Response response = Response.ok("entityValue").tag(new EntityTag("etagValue")).build();
Assert.assertEquals(ERROR_MESSAGE, "\"etagValue\"", response.getHeaderString("ETag"));
}
/**
* @tpTestDetails Sets quoted ETag by ResponseBuilder.tag(String tag)
* @tpPassCrit Response builder contains newly updated value with the quotes
* @tpInfo RESTEASY-1439
* @tpSince RESTEasy 3.1.0
*/
@Test
@Category({NotForForwardCompatibility.class})
public void testStringEntityTagValue() throws Exception {
Response response = Response.ok("entityValue").tag("etagValue").build();
Assert.assertEquals(ERROR_MESSAGE, "\"etagValue\"", response.getHeaderString("ETag"));
}
/**
* @tpTestDetails Sets entity tag of Response builder with a not-modified status.
* @tpPassCrit Response builder contains newly updated value
* @tpSince RESTEasy 3.0.16
*/
@Test
public void testNotModifiedWithObjectEntityTagValue() throws Exception {
Response response = Response.notModified(new EntityTag("etagValue")).build();
Assert.assertEquals(ERROR_MESSAGE, "\"etagValue\"", response.getHeaderString("ETag"));
}
/**
* @tpTestDetails Sets entity tag of Response builder with a not-modified status using ResponseBuilder.tag(String tag)
* @tpPassCrit Response builder contains newly updated value with the quotes
* @tpInfo RESTEASY-1439
* @tpSince RESTEasy 3.1.0
*/
@Test
@Category({NotForForwardCompatibility.class})
public void testNotModifiedWithStringEntityTagValue() throws Exception {
Response response = Response.notModified("etagValue").build();
Assert.assertEquals(ERROR_MESSAGE, "\"etagValue\"", response.getHeaderString("ETag"));
}
}