[jboss-cvs] JBossAS SVN: r58217 - branches/JBoss_4_0_3_SP1_JBAS_3511/testsuite/src/main/org/jboss/test/jca/test
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Nov 8 17:30:31 EST 2006
Author: weston.price at jboss.com
Date: 2006-11-08 17:30:30 -0500 (Wed, 08 Nov 2006)
New Revision: 58217
Added:
branches/JBoss_4_0_3_SP1_JBAS_3511/testsuite/src/main/org/jboss/test/jca/test/JMSSupportCodeUnitTestCase.java
Log:
[JBAS-3511] More ASF improvements.
Added: branches/JBoss_4_0_3_SP1_JBAS_3511/testsuite/src/main/org/jboss/test/jca/test/JMSSupportCodeUnitTestCase.java
===================================================================
--- branches/JBoss_4_0_3_SP1_JBAS_3511/testsuite/src/main/org/jboss/test/jca/test/JMSSupportCodeUnitTestCase.java 2006-11-08 22:27:44 UTC (rev 58216)
+++ branches/JBoss_4_0_3_SP1_JBAS_3511/testsuite/src/main/org/jboss/test/jca/test/JMSSupportCodeUnitTestCase.java 2006-11-08 22:30:30 UTC (rev 58217)
@@ -0,0 +1,271 @@
+package org.jboss.test.jca.test;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jms.JMSException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.jboss.jms.asf.AllFatalJMSExceptionSorter;
+import org.jboss.jms.asf.JMSSupportCodeHandler;
+import org.jboss.jms.asf.JMSSupportCodeLoader;
+import org.jboss.test.JBossTestCase;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+public class JMSSupportCodeUnitTestCase extends JBossTestCase
+{
+ private static final String MALFORMED = "jca/asf/jms-support-malformed.xml";
+ private static final String RELOAD = "jca/asf/jms-support-code.xml";
+
+ public JMSSupportCodeUnitTestCase(String name)
+ {
+ super(name);
+
+ }
+
+ public void testInvalidFileSystemResource() throws Exception
+ {
+
+ String invalid = "invalid";
+ List codes = JMSSupportCodeLoader.loadJMSSupportCodes(invalid);
+ assertTrue(codes.size() == 0);
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(invalid);
+ assertFalse(handler.hasSupportCodes());
+
+ }
+
+ public void testMalformedSupportCodeFile() throws Exception
+ {
+
+ InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(MALFORMED);
+
+ assertTrue(is != null);
+
+ List codes = JMSSupportCodeLoader.loadJMSSupportCodes(MALFORMED);
+ assertTrue(codes.size() == 0);
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(MALFORMED);
+ assertFalse(handler.hasSupportCodes());
+
+ }
+
+ public void testReloadSupportCodeFile() throws Exception
+ {
+ }
+
+ public void testSimpleSupportCodeLoad() throws Exception
+ {
+ InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(RELOAD);
+ assertTrue(is != null);
+
+ List expected = new ArrayList();
+ expected.add(new Integer(2005));
+ expected.add(new Integer(2008));
+ expected.add(new Integer(2007));
+ expected.add(new Integer(2001));
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(RELOAD);
+ assertTrue(handler.hasSupportCodes());
+
+ for(Iterator iter = expected.iterator(); iter.hasNext();)
+ {
+ JMSException jmex = new JMSException("No Reason", "Error is " + ((Integer)iter.next()).toString());
+ System.out.println(jmex.getErrorCode());
+ assertTrue(handler.isJMSExceptionFatal(jmex));
+ }
+
+
+ }
+
+ public void testNonCodeLoad() throws Exception
+ {
+ InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(RELOAD);
+ assertTrue(is != null);
+
+ List expected = new ArrayList();
+ expected.add(new Integer(1));
+ expected.add(new Integer(2));
+ expected.add(new Integer(3));
+ expected.add(new Integer(5));
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(RELOAD);
+ assertTrue(handler.hasSupportCodes());
+
+ for(Iterator iter = expected.iterator(); iter.hasNext();)
+ {
+ JMSException jmex = new JMSException("No Reason", "Error is " + ((Integer)iter.next()).toString());
+ assertFalse(handler.isJMSExceptionFatal(jmex));
+ }
+
+
+ }
+
+ public void testParseJMSExceptionCode() throws Exception
+ {
+ InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(RELOAD);
+ assertTrue(is != null);
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(RELOAD);
+ assertTrue(handler.hasSupportCodes());
+
+ String errorCode = "JMS2005 error code 2007";
+
+ JMSException jmex = new JMSException("No Reason", errorCode);
+ assertTrue(handler.isJMSExceptionFatal(jmex));
+
+ }
+
+ public void testUseSorterOverUrl() throws Exception
+ {
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(null, "org.jboss.jms.asf.AllFatalJMSExceptionSorter", false);
+ assertTrue(handler.getUnderlyingSorter() != null);
+ assertFalse(handler.hasSupportCodes());
+ assertTrue(handler.getUnderlyingSorter() instanceof AllFatalJMSExceptionSorter);
+
+ JMSSupportCodeHandler newHandler = new JMSSupportCodeHandler(RELOAD, "org.jboss.jms.asf.AllNonFatalJMSExceptionSorter", false);
+ JMSException jmex = new JMSException("Dummy", "Dumb errorcode 2005");
+ assertFalse(newHandler.isJMSExceptionFatal(jmex));
+
+
+ }
+
+ public void testLoadInvalidSorter() throws Exception
+ {
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(null, null);
+ JMSException jmex = new JMSException("Dummy", "Dumb errorcode");
+ assertFalse(handler.isJMSExceptionFatal(jmex));
+
+ }
+
+ public void testJMSLinkedException() throws Exception
+ {
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(RELOAD, null, true);
+ JMSException linked = new JMSException("Linked", "Error code is 2005");
+ JMSException jmex = new JMSException("Dummy");
+ jmex.setLinkedException(linked);
+
+ assertTrue(handler.isJMSExceptionFatal(jmex));
+
+ }
+
+ public void testFileSystemResourceHandler() throws Exception
+ {
+ File f = new File("test.xml");
+ FileWriter writer = new FileWriter(f);
+ BufferedWriter bwrite = new BufferedWriter(writer);
+ bwrite.write("<jms-support-codes>");
+ bwrite.newLine();
+ bwrite.write("<jms-fatal-code>2005</jms-fatal-code>");
+ bwrite.newLine();
+ bwrite.write("</jms-support-codes>");
+ bwrite.flush();
+ bwrite.close();
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler("test.xml", null, false);
+ assertTrue(handler.hasSupportCodes());
+
+
+ JMSException linked = new JMSException("Dummy", "Error code is 2005");
+ assertTrue(handler.isJMSExceptionFatal(linked));
+
+
+ JMSException failed = new JMSException("Dummy", "Error code is 2006");
+ assertFalse(handler.isJMSExceptionFatal(failed));
+
+ }
+
+ public void testReloadFileSystemReource() throws Exception
+ {
+ File f = new File("test.xml");
+ FileWriter writer = new FileWriter(f);
+ BufferedWriter bwrite = new BufferedWriter(writer);
+ bwrite.write("<jms-support-codes>");
+ bwrite.newLine();
+ bwrite.write("<jms-fatal-code>2005</jms-fatal-code>");
+ bwrite.newLine();
+ bwrite.write("</jms-support-codes>");
+ bwrite.flush();
+ bwrite.close();
+
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler("test.xml", null, false);
+ JMSException linked = new JMSException("Dummy", "Error code is 2005");
+ assertTrue(handler.isJMSExceptionFatal(linked));
+
+
+ JMSException failed = new JMSException("Dummy", "Error code is 2006");
+ assertFalse(handler.isJMSExceptionFatal(failed));
+
+ f = new File("test2.xml");
+ writer = new FileWriter(f);
+ bwrite = new BufferedWriter(writer);
+ bwrite.write("<jms-support-codes>");
+ bwrite.newLine();
+ bwrite.write("<jms-fatal-code>2007</jms-fatal-code>");
+ bwrite.newLine();
+ bwrite.write("</jms-support-codes>");
+ bwrite.flush();
+ bwrite.close();
+
+ handler.reloadSupportFile("test2.xml");
+ linked = new JMSException("Dummy", "Error code is 2007");
+ assertTrue(handler.isJMSExceptionFatal(linked));
+
+ failed = new JMSException("Dummy", "Error code is 2006");
+ assertFalse(handler.isJMSExceptionFatal(failed));
+
+ }
+
+ public void testAllFatalExcpetionSorter() throws Exception
+ {
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(null, "org.jboss.jms.asf.AllFatalJMSExceptionSorter", false);
+ JMSException jmex = new JMSException("Dummy", "Errro Code 2004");
+ assertTrue(handler.isJMSExceptionFatal(jmex));
+
+ }
+
+ public void testAllNonFatalExcpetionSorter() throws Exception
+ {
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(null, "org.jboss.jms.asf.AllNonFatalJMSExceptionSorter", false);
+ JMSException jmex = new JMSException("Dummy", "Errro Code 2004");
+ assertFalse(handler.isJMSExceptionFatal(jmex));
+
+ }
+
+ public void testThirdPartyExceptionSorter() throws Exception
+ {
+ JMSSupportCodeHandler handler = new JMSSupportCodeHandler(null, "org.jboss.jms.asf.WebSphereMQExceptionSorter", false);
+ JMSException jmex = new JMSException("Dummy", "Errro Code 2009");
+ assertTrue(handler.isJMSExceptionFatal(jmex));
+
+ }
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ File f = new File("test.xml");
+ if(f.exists())
+ f.delete();
+
+ }
+
+ protected void tearDown() throws Exception
+ {
+ File f = new File("test.xml");
+ if(f.exists())
+ f.delete();
+ }
+
+
+}
+
More information about the jboss-cvs-commits
mailing list