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