package com.eclipsesource.jaxrs.consumer; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import javax.ws.rs.core.MultivaluedMap; import org.junit.Test; import com.eclipsesource.jaxrs.consumer.internal.RequestError; public class RequestExceptionTest { @Test( expected = IllegalArgumentException.class ) public void testFailsWithoutError() { new RequestException( null ); } @Test public void testHasStatus() { RequestError error = mock( RequestError.class ); when( error.getStatus() ).thenReturn( 233 ); RequestException exception = new RequestException( error ); int status = exception.getStatus(); assertEquals( 233, status ); } @Test public void testHasMessage() { RequestError error = mock( RequestError.class ); when( error.getMessage() ).thenReturn( "foo" ); RequestException exception = new RequestException( error ); String message = exception.getMessage(); assertEquals( "foo", message ); } @Test public void testHasEntity() { RequestError error = mock( RequestError.class ); when( error.getEntity() ).thenReturn( "foo" ); RequestException exception = new RequestException( error ); String entity = exception.getEntity(); assertEquals( "foo", entity ); } @Test public void testHasMethod() { RequestError error = mock( RequestError.class ); when( error.getMethod() ).thenReturn( "foo" ); RequestException exception = new RequestException( error ); String method = exception.getMethod(); assertEquals( "foo", method ); } @Test public void testHasUrl() { RequestError error = mock( RequestError.class ); when( error.getRequestUrl() ).thenReturn( "foo" ); RequestException exception = new RequestException( error ); String url = exception.getRequestUrl(); assertEquals( "foo", url ); } @Test @SuppressWarnings( { "rawtypes", "unchecked" } ) public void testHasHeaders() { RequestError error = mock( RequestError.class ); when( error.getRequestUrl() ).thenReturn( "foo" ); MultivaluedMap headers = mock( MultivaluedMap.class ); when( error.getHeaders() ).thenReturn( headers ); RequestException exception = new RequestException( error ); MultivaluedMap<String, Object> actualHeaders = exception.getHeaders(); assertSame( headers, actualHeaders ); } }