1 package org
.argeo
.security
.json
;
3 import java
.io
.InputStream
;
4 import java
.io
.InputStreamReader
;
7 import junit
.framework
.TestCase
;
9 import org
.apache
.commons
.io
.IOUtils
;
10 import org
.argeo
.security
.ArgeoUser
;
11 import org
.argeo
.security
.BasicArgeoUser
;
12 import org
.argeo
.security
.UserNature
;
13 import org
.argeo
.server
.json
.GenericJsonDeserializer
;
14 import org
.argeo
.server
.json
.JsonObjectFactoryImpl
;
15 import org
.argeo
.server
.json
.JsonServerMapper
;
17 public class JsonServerMapperTest
extends TestCase
{
18 public void testDeserialize() throws Exception
{
19 JsonServerMapper mapper
= createJsonServerMapper();
23 InputStream in
= getClass().getResource(
24 "/org/argeo/security/json/gandalf2.json").openStream();
25 reader
= new InputStreamReader(in
);
27 ArgeoUser user
= (ArgeoUser
) mapper
.deserialize(reader
);
28 assertEquals("gandalf2", user
.getUsername());
29 assertEquals(2, user
.getRoles().size());
30 assertEquals(2, user
.getUserNatures().size());
32 IOUtils
.closeQuietly(reader
);
36 @SuppressWarnings("unchecked")
37 public static JsonServerMapper
createJsonServerMapper() throws Exception
{
38 JsonServerMapper mapper
= new JsonServerMapper();
39 mapper
.setTargetClass(BasicArgeoUser
.class);
40 GenericJsonDeserializer jsonDeserializer
= new GenericJsonDeserializer();
41 jsonDeserializer
.getObjectFactories().add(new JsonObjectFactoryImpl());
42 mapper
.getDeserializers().put(UserNature
.class, jsonDeserializer
);
43 mapper
.afterPropertiesSet();