package org.apereo.cas.authentication.principal;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import static org.junit.Assert.*;
/**
* @author Misagh Moayyed
* @since 4.1
*/
public class SimplePrincipalTests {
private static final File JSON_FILE = new File(FileUtils.getTempDirectoryPath(), "simplePrincipal.json");
private static final ObjectMapper MAPPER = new ObjectMapper();
@Test
public void verifySerializeACompletePrincipalToJson() throws IOException {
final HashMap<String, Object> attributes = new HashMap<>();
attributes.put("attribute", "value");
final SimplePrincipal principalWritten = new SimplePrincipal("id", attributes);
MAPPER.writeValue(JSON_FILE, principalWritten);
final SimplePrincipal principalRead = MAPPER.readValue(JSON_FILE, SimplePrincipal.class);
assertEquals(principalWritten, principalRead);
}
@Test
public void verifySerializeAPrincipalWithEmptyAttributesToJson() throws IOException {
final SimplePrincipal principalWritten = new SimplePrincipal("id", Collections.emptyMap());
MAPPER.writeValue(JSON_FILE, principalWritten);
final SimplePrincipal principalRead = MAPPER.readValue(JSON_FILE, SimplePrincipal.class);
assertEquals(principalWritten, principalRead);
}
}