package jnpf.bizcommon.onlyoffice.service.impl;
|
|
import jnpf.base.UserInfo;
|
import jnpf.bizcommon.onlyoffice.entity.OnlyOfficeConfigParam;
|
import jnpf.util.JsonUtil;
|
import org.junit.Test;
|
|
import java.util.Map;
|
|
import static org.junit.Assert.assertEquals;
|
|
public class OnlyOfficeFillTicketIssuerTest {
|
|
private static final String PLUGIN_GUID = "asc.{7F4E8F35-5D66-47F8-A5B4-6AB3FAACF565}";
|
|
@Test
|
public void buildsBoundFillTicketPayloadWithEightHourTtl() {
|
OnlyOfficeConfigParam param = new OnlyOfficeConfigParam();
|
param.setFileId("file-1");
|
param.setBizDataId("record-1");
|
param.setBizModule("eln.template");
|
param.setBizScene("eln.template.fill");
|
UserInfo user = new UserInfo();
|
user.setTenantId("tenant-1");
|
user.setUserId("user-1");
|
|
String serializedPayload = new OnlyOfficeFillTicketIssuer().buildPayload(param, user, PLUGIN_GUID);
|
Map<String, String> payload = JsonUtil.getJsonToBean(serializedPayload, Map.class);
|
|
assertEquals(8L * 60L * 60L, OnlyOfficeFillTicketIssuer.TTL_SECONDS);
|
assertEquals("onlyoffice:eln-template-fill", payload.get("scope"));
|
assertEquals("0", payload.get("tenantId"));
|
assertEquals("user-1", payload.get("userId"));
|
assertEquals("file-1", payload.get("fileId"));
|
assertEquals("record-1", payload.get("bizDataId"));
|
assertEquals("eln.template", payload.get("bizModule"));
|
assertEquals("eln.template.fill", payload.get("bizScene"));
|
assertEquals(PLUGIN_GUID, payload.get("pluginGuid"));
|
}
|
|
@Test(expected = IllegalArgumentException.class)
|
public void rejectsMissingUserBinding() {
|
OnlyOfficeConfigParam param = new OnlyOfficeConfigParam();
|
param.setFileId("file-1");
|
param.setBizDataId("record-1");
|
param.setBizModule("eln.template");
|
param.setBizScene("eln.template.fill");
|
UserInfo user = new UserInfo();
|
|
new OnlyOfficeFillTicketIssuer().buildPayload(param, user, PLUGIN_GUID);
|
}
|
}
|