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