/** * */ package org.minnal.api.filter; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.core.MultivaluedMap; import org.testng.annotations.Test; /** * @author ganeshs * */ public class CorsFilterTest { @Test public void shouldAddCorsHeaders() { CorsFilter filter = new CorsFilter(); ContainerRequestContext reqContext = mock(ContainerRequestContext.class); ContainerResponseContext resContext = mock(ContainerResponseContext.class); MultivaluedMap<String, Object> headers = mock(MultivaluedMap.class); when(resContext.getHeaders()).thenReturn(headers); filter.filter(reqContext, resContext); verify(headers).add("Access-Control-Allow-Origin", "*"); verify(headers).add("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); } @Test public void shouldCopyAccessControleHeadersToResponse() { CorsFilter filter = new CorsFilter(); ContainerRequestContext reqContext = mock(ContainerRequestContext.class); when(reqContext.getHeaderString("Access-Control-Request-Headers")).thenReturn("*"); ContainerResponseContext resContext = mock(ContainerResponseContext.class); MultivaluedMap<String, Object> resHeaders = mock(MultivaluedMap.class); when(resContext.getHeaders()).thenReturn(resHeaders); filter.filter(reqContext, resContext); verify(resHeaders).add("Access-Control-Allow-Headers", "*"); } }