1 22 package org.jboss.test.tm.test; 23 24 import javax.jms.TransactionRolledBackException ; 25 import javax.management.Attribute ; 26 import javax.management.ObjectName ; 27 import javax.transaction.TransactionRolledbackException ; 28 29 import junit.framework.Test; 30 31 import org.jboss.mx.util.ObjectNameFactory; 32 import org.jboss.test.JBossTestCase; 33 import org.jboss.test.JBossTestSetup; 34 import org.jboss.test.tm.interfaces.TxTimeout; 35 import org.jboss.test.tm.interfaces.TxTimeoutHome; 36 37 43 public class TxTimeoutUnitTestCase 44 extends JBossTestCase 45 { 46 private Integer oldTimeout; 47 48 private ObjectName tmService = ObjectNameFactory.create("jboss:service=TransactionManager"); 49 50 public TxTimeoutUnitTestCase(String name) 51 { 52 super(name); 53 } 54 55 public void testDefaultTimeout() throws Exception 56 { 57 TxTimeout bean = getBean(); 58 try 59 { 60 bean.testDefaultTimeout(); 61 fail("Expected TransactionRolledbackException"); 62 } 63 catch (TransactionRolledbackException expected) 64 { 65 } 66 } 67 68 public void testOverriddenTimeoutExpires() throws Exception 69 { 70 TxTimeout bean = getBean(); 71 try 72 { 73 bean.testOverriddenTimeoutExpires(); 74 fail("Expected TransactionRolledbackException"); 75 } 76 catch (TransactionRolledbackException expected) 77 { 78 } 79 } 80 81 public void testOverriddenTimeoutDoesNotExpire() throws Exception 82 { 83 TxTimeout bean = getBean(); 84 bean.testOverriddenTimeoutDoesNotExpire(); 85 } 86 87 public static Test suite() throws Exception 88 { 89 return new JBossTestSetup(getDeploySetup(TxTimeoutUnitTestCase.class, "txtimeouttest.jar")); 90 } 91 92 protected void setUp() throws Exception 93 { 94 setTxTimeout(new Integer (10)); 95 } 96 97 protected void tearDown() throws Exception 98 { 99 setTxTimeout(oldTimeout); 100 } 101 102 private void setTxTimeout(Integer timeout) throws Exception 103 { 104 oldTimeout = (Integer ) getServer().getAttribute(tmService, "TransactionTimeout"); 105 getServer().setAttribute(tmService, new Attribute ("TransactionTimeout", timeout)); 106 } 107 108 private TxTimeout getBean() throws Exception 109 { 110 TxTimeoutHome home = (TxTimeoutHome) getInitialContext().lookup("jbosstest/tm/TxTimeout"); 111 return home.create(); 112 } 113 } 114 | Popular Tags |