package jnpf.controller;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
import jnpf.fileStorage.dms.DmsFileDownloadStorageService;
|
import org.junit.Test;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import java.lang.reflect.Method;
|
import java.util.UUID;
|
|
import static org.junit.Assert.assertArrayEquals;
|
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.verify;
|
|
public class DmsFileDownloadControllerTest {
|
@Test
|
public void exposesTicketBoundAttachmentDownloadRoute() throws Exception {
|
DmsFileDownloadStorageService service = mock(DmsFileDownloadStorageService.class);
|
DmsFileDownloadController controller = new DmsFileDownloadController(service);
|
UUID fileVersionId = UUID.randomUUID();
|
HttpServletResponse response = mock(HttpServletResponse.class);
|
|
controller.stream(fileVersionId, "download-ticket", null, response);
|
controller.stream(fileVersionId, "download-ticket", "pdf", response);
|
|
verify(service).stream(fileVersionId, "download-ticket", null, response);
|
verify(service).stream(fileVersionId, "download-ticket", "pdf", response);
|
assertArrayEquals(new String[]{"/Dms/Download"},
|
DmsFileDownloadController.class.getAnnotation(RequestMapping.class).value());
|
Method stream = DmsFileDownloadController.class.getDeclaredMethod(
|
"stream", UUID.class, String.class, String.class, HttpServletResponse.class);
|
assertArrayEquals(new String[]{"/{fileVersionId}"},
|
stream.getAnnotation(GetMapping.class).value());
|
org.springframework.web.bind.annotation.RequestParam format = stream.getParameters()[2]
|
.getAnnotation(org.springframework.web.bind.annotation.RequestParam.class);
|
org.junit.Assert.assertEquals("format", format.value());
|
org.junit.Assert.assertFalse(format.required());
|
}
|
}
|