/**
* Copyright (C) 2000-2016 Atomikos <info@atomikos.com>
*
* LICENSE CONDITIONS
*
* See http://www.atomikos.com/Main/WhichLicenseApplies for details.
*/
package com.atomikos.datasource.xa;
import javax.transaction.xa.Xid;
import junit.framework.TestCase;
/**
* Common test logic for xid factory.
*
*
*/
public abstract class AbstractXidFactoryTestCase extends TestCase {
private XidFactory factory;
protected final void setUp() throws Exception {
super.setUp();
factory = createXidFactory();
}
protected XidFactory getFactory()
{
return factory;
}
public void testBranchesAreDifferentForSameTid() {
String tid = "mytid";
String name = "name";
Xid xid = factory.createXid ( tid , name );
Xid xid2 = factory.createXid ( tid , name );
String bqual = new String ( xid.getBranchQualifier());
String bqual2 = new String ( xid2.getBranchQualifier());
assertFalse ( bqual.equals ( bqual2 ) );
}
public void testGtidsAreSameForSameTid() {
String tid = "mytid";
String name = "name";
Xid xid = factory.createXid ( tid , name );
Xid xid2 = factory.createXid ( tid , name );
String gtid = new String ( xid.getGlobalTransactionId() );
String gtid2 = new String ( xid2.getGlobalTransactionId() );
assertEquals ( gtid , gtid2 );
}
public void testGtidsAreDifferentForDifferentTid() {
String tid = "mytid";
String tid2 = "mytid2";
String name = "name";
Xid xid = factory.createXid ( tid , name );
Xid xid2 = factory.createXid ( tid2 , name );
String gtid = new String ( xid.getGlobalTransactionId() );
String gtid2 = new String ( xid2.getGlobalTransactionId() );
assertFalse ( gtid.equals ( gtid2 ) );
}
protected abstract XidFactory createXidFactory();
}