[jboss-svn-commits] JBL Code SVN: r28358 - labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/test/java/uk/ac/ncl/sdia/a8905943/persistence/xa.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 23 14:46:47 EDT 2009


Author: whitingjr
Date: 2009-07-23 14:46:47 -0400 (Thu, 23 Jul 2009)
New Revision: 28358

Added:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/test/java/uk/ac/ncl/sdia/a8905943/persistence/xa/JUnitTestSTMXADatasourceImpl.java
Log:


Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/test/java/uk/ac/ncl/sdia/a8905943/persistence/xa/JUnitTestSTMXADatasourceImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/test/java/uk/ac/ncl/sdia/a8905943/persistence/xa/JUnitTestSTMXADatasourceImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/test/java/uk/ac/ncl/sdia/a8905943/persistence/xa/JUnitTestSTMXADatasourceImpl.java	2009-07-23 18:46:47 UTC (rev 28358)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.persistence.xa;
+
+import java.sql.SQLException;
+
+import javax.sql.XAConnection;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class JUnitTestSTMXADatasourceImpl
+{
+
+   @Test 
+   public void testCheckDataSourceCreationWorks()
+   {
+      STMXADatasourceImpl dataSource = new STMXADatasourceImpl();
+      dataSource.setDatabaseName("aag");
+      try
+      {
+         XAConnection connection = dataSource.getXAConnection();
+         Assert.assertNotNull(connection);
+         Assert.assertNotNull(connection.getXAResource());
+      }
+      catch (SQLException sqle)
+      {
+         Assert.fail(sqle.getMessage());
+      }
+   }
+   
+   @Test
+   public void testCheckCreatingDataSourceObjectsHaveIdenticalSTM()
+   {
+      STMXADatasourceImpl dataSourceA = new STMXADatasourceImpl();
+      dataSourceA.setDatabaseName("hmrc");// databaseName is important
+      
+      STMXADatasourceImpl dataSourceB = new STMXADatasourceImpl();
+      dataSourceB.setDatabaseName("hmrc");
+      
+      try
+      {
+         STMXAConnectionImpl connectionA = (STMXAConnectionImpl)dataSourceA.getXAConnection();
+         STMXAConnectionImpl connectionB = (STMXAConnectionImpl)dataSourceB.getXAConnection();
+         Assert.assertNotNull(connectionA);
+         Assert.assertNotNull(connectionB);
+         Assert.assertEquals(connectionA.getSTM(), connectionB.getSTM());
+         Assert.assertTrue(connectionA.getSTM() == connectionB.getSTM());
+      }
+      catch (SQLException sqle)
+      {
+         Assert.fail(sqle.getMessage());
+      }
+   }
+   
+   @Test
+   public void testCheckDifferentDatabaseCreatesDifferentSTMInstance()
+   {
+      STMXADatasourceImpl dataSourceA = new STMXADatasourceImpl();
+      dataSourceA.setDatabaseName("hmrc");
+      
+      STMXADatasourceImpl dataSourceB = new STMXADatasourceImpl();
+      dataSourceB.setDatabaseName("inlandRevenue");
+      
+      Assert.assertNotNull(dataSourceA);
+      Assert.assertNotNull(dataSourceB);
+      
+      try
+      {
+         STMXAConnectionImpl connectionA = (STMXAConnectionImpl)dataSourceA.getXAConnection();
+         STMXAConnectionImpl connectionB = (STMXAConnectionImpl)dataSourceB.getXAConnection();
+         Assert.assertNotSame(connectionA.getSTM(), connectionB.getSTM());
+      }
+      catch (SQLException sqle)
+      {
+         Assert.fail(sqle.getMessage());
+      }
+   }
+}



More information about the jboss-svn-commits mailing list