package org.deegree.securityproxy.authentication;
import static java.util.Collections.list;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.junit.Test;
/**
* @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz</a>
* @author last edited by: $Author: lyn $
*
* @version $Revision: $, $Date: $
*/
public class AddHeaderHttpServletRequestWrapperTest {
private static final String HEADER_NAME = "headerName";
private static final String HEADER_VALUE = "headerToken";
private final HttpServletRequest request = mockRequest();
@Test
public void testAddHeaderShouldReturnHeader() {
AddHeaderHttpServletRequestWrapper requestWrapper = new AddHeaderHttpServletRequestWrapper( request );
requestWrapper.addHeader( HEADER_NAME, HEADER_VALUE );
assertThat( requestWrapper.getHeader( HEADER_NAME ), is( HEADER_VALUE ) );
}
@SuppressWarnings("unchecked")
@Test
public void testAddHeaderShouldReturnHeaderName() {
AddHeaderHttpServletRequestWrapper requestWrapper = new AddHeaderHttpServletRequestWrapper( request );
requestWrapper.addHeader( HEADER_NAME, HEADER_VALUE );
List<String> list = list( requestWrapper.getHeaderNames() );
assertThat( list, hasItem( HEADER_NAME ) );
}
@SuppressWarnings("unchecked")
@Test
public void testAddHeaderShouldReturnHeaderValues() {
AddHeaderHttpServletRequestWrapper requestWrapper = new AddHeaderHttpServletRequestWrapper( request );
requestWrapper.addHeader( HEADER_NAME, HEADER_VALUE );
List<String> list = list( requestWrapper.getHeaders( HEADER_NAME ) );
assertThat( list, hasItem( HEADER_VALUE ) );
}
private HttpServletRequest mockRequest() {
return mock( HttpServletRequest.class );
}
}