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 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); } }