package jnpf.elnService;
|
|
import jnpf.util.JsonUtil;
|
import org.junit.Test;
|
|
import java.util.LinkedHashMap;
|
import java.util.Map;
|
|
import static org.junit.Assert.assertEquals;
|
|
public class TemplateFillTicketServiceTest {
|
|
@Test
|
public void parsesStrictBoundContext() {
|
TemplateFillTicketService service = new TemplateFillTicketService(ticket -> JsonUtil.getObjectToString(validPayload()));
|
|
TemplateFillTicketService.FillTicketContext context = service.parse("ticket-1");
|
|
assertEquals("tenant-1", context.getTenantId());
|
assertEquals("user-1", context.getUserId());
|
assertEquals("file-1", context.getFileId());
|
assertEquals("record-1", context.getBizDataId());
|
}
|
|
@Test(expected = TemplateFillTicketService.InvalidFillTicketException.class)
|
public void rejectsWrongScope() {
|
Map<String, String> payload = validPayload();
|
payload.put("scope", "other");
|
new TemplateFillTicketService(ticket -> JsonUtil.getObjectToString(payload)).parse("ticket-1");
|
}
|
|
@Test(expected = TemplateFillTicketService.InvalidFillTicketException.class)
|
public void rejectsMissingBinding() {
|
Map<String, String> payload = validPayload();
|
payload.remove("tenantId");
|
new TemplateFillTicketService(ticket -> JsonUtil.getObjectToString(payload)).parse("ticket-1");
|
}
|
|
@Test(expected = TemplateFillTicketService.InvalidFillTicketException.class)
|
public void rejectsExpiredTicket() {
|
new TemplateFillTicketService(ticket -> null).parse("ticket-1");
|
}
|
|
@Test(expected = TemplateFillTicketService.InvalidFillTicketException.class)
|
public void rejectsLegacyMapPayload() {
|
new TemplateFillTicketService(ticket -> validPayload()).parse("ticket-1");
|
}
|
|
private Map<String, String> validPayload() {
|
Map<String, String> payload = new LinkedHashMap<>();
|
payload.put("scope", "onlyoffice:eln-template-fill");
|
payload.put("tenantId", "tenant-1");
|
payload.put("userId", "user-1");
|
payload.put("fileId", "file-1");
|
payload.put("bizDataId", "record-1");
|
payload.put("bizModule", "eln.template");
|
payload.put("bizScene", "eln.template.fill");
|
payload.put("pluginGuid", "asc.{7F4E8F35-5D66-47F8-A5B4-6AB3FAACF565}");
|
return payload;
|
}
|
}
|