package br.gov.servicos.foundation.http; import org.junit.Before; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; public class BaseUrlTest { private BaseUrl baseUrl; private MockHttpServletRequest request; @Before public void setUp() throws Exception { request = new MockHttpServletRequest(); baseUrl = new BaseUrl(request); } @Test public void deveAdicionarUrlBaseAString() throws Exception { request.setScheme("http"); request.setServerName("servicos.gov.br"); request.setRequestURI("/servico/foo"); assertThat(baseUrl.and("/servico/bar"), is("http://servicos.gov.br/servico/bar")); } @Test public void deveNormalizarBarrasIniciais() throws Exception { request.setScheme("http"); request.setServerName("servicos.gov.br"); request.setRequestURI("/servico/foo"); assertThat(baseUrl.and("servico/bar"), is("http://servicos.gov.br/servico/bar")); assertThat(baseUrl.and(""), is("http://servicos.gov.br/")); assertThat(baseUrl.and("/"), is("http://servicos.gov.br/")); } @Test public void deveAdicionarUrlBaseAStringQuandoHttps() throws Exception { request.setScheme("https"); request.setServerName("servicos.gov.br"); request.setServerPort(443); request.setRequestURI("/servico/foo"); assertThat(baseUrl.and("/servico/bar"), is("https://servicos.gov.br/servico/bar")); } }