1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.json;
12
13 import org.mule.module.json.filters.IsJsonFilter;
14 import org.mule.module.json.transformers.FruitCollection;
15 import org.mule.module.json.transformers.JsonBeanRoundTripTestCase;
16 import org.mule.module.json.transformers.JsonToObject;
17 import org.mule.module.json.transformers.ObjectToJson;
18 import org.mule.tck.junit4.FunctionalTestCase;
19
20 import org.junit.Test;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertTrue;
25
26 public class JsonNamespaceHandlerTestCase extends FunctionalTestCase
27 {
28
29 @Override
30 protected String getConfigResources()
31 {
32 return "json-namespace-config.xml";
33 }
34
35 @Test
36 public void testJsonConfig() throws Exception
37 {
38
39 String javaVersion = System.getProperty("java.specification.version", "<None>");
40 String osName = System.getProperty("os.name", "<None>");
41 if (javaVersion.equals("1.6") && osName.startsWith("Windows"))
42 {
43 return;
44 }
45
46 IsJsonFilter filter = (IsJsonFilter) muleContext.getRegistry().lookupObject("jsonFilter");
47 assertNotNull(filter);
48 assertTrue(filter.isValidateParsing());
49
50 ObjectToJson serializer = (ObjectToJson) muleContext.getRegistry().lookupObject("fruitCollectionToJson");
51 serializer.initialise();
52 assertNotNull(serializer);
53 assertEquals(String.class, serializer.getReturnClass());
54 assertEquals(FruitCollection.class, serializer.getSourceClass());
55 assertEquals(3, serializer.getSerializationMixins().size());
56
57 JsonToObject deserializer = (JsonToObject) muleContext.getRegistry().lookupObject("jsonToFruitCollection");
58 assertNotNull(deserializer);
59 assertEquals(FruitCollection.class, deserializer.getReturnClass());
60 assertEquals(1, deserializer.getDeserializationMixins().size());
61
62
63 FruitCollection fc = JsonBeanRoundTripTestCase.JSON_OBJECT;
64
65 String result = (String)serializer.transform(fc);
66 assertNotNull(result);
67 assertEquals(JsonBeanRoundTripTestCase.JSON_STRING, result);
68
69 FruitCollection result2 = (FruitCollection)deserializer.transform(result);
70 assertNotNull(result2);
71 assertEquals(fc, result2);
72 }
73
74 }