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.FunctionalTestCase;
19
20 public class JsonNamespaceHandlerTestCase extends FunctionalTestCase
21 {
22 @Override
23 protected String getConfigResources()
24 {
25 return "json-namespace-config.xml";
26 }
27
28 public void testJsonConfig() throws Exception
29 {
30
31 String javaVersion = System.getProperty("java.specification.version", "<None>");
32 String osName = System.getProperty("os.name", "<None>");
33 if (javaVersion.equals("1.6") && osName.startsWith("Windows"))
34 {
35 return;
36 }
37
38 IsJsonFilter filter = (IsJsonFilter) muleContext.getRegistry().lookupObject("jsonFilter");
39 assertNotNull(filter);
40 assertTrue(filter.isValidateParsing());
41
42 ObjectToJson serializer = (ObjectToJson) muleContext.getRegistry().lookupObject("fruitCollectionToJson");
43 assertNotNull(serializer);
44 assertEquals(String.class, serializer.getReturnClass());
45 assertEquals(FruitCollection.class, serializer.getSourceClass());
46 assertEquals(3, serializer.getSerializationMixins().size());
47
48 JsonToObject deserializer = (JsonToObject) muleContext.getRegistry().lookupObject("jsonToFruitCollection");
49 assertNotNull(deserializer);
50 assertEquals(FruitCollection.class, deserializer.getReturnClass());
51 assertEquals(1, deserializer.getDeserializationMixins().size());
52
53
54 FruitCollection fc = JsonBeanRoundTripTestCase.JSON_OBJECT;
55
56 String result = (String)serializer.transform(fc);
57 assertNotNull(result);
58 assertEquals(JsonBeanRoundTripTestCase.JSON_STRING, result);
59
60 FruitCollection result2 = (FruitCollection)deserializer.transform(result);
61 assertNotNull(result2);
62 assertEquals(fc, result2);
63 }
64 }