From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-biz-common/jnpf-biz-common-onlyoffice/src/test/java/jnpf/bizcommon/onlyoffice/service/impl/OnlyOfficeFillTicketIssuerTest.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/jnpf-biz-common/jnpf-biz-common-onlyoffice/src/test/java/jnpf/bizcommon/onlyoffice/service/impl/OnlyOfficeFillTicketIssuerTest.java b/jnpf-biz-common/jnpf-biz-common-onlyoffice/src/test/java/jnpf/bizcommon/onlyoffice/service/impl/OnlyOfficeFillTicketIssuerTest.java
new file mode 100644
index 0000000..017ac05
--- /dev/null
+++ b/jnpf-biz-common/jnpf-biz-common-onlyoffice/src/test/java/jnpf/bizcommon/onlyoffice/service/impl/OnlyOfficeFillTicketIssuerTest.java
@@ -0,0 +1,52 @@
+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);
+    }
+}

--
Gitblit v1.8.0