mirror of https://github.com/apache/openjpa.git
Removing the XML types from the default test runs to reduce complexity of unit test executions and to speed up overall test execution time.
git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@597041 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c231cc814f
commit
fad6f35201
|
@ -56,7 +56,15 @@ public abstract class PersistenceTestCase
|
||||||
* configuration values in the form key,value,key,value...
|
* configuration values in the form key,value,key,value...
|
||||||
*/
|
*/
|
||||||
protected OpenJPAEntityManagerFactorySPI createEMF(Object... props) {
|
protected OpenJPAEntityManagerFactorySPI createEMF(Object... props) {
|
||||||
return createNamedEMF("test", props);
|
return createNamedEMF(getPersistenceUnitName(), props);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The name of the persistence unit that this test class should use
|
||||||
|
* by default. This defaults to "test".
|
||||||
|
*/
|
||||||
|
protected String getPersistenceUnitName() {
|
||||||
|
return "test";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,7 +91,7 @@ public abstract class PersistenceTestCase
|
||||||
+ "SchemaAction='add,deleteTableContents')");
|
+ "SchemaAction='add,deleteTableContents')");
|
||||||
} else if (props[i] instanceof Class)
|
} else if (props[i] instanceof Class)
|
||||||
types.add((Class) props[i]);
|
types.add((Class) props[i]);
|
||||||
else
|
else if (props[i] != null)
|
||||||
prop = true;
|
prop = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,11 @@ public class TestSimpleXmlEntity
|
||||||
extends SingleEMTestCase {
|
extends SingleEMTestCase {
|
||||||
|
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
setUp(SimpleXmlEntity.class);
|
setUp(CLEAR_TABLES);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String getPersistenceUnitName() {
|
||||||
|
return "xml-persistence-unit";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testId() {
|
public void testId() {
|
||||||
|
|
|
@ -20,16 +20,51 @@ package org.apache.openjpa.persistence.xml;
|
||||||
|
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
|
|
||||||
|
import org.apache.openjpa.enhance.PCRegistry;
|
||||||
|
import org.apache.openjpa.enhance.PersistenceCapable;
|
||||||
import org.apache.openjpa.jdbc.meta.ClassMapping;
|
import org.apache.openjpa.jdbc.meta.ClassMapping;
|
||||||
import org.apache.openjpa.jdbc.meta.FieldMapping;
|
import org.apache.openjpa.jdbc.meta.FieldMapping;
|
||||||
import org.apache.openjpa.jdbc.schema.Column;
|
import org.apache.openjpa.jdbc.schema.Column;
|
||||||
|
import org.apache.openjpa.meta.ClassMetaData;
|
||||||
|
import org.apache.openjpa.meta.MetaDataRepository;
|
||||||
import org.apache.openjpa.persistence.InvalidStateException;
|
import org.apache.openjpa.persistence.InvalidStateException;
|
||||||
|
import org.apache.openjpa.persistence.JPAFacadeHelper;
|
||||||
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
|
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
|
||||||
|
|
||||||
public class TestXmlOverrideEntity extends SingleEMFTestCase {
|
public class TestXmlOverrideEntity extends SingleEMFTestCase {
|
||||||
|
|
||||||
public void setUp() {
|
public void setUp() throws ClassNotFoundException {
|
||||||
setUp(XmlOverrideEntity.class);
|
setUp(CLEAR_TABLES);
|
||||||
|
|
||||||
|
// make sure that XmlOverrideEntity is registered for our metadata tests
|
||||||
|
Class.forName(XmlOverrideEntity.class.getName(), true,
|
||||||
|
XmlOverrideEntity.class.getClassLoader());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String getPersistenceUnitName() {
|
||||||
|
return "xml-persistence-unit";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testOverrideHappenedDuringEnhancement()
|
||||||
|
throws ClassNotFoundException {
|
||||||
|
// this mostly tests our test harness. Since XmlOverrideEntity
|
||||||
|
// has annotation-based metadata, it is important that the first
|
||||||
|
// PU in which it gets scanned-and-enhanced knows about overriding.
|
||||||
|
assertTrue(PersistenceCapable.class.isAssignableFrom(
|
||||||
|
XmlOverrideEntity.class));
|
||||||
|
assertEquals("XmlOverride",
|
||||||
|
PCRegistry.getTypeAlias(XmlOverrideEntity.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testOverriddenEntityName() {
|
||||||
|
ClassMetaData meta = JPAFacadeHelper.getMetaData(emf,
|
||||||
|
XmlOverrideEntity.class);
|
||||||
|
assertEquals("XmlOverride", meta.getTypeAlias());
|
||||||
|
emf.createEntityManager().close();
|
||||||
|
MetaDataRepository repo = emf.getConfiguration()
|
||||||
|
.getMetaDataRepositoryInstance();
|
||||||
|
assertEquals(meta, repo.getMetaData("XmlOverride",
|
||||||
|
XmlOverrideEntity.class.getClassLoader(), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,26 +21,31 @@
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
version="1.0">
|
version="1.0">
|
||||||
|
|
||||||
<persistence-unit name="test">
|
<persistence-unit name="xml-persistence-unit">
|
||||||
<!--
|
<description>
|
||||||
<provider>
|
|
||||||
org.apache.openjpa.persistence.PersistenceProviderImpl
|
|
||||||
</provider>
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This needs to be listed because the OpenJPA test framework
|
This needs to be listed because the OpenJPA test framework
|
||||||
does not provide any other means to incrementally enhance classes
|
does not provide any other means to incrementally enhance classes
|
||||||
for particular test cases, and the XML data must be available at
|
for particular test cases, and the XML data must be available at
|
||||||
enhance time for XML data to get incorporated into PCRegistry.
|
enhance time for XML data to get incorporated into PCRegistry.
|
||||||
-->
|
|
||||||
<mapping-file>org/apache/openjpa/persistence/xml/orm.xml</mapping-file>
|
|
||||||
<!--
|
|
||||||
In general, for persistent types that use annotations, you should
|
In general, for persistent types that use annotations, you should
|
||||||
not list the persistent types here, but rather use the
|
not list the persistent types here, but rather use the
|
||||||
PersistenceTestCase.setUp(Object...) method in your test case's
|
PersistenceTestCase.setUp(Object...) method in your test case's
|
||||||
setUp() method, passing the Class objects for your persistent types
|
setUp() method, passing the Class objects for your persistent types
|
||||||
to that method.
|
to that method.
|
||||||
-->
|
|
||||||
|
This PU needs to be first because XmlOverrideEntity overrides the
|
||||||
|
entity name, and that data is stored statically in the enhanced
|
||||||
|
class.
|
||||||
|
</description>
|
||||||
|
<mapping-file>org/apache/openjpa/persistence/xml/orm.xml</mapping-file>
|
||||||
|
<properties>
|
||||||
|
<property name="openjpa.jdbc.SynchronizeMappings"
|
||||||
|
value="buildSchema(ForeignKeys=true)"/>
|
||||||
|
</properties>
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
|
<persistence-unit name="test">
|
||||||
<properties>
|
<properties>
|
||||||
<!--
|
<!--
|
||||||
These properties are instead passed via System properties
|
These properties are instead passed via System properties
|
||||||
|
|
Loading…
Reference in New Issue