刘光辉
2 小时以前 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
package jnpf.bizcommon.onlyoffice.controller;
 
import jnpf.bizcommon.onlyoffice.entity.OnlyOfficeCallbackParam;
import jnpf.bizcommon.onlyoffice.exception.UploadEditCallbackException;
import jnpf.bizcommon.onlyoffice.service.OnlyOfficeService;
import jnpf.exception.DataException;
import org.junit.Test;
 
import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
 
public class OnlyOfficeControllerTest {
    @Test
    public void uploadSaveFailureIsReportedToDocumentServer() {
        OnlyOfficeService service = mock(OnlyOfficeService.class);
        doThrow(new UploadEditCallbackException(new DataException("附件保存失败")))
                .when(service).handleCallback(any(), isNull());
        assertEquals(1, new OnlyOfficeController(service).callback(new OnlyOfficeCallbackParam(), null).get("error"));
    }
 
    @Test
    public void originalBusinessFailureKeepsAcknowledgementContract() {
        OnlyOfficeService service = mock(OnlyOfficeService.class);
        OnlyOfficeController controller = new OnlyOfficeController(service);
        doThrow(new DataException("原场景业务异常")).when(service).handleCallback(any(), isNull());
        assertEquals(0, controller.callback(new OnlyOfficeCallbackParam(), null).get("error"));
        doThrow(new IllegalStateException("原场景系统异常")).when(service).handleCallback(any(), isNull());
        assertEquals(0, controller.callback(new OnlyOfficeCallbackParam(), null).get("error"));
    }
 
    @Test
    public void successfulCallbackIsAcknowledged() {
        OnlyOfficeService service = mock(OnlyOfficeService.class);
        assertEquals(0, new OnlyOfficeController(service).callback(new OnlyOfficeCallbackParam(), null).get("error"));
    }
}