2018-07-10 15:31:18 +02:00
|
|
|
package sonia.scm.web;
|
|
|
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
import sonia.scm.repository.HgRepositoryHandler;
|
2018-11-23 10:13:47 +01:00
|
|
|
import sonia.scm.repository.RepositoryDAO;
|
2018-07-10 15:31:18 +02:00
|
|
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
|
|
|
|
import static org.mockito.Matchers.anyInt;
|
|
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
|
|
import static org.mockito.Mockito.never;
|
|
|
|
|
import static org.mockito.Mockito.verify;
|
|
|
|
|
import static org.mockito.Mockito.when;
|
|
|
|
|
import static sonia.scm.web.HgHookCallbackServlet.PARAM_REPOSITORYPATH;
|
|
|
|
|
|
|
|
|
|
public class HgHookCallbackServletTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void shouldExtractCorrectRepositoryId() throws ServletException, IOException {
|
|
|
|
|
HgRepositoryHandler handler = mock(HgRepositoryHandler.class);
|
2018-11-23 10:13:47 +01:00
|
|
|
RepositoryDAO repositoryDAO = mock(RepositoryDAO.class);
|
|
|
|
|
when(repositoryDAO.getIdForDirectory(new File("/tmp/hg/12345"))).thenReturn("12345");
|
|
|
|
|
HgHookCallbackServlet servlet = new HgHookCallbackServlet(null, handler, null, null, repositoryDAO);
|
2018-07-10 15:31:18 +02:00
|
|
|
HttpServletRequest request = mock(HttpServletRequest.class);
|
|
|
|
|
HttpServletResponse response = mock(HttpServletResponse.class);
|
|
|
|
|
|
|
|
|
|
when(request.getContextPath()).thenReturn("http://example.com/scm");
|
|
|
|
|
when(request.getRequestURI()).thenReturn("http://example.com/scm/hook/hg/pretxnchangegroup");
|
2018-11-15 10:04:16 +01:00
|
|
|
String path = "/tmp/hg/12345";
|
|
|
|
|
when(request.getParameter(PARAM_REPOSITORYPATH)).thenReturn(path);
|
2018-07-10 15:31:18 +02:00
|
|
|
|
|
|
|
|
servlet.doPost(request, response);
|
|
|
|
|
|
|
|
|
|
verify(response, never()).sendError(anyInt());
|
|
|
|
|
}
|
|
|
|
|
}
|