[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