mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-22 21:55:39 +00:00
bug6101: more tests for configurable CORSFilter
This commit is contained in:
@@ -5,6 +5,7 @@ import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
@@ -83,4 +84,30 @@ public class CORSFilterConfigurationTest {
|
||||
// expect that with no Origin header set the wildcard is still set
|
||||
verify(response).setHeader("Access-Control-Allow-Origin", "*");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCorrectOriginSetIfMultiplePossible() throws IOException, ServletException {
|
||||
final com.sap.sse.impl.Activator activator = new com.sap.sse.impl.Activator();
|
||||
final CORSFilterConfiguration corsConfig = activator.getCORSFilterConfiguration();
|
||||
corsConfig.setOrigins(Arrays.asList("https://www.example.com", "https://www.someotherexample.com"));
|
||||
final HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
final HttpServletResponse response = mock(HttpServletResponse.class);
|
||||
final FilterChain chain = mock(FilterChain.class);
|
||||
when(request.getHeader("Origin")).thenReturn("https://www.someotherexample.com");
|
||||
new CORSFilter().doFilter(request, response, chain);
|
||||
verify(response).setHeader("Access-Control-Allow-Origin", "https://www.someotherexample.com");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoneSetIfMultiplePossibleButNoneMatching() throws IOException, ServletException {
|
||||
final com.sap.sse.impl.Activator activator = new com.sap.sse.impl.Activator();
|
||||
final CORSFilterConfiguration corsConfig = activator.getCORSFilterConfiguration();
|
||||
corsConfig.setOrigins(Arrays.asList("https://www.example.com", "https://www.someotherexample.com"));
|
||||
final HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
final HttpServletResponse response = mock(HttpServletResponse.class);
|
||||
final FilterChain chain = mock(FilterChain.class);
|
||||
when(request.getHeader("Origin")).thenReturn("https://www.yetsomeotherexample.com");
|
||||
new CORSFilter().doFilter(request, response, chain);
|
||||
verify(response, VerificationModeFactory.atMost(0)).setHeader("Access-Control-Allow-Origin", "https://www.yetsomeotherexample.com");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user