use of org.apache.openejb.assembler.classic.PersistenceUnitInfo in project tomee by apache.
the class AutoConfigPersistenceUnitsTest method testEmptyUnitOneAvailableNonJtaDataSource.
// ---
/**
* Existing data source "Orange", not jta managed
* <p/>
* Persistence xml like so:
* <p/>
* <persistence-unit name="orange-unit">
* </persistence-unit>
* <p/>
* The <non-jta-data-source> should be auto linked
* to the Orange data source
* <p/>
* We should generate a <jta-data-source> based on
* the <non-jta-data-source>
*
* @throws Exception
*/
public void testEmptyUnitOneAvailableNonJtaDataSource() throws Exception {
final ResourceInfo supplied = addDataSource("Orange", OrangeDriver.class, "jdbc:orange:some:stuff", false);
assertSame(supplied, resources.get(0));
final PersistenceUnitInfo unitInfo = addPersistenceUnit("orange-unit", null, null);
assertNotNull(unitInfo);
final ResourceInfo generated = resources.get(1);
assertEquals(generated.id, unitInfo.jtaDataSource);
assertEquals(supplied.id, unitInfo.nonJtaDataSource);
assertEquals(supplied.id + "Jta", generated.id);
assertEquals(supplied.service, generated.service);
assertEquals(supplied.className, generated.className);
assertEquals(supplied.properties.get("JdbcDriver"), generated.properties.get("JdbcDriver"));
assertEquals(supplied.properties.get("JdbcUrl"), generated.properties.get("JdbcUrl"));
assertEquals("true", generated.properties.get("JtaManaged"));
}
use of org.apache.openejb.assembler.classic.PersistenceUnitInfo in project tomee by apache.
the class AutoConfigPersistenceUnitsTest method testFromAppIdNonJta.
/**
* Existing data source "orange-unit-app", non-jta-managed
* <p/>
* Persistence xml like so:
* <p/>
* <persistence-unit name="orange-unit" />
* <p/>
* The app module id is orange-unit-app. Use orange-unit-app data source and create a new JtaManaged datasource
*
* @throws Exception
*/
public void testFromAppIdNonJta() throws Exception {
final ResourceInfo supplied = addDataSource("orange-unit-app", OrangeDriver.class, "jdbc:orange:some:stuff", false);
assertSame(supplied, resources.get(0));
final PersistenceUnitInfo unitInfo = addPersistenceUnit("orange-unit", null, null);
assertNotNull(unitInfo);
// Check results
final ResourceInfo generated = resources.get(1);
assertEquals(supplied.id + "Jta", generated.id);
assertEquals(supplied.service, generated.service);
assertEquals(supplied.className, generated.className);
assertEquals(supplied.properties.get("JdbcDriver"), generated.properties.get("JdbcDriver"));
assertEquals(supplied.properties.get("JdbcUrl"), generated.properties.get("JdbcUrl"));
assertEquals("true", generated.properties.get("JtaManaged"));
}
use of org.apache.openejb.assembler.classic.PersistenceUnitInfo in project tomee by apache.
the class AutoConfigPersistenceUnitsTest method testFromUnitNameNonJta.
/**
* Existing data source "orange-unit", non-jta-managed
* <p/>
* Persistence xml like so:
* <p/>
* <persistence-unit name="orange-unit" />
* <p/>
* The orange-unit app should automatically use orange-unit data source and create a new JtaManaged datasource
*
* @throws Exception
*/
public void testFromUnitNameNonJta() throws Exception {
final ResourceInfo supplied = addDataSource("orange-unit", OrangeDriver.class, "jdbc:orange:some:stuff", false);
assertSame(supplied, resources.get(0));
final PersistenceUnitInfo unitInfo = addPersistenceUnit("orange-unit", null, null);
assertNotNull(unitInfo);
// Check results
final ResourceInfo generated = resources.get(1);
assertEquals(supplied.id + "Jta", generated.id);
assertEquals(supplied.service, generated.service);
assertEquals(supplied.className, generated.className);
assertEquals(supplied.properties.get("JdbcDriver"), generated.properties.get("JdbcDriver"));
assertEquals(supplied.properties.get("JdbcUrl"), generated.properties.get("JdbcUrl"));
assertEquals("true", generated.properties.get("JtaManaged"));
}
use of org.apache.openejb.assembler.classic.PersistenceUnitInfo in project tomee by apache.
the class AutoConfigPersistenceUnitsTest method testFromAppIdJta.
/**
* Existing data source "orange-unit-app", jta-managed
* <p/>
* Persistence xml like so:
* <p/>
* <persistence-unit name="orange-unit" />
* <p/>
* The app module id is orange-unit-app. Use orange-unit-app data source and create a new non-JtaManaged datasource
*
* @throws Exception
*/
public void testFromAppIdJta() throws Exception {
final ResourceInfo supplied = addDataSource("orange-unit-app", OrangeDriver.class, "jdbc:orange:some:stuff", true);
assertSame(supplied, resources.get(0));
final PersistenceUnitInfo unitInfo = addPersistenceUnit("orange-unit", null, null);
assertNotNull(unitInfo);
// Check results
final ResourceInfo generated = resources.get(1);
assertEquals(supplied.id + "NonJta", generated.id);
assertEquals(supplied.service, generated.service);
assertEquals(supplied.className, generated.className);
assertEquals(supplied.properties.get("JdbcDriver"), generated.properties.get("JdbcDriver"));
assertEquals(supplied.properties.get("JdbcUrl"), generated.properties.get("JdbcUrl"));
assertEquals("false", generated.properties.get("JtaManaged"));
}
use of org.apache.openejb.assembler.classic.PersistenceUnitInfo in project tomee by apache.
the class AutoConfigPersistenceUnitsTest method testFromAppIdThirdParty.
/**
* Existing data source "orange-unit-app", not controlled by us
* <p/>
* Persistence xml like so:
* <p/>
* <persistence-unit name="orange-unit" />
* <p/>
* The app module id is orange-unit-app. The jta data source should be orange-unit-app and the non-jta-data-source should be null
*
* @throws Exception
*/
public void testFromAppIdThirdParty() throws Exception {
final ResourceInfo supplied = addDataSource("orange-unit-app", OrangeDriver.class, "jdbc:orange:some:stuff", null);
assertSame(supplied, resources.get(0));
final PersistenceUnitInfo unitInfo = addPersistenceUnit("orange-unit", null, null);
assertNotNull(unitInfo);
//Check results
assertEquals(supplied.id, unitInfo.jtaDataSource);
assertNull(unitInfo.nonJtaDataSource);
}
Aggregations