package nl.hsac.fitnesse.fixture.util; import nl.hsac.fitnesse.fixture.UnitTestHelper; import org.apache.http.HttpStatus; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import static org.junit.Assert.assertSame; /** * Tests HttpResponse. */ public class HttpResponseTest { @Rule public ExpectedException expect = ExpectedException.none(); @Before public void setUp() { HttpResponse.clearInstances(); } @Test public void testParseLalResponse() { XmlHttpResponse lalResponse = new XmlHttpResponse(); UnitTestHelper.fillResponse(lalResponse, "leanapps/getPolicyCheckResponse.xml"); String key = lalResponse.toString(); assertSame(lalResponse, HttpResponse.parse(key)); } @Test public void testValidResponseOk() { HttpResponse resp = new HttpResponse(); resp.setStatusCode(HttpStatus.SC_OK); resp.validResponse(); resp.setStatusCode(201); resp.validResponse(); resp.setStatusCode(299); resp.validResponse(); resp.setStatusCode(301); resp.validResponse(); resp.setStatusCode(302); resp.validResponse(); resp.setStatusCode(100); resp.validResponse(); } @Test public void testValidResponseServerErrorNotImplemented() { expect.expect(RuntimeException.class); HttpResponse resp = new HttpResponse(); resp.setStatusCode(HttpStatus.SC_NOT_IMPLEMENTED); resp.validResponse(); } @Test public void testValidResponseServerErrorGeneric() { expect.expect(RuntimeException.class); HttpResponse resp = new HttpResponse(); resp.setStatusCode(HttpStatus.SC_INTERNAL_SERVER_ERROR); resp.validResponse(); } @Test public void testValidResponseClientErrorGeneric() { expect.expect(RuntimeException.class); HttpResponse resp = new HttpResponse(); resp.setStatusCode(HttpStatus.SC_BAD_REQUEST); resp.validResponse(); } @Test public void testValidResponseClientErrorNotFound() { expect.expect(RuntimeException.class); HttpResponse resp = new HttpResponse(); resp.setStatusCode(HttpStatus.SC_NOT_FOUND); resp.validResponse(); } @Test public void testValidResponseClientErrorForbidden() { expect.expect(RuntimeException.class); HttpResponse resp = new HttpResponse(); resp.setStatusCode(HttpStatus.SC_FORBIDDEN); resp.validResponse(); } }