1 package org.xmlBlaster.test.classtest;
2
3 import org.xmlBlaster.util.Global;
4 import org.xmlBlaster.util.XmlBlasterException;
5 import org.xmlBlaster.util.def.ErrorCode;
6
7 import junit.framework.*;
8
9 /**
10 * Test XmlBlasterException.
11 * <p />
12 * All methods starting with 'test' and without arguments are invoked automatically
13 * <p />
14 * TODO: http://xmlunit.sourceforge.net/
15 * <p />
16 * Invoke: java -Djava.compiler= junit.textui.TestRunner -noloading org.xmlBlaster.test.classtest.XmlBlasterExceptionTest
17 * @see org.xmlBlaster.util.XmlBlasterException
18 * @see <a href="http://www.xmlBlaster.org/xmlBlaster/doc/requirements/interface.subscribe.html" target="others">the interface.subscribe requirement</a>
19 */
20 public class XmlBlasterExceptionTest extends TestCase {
21 protected Global glob;
22 int counter = 0;
23
24 public XmlBlasterExceptionTest(String name) {
25 super(name);
26 }
27
28 protected void setUp() {
29 this.glob = Global.instance();
30 }
31
32 public void testConstructor() {
33 System.out.println("***XmlBlasterExceptionTest: testConstructor ...");
34
35 XmlBlasterException ex = new XmlBlasterException(glob, ErrorCode.RESOURCE_OVERFLOW_QUEUE_BYTES, "LOC", "Bla bla");
36
37 assertEquals("", ErrorCode.RESOURCE_OVERFLOW_QUEUE_BYTES, ex.getErrorCode());
38 assertEquals("", ErrorCode.RESOURCE_OVERFLOW_QUEUE_BYTES.getErrorCode(), ex.getErrorCodeStr());
39 assertEquals("", glob.getId(), ex.getNode());
40 assertEquals("", "LOC", ex.getLocation());
41 assertEquals("", "en", ex.getLang());
42 assertTrue("Bla bla" + " <-> " + ex.getRawMessage(), ex.getRawMessage().indexOf("Bla bla") != -1);
43 //assertEquals("", ex.getMessage(), ex.getMessage());
44 //assertEquals("", ex.getVersionInfo(), ex.getVersionInfo());
45 //assertEquals("", ?, ex.getTimestamp().getTimestamp());
46 assertEquals("", null, ex.getEmbeddedException());
47 assertEquals("", "", ex.getEmbeddedMessage());
48 assertEquals("", "<transaction/>", ex.getTransactionInfo());
49 assertEquals("", false, ex.isInternal());
50 assertEquals("", true, ex.isResource());
51 assertEquals("", false, ex.isCommunication());
52 assertEquals("", false, ex.isUser());
53 assertEquals("", false, ex.isTransaction());
54
55 System.out.println("***XmlBlasterExceptionTest: testConstructor [SUCCESS]");
56 }
57
58 public void testParse() {
59 System.out.println("***XmlBlasterExceptionTest: testParse ...");
60
61 XmlBlasterException ex = new XmlBlasterException(glob, ErrorCode.RESOURCE_OVERFLOW_QUEUE_BYTES, "LOC", "Bla bla");
62 byte[] serial = ex.toByteArr();
63 XmlBlasterException back = XmlBlasterException.parseByteArr(glob, serial);
64
65 assertEquals("", ex.getErrorCode().toString(), back.getErrorCode().toString());
66 assertEquals("", ex.getErrorCodeStr(), back.getErrorCodeStr());
67 assertEquals("", ex.getNode(), back.getNode());
68 assertEquals("", ex.getLocation(), back.getLocation());
69 assertEquals("", ex.getLang(), back.getLang());
70 assertEquals(ex.getRawMessage() + " <-> " + back.getRawMessage(), ex.getRawMessage(), back.getRawMessage());
71 assertEquals(ex.getMessage() + " <-> " + back.getMessage(), ex.getMessage(), back.getMessage());
72 assertEquals("", ex.getVersionInfo(), back.getVersionInfo());
73 assertEquals("", ex.getTimestamp().getTimestamp(), back.getTimestamp().getTimestamp());
74 assertEquals("", ex.getEmbeddedException(), back.getEmbeddedException());
75 assertEquals("", ex.getStackTraceStr(), back.getStackTraceStr());
76 assertEquals("", ex.getEmbeddedMessage(), back.getEmbeddedMessage());
77 assertEquals("", ex.getTransactionInfo(), back.getTransactionInfo());
78 assertEquals("", ex.isInternal(), back.isInternal());
79 assertEquals("", ex.isResource(), back.isResource());
80 assertEquals("", ex.isCommunication(), back.isCommunication());
81 assertEquals("", ex.isUser(), back.isUser());
82 assertEquals("", ex.isTransaction(), back.isTransaction());
83 assertEquals("", ex.toString(), back.toString());
84
85 System.out.println("***XmlBlasterExceptionTest: testParse [SUCCESS]");
86 }
87
88 public void testParseToString() {
89 System.out.println("***XmlBlasterExceptionTest: testParseToString ...");
90
91 XmlBlasterException ex = new XmlBlasterException(glob, ErrorCode.RESOURCE_OVERFLOW_QUEUE_BYTES, "LOC", "Bla bla");
92 String serial = ex.toString();
93 XmlBlasterException back = XmlBlasterException.parseToString(glob, serial, ErrorCode.INTERNAL_UNKNOWN);
94
95 System.out.println("ORIGINAL:\n" + ex.toXml());
96 System.out.println("BACK:\n" + back.toXml());
97
98 assertEquals("", ex.getErrorCode().toString(), back.getErrorCode().toString());
99 assertEquals("", ex.getErrorCodeStr(), back.getErrorCodeStr());
100 //assertEquals("", ex.getNode(), back.getNode());
101 //assertEquals("", ex.getLocation(), back.getLocation());
102 //assertEquals("", ex.getLang(), back.getLang());
103 //assertEquals("", ex.getRawMessage(), back.getRawMessage());
104 //assertEquals("", ex.getMessage(), back.getMessage());
105 //assertEquals("", ex.getVersionInfo(), back.getVersionInfo());
106 //assertEquals("", ex.getTimestamp().getTimestamp(), back.getTimestamp().getTimestamp());
107 //assertEquals("", ex.getEmbeddedException(), back.getEmbeddedException());
108 //assertEquals("", ex.getStackTraceStr(), back.getStackTraceStr());
109 //assertEquals("", ex.getEmbeddedMessage(), back.getEmbeddedMessage());
110 //assertEquals("", ex.getTransactionInfo(), back.getTransactionInfo());
111 assertEquals("", ex.isInternal(), back.isInternal());
112 assertEquals("", ex.isResource(), back.isResource());
113 assertEquals("", ex.isCommunication(), back.isCommunication());
114 assertEquals("", ex.isUser(), back.isUser());
115 assertEquals("", ex.isTransaction(), back.isTransaction());
116 assertEquals("", ex.toString(), back.toString());
117
118 System.out.println("***XmlBlasterExceptionTest: testParseToString [SUCCESS]");
119 }
120
121 public void testEmbeddedException() {
122 System.out.println("***XmlBlasterExceptionTest: testEmbeddedException ...");
123
124 IllegalArgumentException il = new IllegalArgumentException("SUPER");
125 XmlBlasterException ex = new XmlBlasterException(glob, ErrorCode.INTERNAL_UNKNOWN, "HERE", "OK", il);
126 byte[] serial = ex.toByteArr();
127 XmlBlasterException back = XmlBlasterException.parseByteArr(glob, serial);
128
129 System.out.println(back.getStackTraceStr());
130 System.out.println(back.toXml());
131
132 assertEquals("", "HERE", back.getLocation());
133 assertEquals("", "java.lang.IllegalArgumentException: SUPER", back.getEmbeddedMessage());
134 assertEquals("", true, back.isInternal());
135 assertEquals("", false, back.isResource());
136 assertEquals("", false, back.isCommunication());
137 assertEquals("", false, back.isUser());
138 assertEquals("", false, back.isTransaction());
139
140 assertEquals("", ex.getErrorCode().toString(), back.getErrorCode().toString());
141 assertEquals("", ex.getErrorCodeStr(), back.getErrorCodeStr());
142 assertEquals("", ex.getNode(), back.getNode());
143 assertEquals("", ex.getLocation(), back.getLocation());
144 assertEquals("", ex.getLang(), back.getLang());
145 assertEquals("", ex.getRawMessage(), back.getRawMessage());
146 assertEquals("", ex.getMessage(), back.getMessage());
147 assertEquals("", ex.getVersionInfo(), back.getVersionInfo());
148 assertEquals("", ex.getTimestamp().getTimestamp(), back.getTimestamp().getTimestamp());
149 assertEquals("", il, ex.getEmbeddedException());
150 assertEquals("", null, back.getEmbeddedException());
151 assertEquals("", ex.getStackTraceStr(), back.getStackTraceStr());
152 assertEquals("", ex.getEmbeddedMessage(), back.getEmbeddedMessage());
153 assertEquals("", ex.getTransactionInfo(), back.getTransactionInfo());
154 assertEquals("", ex.isInternal(), back.isInternal());
155 assertEquals("", ex.isResource(), back.isResource());
156 assertEquals("", ex.isCommunication(), back.isCommunication());
157 assertEquals("", ex.isUser(), back.isUser());
158 assertEquals("", ex.isTransaction(), back.isTransaction());
159 assertEquals("", ex.toString(), back.toString());
160
161 System.out.println("***XmlBlasterExceptionTest: testEmbeddedException [SUCCESS]");
162 }
163
164 public void testIllegalFormat() {
165 System.out.println("***XmlBlasterExceptionTest: testIllegalFormat ...");
166
167 String logFormat = "errorCode=[{0}] node=[{-100}] location=[{2}] message=[{4} : {99}]";
168 Global globTmp = glob.getClone(null);
169
170 try {
171 globTmp.getProperty().set("XmlBlasterException.logFormat", logFormat);
172 globTmp.getProperty().set("XmlBlasterException.logFormat.internal", logFormat);
173 }
174 catch (XmlBlasterException e) {
175 fail(e.toString());
176 }
177
178 IllegalArgumentException il = new IllegalArgumentException("SUPER");
179 XmlBlasterException ex = new XmlBlasterException(globTmp, ErrorCode.INTERNAL_UNKNOWN, "HERE", "OK", il);
180 ex.setLogFormatInternal(logFormat);
181 byte[] serial = ex.toByteArr();
182 XmlBlasterException back = XmlBlasterException.parseByteArr(globTmp, serial);
183
184 System.out.println(back.getStackTraceStr());
185 System.out.println(back.toXml());
186
187 assertEquals("", "HERE", back.getLocation());
188 assertEquals("", "java.lang.IllegalArgumentException: SUPER", back.getEmbeddedMessage());
189 assertEquals("", true, back.isInternal());
190 assertEquals("", false, back.isResource());
191 assertEquals("", false, back.isCommunication());
192 assertEquals("", false, back.isUser());
193 assertEquals("", false, back.isTransaction());
194
195 assertEquals("", ex.getErrorCode().toString(), back.getErrorCode().toString());
196 assertEquals("", ex.getErrorCodeStr(), back.getErrorCodeStr());
197 assertEquals("", ex.getNode(), back.getNode());
198 assertEquals("", ex.getLocation(), back.getLocation());
199 assertEquals("", ex.getLang(), back.getLang());
200 assertEquals("", ex.getRawMessage(), back.getRawMessage());
201 assertEquals("", ex.getMessage(), back.getMessage());
202 assertEquals("", ex.getVersionInfo(), back.getVersionInfo());
203 assertEquals("", ex.getTimestamp().getTimestamp(), back.getTimestamp().getTimestamp());
204 assertEquals("", il, ex.getEmbeddedException());
205 assertEquals("", null, back.getEmbeddedException());
206 assertEquals("", ex.getStackTraceStr(), back.getStackTraceStr());
207 assertEquals("", ex.getEmbeddedMessage(), back.getEmbeddedMessage());
208 assertEquals("", ex.getTransactionInfo(), back.getTransactionInfo());
209 assertEquals("", ex.isInternal(), back.isInternal());
210 assertEquals("", ex.isResource(), back.isResource());
211 assertEquals("", ex.isCommunication(), back.isCommunication());
212 assertEquals("", ex.isUser(), back.isUser());
213 assertEquals("", ex.isTransaction(), back.isTransaction());
214 assertEquals("", ex.toString(), back.toString());
215
216 System.out.println("***XmlBlasterExceptionTest: testIllegalFormat [SUCCESS]");
217 }
218
219 /**
220 * <pre>
221 * java org.xmlBlaster.test.classtest.XmlBlasterExceptionTest
222 * </pre>
223 */
224 public static void main(String args[]) {
225 XmlBlasterExceptionTest testSub = new XmlBlasterExceptionTest("XmlBlasterExceptionTest");
226 testSub.setUp();
227 testSub.testConstructor();
228 testSub.testParse();
229 testSub.testParseToString();
230 testSub.testEmbeddedException();
231 testSub.testIllegalFormat();
232 //testSub.tearDown();
233 }
234 }
syntax highlighted by Code2HTML, v. 0.9.1