KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > bindings > xml > XMLMessageTest


1 package org.objectweb.celtix.bus.bindings.xml;
2
3 import java.io.*;
4 import javax.xml.namespace.QName JavaDoc;
5 import org.w3c.dom.*;
6 import junit.framework.TestCase;
7
8 import org.objectweb.celtix.helpers.XMLUtils;
9
10 public class XMLMessageTest extends TestCase {
11
12     protected XMLMessageFactory msgFactory = XMLMessageFactory.newInstance();
13     private XMLUtils xmlUtils = new XMLUtils();
14
15     protected void setUp() throws Exception JavaDoc {
16     }
17
18     public void testXMLMessageFactory() {
19         assertNotNull(msgFactory);
20     }
21
22     public void testDefaultXMLMessage() throws Exception JavaDoc {
23         XMLMessage message = msgFactory.createMessage();
24         assertNotNull(message);
25         assertNotNull(message.getRoot());
26         String JavaDoc expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
27         ByteArrayOutputStream out = new ByteArrayOutputStream();
28         message.writeTo(out);
29         assertTrue(expected.equalsIgnoreCase(out.toString()));
30     }
31
32     public void testStreamXMLMessage() {
33         InputStream is = getClass().getResourceAsStream("resources/SayHiWrappedResp.xml");
34         XMLMessage message = msgFactory.createMessage(is);
35         assertNotNull(message);
36         assertNotNull(message.getRoot());
37     }
38
39     public void testXMLFaultMessage() throws Exception JavaDoc {
40         XMLMessage message = msgFactory.createMessage();
41         XMLFault fault = message.addFault();
42         assertNotNull(fault);
43         fault.addFaultString("exception raised");
44         assertEquals("exception raised", fault.getFaultString());
45         ByteArrayOutputStream out = new ByteArrayOutputStream();
46         message.writeTo(out);
47         String JavaDoc expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
48         expected += "<XMLFault xmlns=\"http://celtix.objectweb.org/bindings/xmlformat\">";
49         expected += "<faultstring>exception raised</faultstring></XMLFault>";
50         assertTrue(expected.equalsIgnoreCase(out.toString()));
51     }
52
53     public void testXMLFaultDetail() throws Exception JavaDoc {
54         XMLMessage message = msgFactory.createMessage();
55         XMLFault fault = message.addFault();
56         assertNotNull(fault);
57
58         fault.addFaultDetail();
59         String JavaDoc namespace = "http://objectweb.org/hello_world_soap_http/types";
60         Node detailNode = xmlUtils.createElementNS(fault.getFaultRoot(), new QName JavaDoc(namespace, "faultDetail"));
61         Node minor = xmlUtils.createElementNS(detailNode, new QName JavaDoc(namespace, "minor"));
62         Node major = xmlUtils.createElementNS(detailNode, new QName JavaDoc(namespace, "major"));
63         
64         Text minorValue = xmlUtils.createTextNode(minor, "1");
65         Text majorValue = xmlUtils.createTextNode(major, "2");
66         minor.appendChild(minorValue);
67         major.appendChild(majorValue);
68         detailNode.appendChild(minor);
69         detailNode.appendChild(major);
70
71         fault.appendFaultDetail(detailNode);
72
73         ByteArrayOutputStream out = new ByteArrayOutputStream();
74         message.writeTo(out);
75
76         InputStream is = getClass().getResourceAsStream("resources/xmlfaultdetail.xml");
77         Document expectDOM = xmlUtils.parse(is);
78
79         assertEquals(xmlUtils.toString(expectDOM), message.toString());
80     }
81
82     public void testCreateFaultXMLMessage() throws Exception JavaDoc {
83         InputStream is = getClass().getResourceAsStream("resources/xmlfault.xml");
84         XMLMessage message = msgFactory.createMessage(is);
85         assertNotNull(message);
86
87         XMLFault xmlFault = message.getFault();
88         assertNotNull(xmlFault);
89         
90         assertEquals("org.objectweb.hello_world_xml_http.wrapped.PingMeFault: PingMeFault raised by server",
91                      xmlFault.getFaultString());
92         assertNotNull(xmlFault.getFaultDetail());
93     }
94 }
95
Popular Tags