1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.layout;
20
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertNotNull;
23
24 import com.fasterxml.jackson.core.JsonProcessingException;
25 import com.fasterxml.jackson.databind.json.JsonMapper;
26 import java.util.Arrays;
27 import org.apache.commons.lang3.StringUtils;
28 import org.apache.syncope.common.lib.types.AnyTypeKind;
29 import org.junit.jupiter.api.Test;
30
31 public class AnyLayoutTest {
32
33 private static final JsonMapper MAPPER = JsonMapper.builder().findAndAddModules().build();
34
35 @Test
36 public void issueSYNCOPE1554() throws JsonProcessingException {
37 AnyLayout defaultObj = new AnyLayout();
38 defaultObj.setUser(new UserFormLayoutInfo());
39 defaultObj.setGroup(new GroupFormLayoutInfo());
40 defaultObj.getAnyObjects().put("PRINTER", new AnyObjectFormLayoutInfo());
41 String defaultObjJSON = MAPPER.writerWithDefaultPrettyPrinter().writeValueAsString(defaultObj);
42
43 String defaultIfEmpty = AnyLayoutUtils.defaultIfEmpty(
44 StringUtils.EMPTY, Arrays.asList(AnyTypeKind.USER.name(), AnyTypeKind.GROUP.name(), "PRINTER"));
45 assertEquals(defaultObjJSON, defaultIfEmpty);
46
47 AnyLayout deserialized = MAPPER.readValue(defaultIfEmpty, AnyLayout.class);
48 assertNotNull(deserialized);
49 }
50 }