刘光辉
117 分钟以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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);
    }
}