package de.is24.infrastructure.gridfs.http.web;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import static org.junit.Assert.assertEquals;
public class TrailingSlashRedirectHandlerInterceptorTest {
@Test
public void shouldNotRedirect() throws Exception {
final TrailingSlashRedirectHandlerInterceptor handlerInterceptor = new TrailingSlashRedirectHandlerInterceptor();
final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
final boolean preHandle = handlerInterceptor.preHandle(mockHttpServletRequest, mockHttpServletResponse, null);
assertEquals(true, preHandle);
}
@Test
public void shouldRedirectToSlashForRepoRequest() throws Exception {
final TrailingSlashRedirectHandlerInterceptor handlerInterceptor = new TrailingSlashRedirectHandlerInterceptor();
final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
mockHttpServletRequest.setRequestURI("/repo/myrepo");
mockHttpServletRequest.setMethod("GET");
final boolean preHandle = handlerInterceptor.preHandle(mockHttpServletRequest, mockHttpServletResponse, null);
assertEquals(false, preHandle);
}
@Test
public void shouldRedirectToSlashForVirtualRequest() throws Exception {
final TrailingSlashRedirectHandlerInterceptor handlerInterceptor = new TrailingSlashRedirectHandlerInterceptor();
final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
mockHttpServletRequest.setRequestURI("/repo/virtual/myrepo");
mockHttpServletRequest.setMethod("GET");
final boolean preHandle = handlerInterceptor.preHandle(mockHttpServletRequest, mockHttpServletResponse, null);
assertEquals(false, preHandle);
}
@Test
public void shouldNotRedirectHtmlRequest() throws Exception {
final TrailingSlashRedirectHandlerInterceptor handlerInterceptor = new TrailingSlashRedirectHandlerInterceptor();
final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
mockHttpServletRequest.setRequestURI("/repo/info.html");
mockHttpServletRequest.setMethod("GET");
final boolean preHandle = handlerInterceptor.preHandle(mockHttpServletRequest, mockHttpServletResponse, null);
assertEquals(true, preHandle);
}
@Test
public void shouldNotRedirectJsonRequest() throws Exception {
final TrailingSlashRedirectHandlerInterceptor handlerInterceptor = new TrailingSlashRedirectHandlerInterceptor();
final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
mockHttpServletRequest.setRequestURI("/repo/info.json");
mockHttpServletRequest.setMethod("GET");
final boolean preHandle = handlerInterceptor.preHandle(mockHttpServletRequest, mockHttpServletResponse, null);
assertEquals(true, preHandle);
}
}