package jnpf.dmsController; import jnpf.dmsController.download.DmsFileDownloadController; import jnpf.dmsController.preview.DmsFilePageCountController; import jnpf.dmsController.preview.DmsFilePreviewController; import jnpf.dmsController.print.DmsFilePrintController; import jnpf.dmsController.search.DmsFullTextSearchController; import jnpf.dmsEntity.download.form.DmsFileDownloadTicketRequest; import jnpf.dmsEntity.download.vo.DmsFileDownloadTicketVO; import jnpf.dmsEntity.preview.form.DmsFilePreviewTicketRequest; import jnpf.dmsEntity.preview.vo.DmsFilePageCountVO; import jnpf.dmsEntity.preview.vo.DmsFilePreviewTicketVO; import jnpf.dmsEntity.print.form.DmsFilePrintTicketRequest; import jnpf.dmsEntity.print.vo.DmsFilePrintTicketVO; import jnpf.dmsEntity.search.form.DmsFullTextSearchForm; import jnpf.dmsEntity.search.vo.DmsFullTextSearchPageVO; import jnpf.dmsService.DmsFilePageCountService; import jnpf.dmsService.DmsFileDownloadService; import jnpf.dmsService.DmsFilePreviewService; import jnpf.dmsService.DmsFilePrintService; import jnpf.dmsService.search.DmsFullTextSearchService; import org.junit.jupiter.api.Test; import java.io.IOException; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; class DmsFileAccessControllerTest extends DmsControllerTestSupport { @Test void delegatesFullTextSearchToPermissionFilteringService() throws IOException { DmsFullTextSearchService service = mock(DmsFullTextSearchService.class); DmsFullTextSearchController controller = new DmsFullTextSearchController(service); DmsFullTextSearchForm form = mock(DmsFullTextSearchForm.class); DmsFullTextSearchPageVO page = mock(DmsFullTextSearchPageVO.class); when(service.search(form)).thenReturn(page); assertSame(page, controller.search(form).getData()); verify(service).search(form); } @Test void delegatesPreviewRequestToReadProtectedTicketService() { DmsFilePreviewService service = mock(DmsFilePreviewService.class); DmsFilePreviewController controller = new DmsFilePreviewController(service); DmsFilePreviewTicketRequest request = mock(DmsFilePreviewTicketRequest.class); DmsFilePreviewTicketVO ticket = mock(DmsFilePreviewTicketVO.class); when(service.createTicket(request)).thenReturn(ticket); assertSame(ticket, controller.createTicket(request).getData()); verify(service).createTicket(request); } @Test void delegatesDownloadRequestToControlledDownloadService() { DmsFileDownloadService service = mock(DmsFileDownloadService.class); DmsFileDownloadController controller = new DmsFileDownloadController(service); DmsFileDownloadTicketRequest request = mock(DmsFileDownloadTicketRequest.class); DmsFileDownloadTicketVO ticket = mock(DmsFileDownloadTicketVO.class); when(service.createTicket(request)).thenReturn(ticket); assertSame(ticket, controller.createTicket(request).getData()); verify(service).createTicket(request); } @Test void delegatesPrintRequestToPrintProtectedTicketService() { DmsFilePrintService service = mock(DmsFilePrintService.class); DmsFilePrintController controller = new DmsFilePrintController(service); DmsFilePrintTicketRequest request = mock(DmsFilePrintTicketRequest.class); DmsFilePrintTicketVO ticket = mock(DmsFilePrintTicketVO.class); when(service.createTicket(request)).thenReturn(ticket); assertSame(ticket, controller.createTicket(request).getData()); verify(service).createTicket(request); } @Test void delegatesFileVersionPageCountRequest() throws IOException { DmsFilePageCountService service = mock(DmsFilePageCountService.class); DmsFilePageCountController controller = new DmsFilePageCountController(service); UUID fileVersionId = UUID.randomUUID(); DmsFilePageCountVO pageCount = new DmsFilePageCountVO(); when(service.getPageCount(fileVersionId)).thenReturn(pageCount); assertSame(pageCount, controller.getPageCount(fileVersionId).getData()); verify(service).getPageCount(fileVersionId); } }