package org.esmerilprogramming.overtown.http;
import io.undertow.server.HttpServerExchange;
import io.undertow.server.ServerConnection;
import io.undertow.util.HeaderMap;
import io.undertow.util.Headers;
import org.esmerilprogramming.overtown.view.ViewAttributes;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.junit.Assert.*;
@RunWith(MockitoJUnitRunner.class)
public class ResponseTest {
private HeaderMap headerMap;
private Response response;
@Mock ServerConnection connection;
HttpServerExchange exchange;
@Before
public void setUp(){
exchange = new HttpServerExchange( connection );
response = new JsonResponse(exchange , new ViewAttributes() );
headerMap = new HeaderMap();
headerMap.add(Headers.CONTENT_TYPE , "application/json; charset=UTF-8;" );
}
@Test
public void doesReplaceTheCurrentCharsetWIthTheNewCharset(){
exchange.getResponseHeaders().add( Headers.CONTENT_TYPE , "application/json; charset=ISO-9981-0" );
response.setCharset("UTF-8");
String headerValue = exchange.getResponseHeaders().get( Headers.CONTENT_TYPE , 0);
assertEquals("application/json; charset=UTF-8;", headerValue);
}
@Test
public void doesAddCharsetIfThereIsNoCharset(){
response.setCharset("UTF-8");
System.out.println( exchange.getResponseHeaders().get( Headers.CONTENT_TYPE ));
}
}