1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.xml;
12
13 import org.mule.api.transformer.TransformerException;
14 import org.mule.module.xml.transformer.XStreamFactory;
15 import org.mule.module.xml.transformer.XmlToObject;
16 import org.mule.tck.AbstractMuleTestCase;
17
18 import com.thoughtworks.xstream.XStream;
19 import com.thoughtworks.xstream.io.xml.DomDriver;
20
21
22
23
24 public class XStreamTransformerConfigurationTestCase extends AbstractMuleTestCase
25 {
26 public static volatile boolean MyDriverDidInitialize;
27
28 protected static class MyDOMDriver extends DomDriver
29 {
30 public MyDOMDriver()
31 {
32 super();
33 XStreamTransformerConfigurationTestCase.MyDriverDidInitialize = true;
34 }
35 }
36
37
38 protected void doSetUp() throws Exception
39 {
40 super.doSetUp();
41 MyDriverDidInitialize = true;
42 }
43
44
45 protected void doTearDown() throws Exception
46 {
47 MyDriverDidInitialize = false;
48 super.doTearDown();
49 }
50
51 public void testDefaultDriver() throws Exception
52 {
53 XmlToObject transformer = new XmlToObject();
54
55 assertEquals(XStreamFactory.XSTREAM_XPP_DRIVER, transformer.getDriverClassName());
56 }
57
58 public void testCustomDriver() throws Exception
59 {
60 XmlToObject transformer = new XmlToObject();
61
62 transformer.setDriverClassName(MyDOMDriver.class.getName());
63 XStream xs = transformer.getXStream();
64
65 assertNotNull(xs);
66 assertSame(xs, transformer.getXStream());
67 assertTrue(MyDriverDidInitialize);
68 }
69
70 public void testBadDriver() throws Exception
71 {
72 XmlToObject transformer = new XmlToObject();
73
74 transformer.setDriverClassName("DudeWhereIsMyDriver");
75
76 try
77 {
78 assertNotNull(transformer.getXStream());
79 fail();
80 }
81 catch (TransformerException tex)
82 {
83
84 assertTrue(tex.getCause() instanceof ClassNotFoundException);
85 }
86 }
87
88 }