You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2011/05/14 12:47:22 UTC
svn commit: r1103021 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access:
DbLoaderPartialTest.java DbLoaderTest.java
Author: aadamchik
Date: Sat May 14 10:47:22 2011
New Revision: 1103021
URL: http://svn.apache.org/viewvc?rev=1103021&view=rev
Log:
CAY-1564 CayenneCase unit tests conversion(4)
patch by Dzmitry Kazimirchyk - DbLoaderTest + some lifecycle improvements
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderPartialTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderPartialTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderPartialTest.java?rev=1103021&r1=1103020&r2=1103021&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderPartialTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderPartialTest.java Sat May 14 10:47:22 2011
@@ -74,6 +74,11 @@ public class DbLoaderPartialTest extends
});
}
+ @Override
+ protected void tearDownBeforeInjection() throws Exception {
+ loader.getConnection().close();
+ }
+
/**
* Tests that FKs are properly loaded when the relationship source is not loaded. See
* CAY-479. This test will perform two reverse engineers. The second reverse engineer
@@ -83,47 +88,40 @@ public class DbLoaderPartialTest extends
*/
public void testPartialLoad() throws Exception {
- try {
-
- DataMap map = new DataMap();
- String tableLabel = adapter.tableTypeForTable();
+ DataMap map = new DataMap();
+ String tableLabel = adapter.tableTypeForTable();
- loader.loadDataMapFromDB(null, "%", new String[] {
- tableLabel
- }, map);
-
- Collection<?> rels = getDbEntity(map, "ARTIST").getRelationships();
- assertNotNull(rels);
- int artistRels = rels.size();
-
- rels = getDbEntity(map, "GALLERY").getRelationships();
- assertNotNull(rels);
- int galleryRels = rels.size();
-
- rels = getDbEntity(map, "PAINTING").getRelationships();
- assertNotNull(rels);
- int paintingRels = rels.size();
-
- loader.loadDataMapFromDB(null, "%", new String[] {
- tableLabel
- }, map);
-
- rels = getDbEntity(map, "ARTIST").getRelationships();
- assertNotNull(rels);
- assertEquals(artistRels, rels.size());
-
- rels = getDbEntity(map, "GALLERY").getRelationships();
- assertNotNull(rels);
- assertEquals(galleryRels, rels.size());
-
- rels = getDbEntity(map, "PAINTING").getRelationships();
- assertNotNull(rels);
- assertEquals(paintingRels, rels.size());
-
- }
- finally {
- loader.getConnection().close();
- }
+ loader.loadDataMapFromDB(null, "%", new String[] {
+ tableLabel
+ }, map);
+
+ Collection<?> rels = getDbEntity(map, "ARTIST").getRelationships();
+ assertNotNull(rels);
+ int artistRels = rels.size();
+
+ rels = getDbEntity(map, "GALLERY").getRelationships();
+ assertNotNull(rels);
+ int galleryRels = rels.size();
+
+ rels = getDbEntity(map, "PAINTING").getRelationships();
+ assertNotNull(rels);
+ int paintingRels = rels.size();
+
+ loader.loadDataMapFromDB(null, "%", new String[] {
+ tableLabel
+ }, map);
+
+ rels = getDbEntity(map, "ARTIST").getRelationships();
+ assertNotNull(rels);
+ assertEquals(artistRels, rels.size());
+
+ rels = getDbEntity(map, "GALLERY").getRelationships();
+ assertNotNull(rels);
+ assertEquals(galleryRels, rels.size());
+
+ rels = getDbEntity(map, "PAINTING").getRelationships();
+ assertNotNull(rels);
+ assertEquals(paintingRels, rels.size());
}
private DbEntity getDbEntity(DataMap map, String name) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java?rev=1103021&r1=1103020&r2=1103021&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java Sat May 14 10:47:22 2011
@@ -24,113 +24,115 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import javax.sql.DataSource;
+
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.TypesMapping;
+import org.apache.cayenne.di.Inject;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.ObjAttribute;
import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.unit.CayenneCase;
+import org.apache.cayenne.unit.AccessStackAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class DbLoaderTest extends ServerCase {
+
+ @Inject
+ private ServerRuntime runtime;
+
+ @Inject
+ private DbAdapter adapter;
+
+ @Inject
+ private DataSource dataSource;
-public class DbLoaderTest extends CayenneCase {
+ @Inject
+ private AccessStackAdapter accessStackAdapter;
- protected DbLoader loader;
+ private DbLoader loader;
@Override
- protected void setUp() throws Exception {
- super.setUp();
- loader = new DbLoader(getConnection(), getNode().getAdapter(), null);
+ protected void setUpAfterInjection() throws Exception {
+ loader = new DbLoader(dataSource.getConnection(), adapter, null);
+ }
+
+ @Override
+ protected void tearDownBeforeInjection() throws Exception {
+ loader.getConnection().close();
}
public void testGetTableTypes() throws Exception {
- try {
- List tableTypes = loader.getTableTypes();
- assertNotNull(tableTypes);
+ List<?> tableTypes = loader.getTableTypes();
- String tableLabel = getNode().getAdapter().tableTypeForTable();
- if (tableLabel != null) {
- assertTrue(
- "Missing type for table '" + tableLabel + "' - " + tableTypes,
- tableTypes.contains(tableLabel));
- }
+ assertNotNull(tableTypes);
- String viewLabel = getNode().getAdapter().tableTypeForView();
- if (viewLabel != null) {
- assertTrue(
- "Missing type for view '" + viewLabel + "' - " + tableTypes,
- tableTypes.contains(viewLabel));
- }
- }
- finally {
- loader.getConnection().close();
+ String tableLabel = adapter.tableTypeForTable();
+ if (tableLabel != null) {
+ assertTrue(
+ "Missing type for table '" + tableLabel + "' - " + tableTypes,
+ tableTypes.contains(tableLabel));
+ }
+
+ String viewLabel = adapter.tableTypeForView();
+ if (viewLabel != null) {
+ assertTrue(
+ "Missing type for view '" + viewLabel + "' - " + tableTypes,
+ tableTypes.contains(viewLabel));
}
}
public void testGetTables() throws Exception {
- try {
- String tableLabel = getNode().getAdapter().tableTypeForTable();
+ String tableLabel = adapter.tableTypeForTable();
- List<DbEntity> tables = loader.getTables(null, null, "%", new String[] {
- tableLabel
- });
+ List<DbEntity> tables = loader.getTables(null, null, "%", new String[] {
+ tableLabel
+ });
- assertNotNull(tables);
+ assertNotNull(tables);
- boolean foundArtist = false;
+ boolean foundArtist = false;
- for (DbEntity table : tables) {
- if ("ARTIST".equalsIgnoreCase(table.getName())) {
- foundArtist = true;
- break;
- }
+ for (DbEntity table : tables) {
+ if ("ARTIST".equalsIgnoreCase(table.getName())) {
+ foundArtist = true;
+ break;
}
-
- assertTrue("'ARTIST' is missing from the table list: " + tables, foundArtist);
- }
- finally {
- loader.getConnection().close();
}
+
+ assertTrue("'ARTIST' is missing from the table list: " + tables, foundArtist);
}
public void testLoadWithMeaningfulPK() throws Exception {
- try {
- DataMap map = new DataMap();
- String tableLabel = getNode().getAdapter().tableTypeForTable();
+ DataMap map = new DataMap();
+ String tableLabel = adapter.tableTypeForTable();
- loader.setCreatingMeaningfulPK(true);
-
- List<DbEntity> testLoader = loader.getTables(
- null,
- null,
- "artist",
- new String[] {
- tableLabel
- });
- if(testLoader.size()==0){
- testLoader = loader.getTables(
- null,
- null,
- "ARTIST",
- new String[] {
- tableLabel
- });
- }
-
- loader.loadDbEntities(map, testLoader);
+ loader.setCreatingMeaningfulPK(true);
- loader.loadObjEntities(map);
- ObjEntity artist = map.getObjEntity("Artist");
- assertNotNull(artist);
- ObjAttribute id = (ObjAttribute) artist.getAttribute("artistId");
- assertNotNull(id);
- }
- finally {
- loader.getConnection().close();
+ List<DbEntity> testLoader = loader.getTables(null, null, "artist", new String[] {
+ tableLabel
+ });
+ if (testLoader.size() == 0) {
+ testLoader = loader.getTables(null, null, "ARTIST", new String[] {
+ tableLabel
+ });
}
+
+ loader.loadDbEntities(map, testLoader);
+
+ loader.loadObjEntities(map);
+ ObjEntity artist = map.getObjEntity("Artist");
+ assertNotNull(artist);
+ ObjAttribute id = (ObjAttribute) artist.getAttribute("artistId");
+ assertNotNull(id);
}
/**
@@ -139,88 +141,90 @@ public class DbLoaderTest extends Cayenn
* (Sybase).
*/
public void testLoad() throws Exception {
- try {
- boolean supportsUnique = getNode().getAdapter().supportsUniqueConstraints();
- boolean supportsLobs = getAccessStackAdapter().supportsLobs();
- boolean supportsFK = getAccessStackAdapter().supportsFKConstraints();
-
- DataMap map = new DataMap();
- String tableLabel = getNode().getAdapter().tableTypeForTable();
-
- // *** TESTING THIS ***
- loader.loadDbEntities(map, loader.getTables(null, null, "%", new String[] {
- tableLabel
- }));
-
- assertDbEntities(map);
-
- if (supportsLobs) {
- assertLobDbEntities(map);
- }
- // *** TESTING THIS ***
- loader.loadDbRelationships(map);
-
- if (supportsFK) {
- Collection rels = getDbEntity(map, "ARTIST").getRelationships();
- assertNotNull(rels);
- assertTrue(rels.size() > 0);
-
- // test one-to-one
- rels = getDbEntity(map, "PAINTING").getRelationships();
- assertNotNull(rels);
-
- // find relationship to PAINTING_INFO
- DbRelationship oneToOne = null;
- Iterator it = rels.iterator();
- while (it.hasNext()) {
- DbRelationship rel = (DbRelationship) it.next();
- if ("PAINTING_INFO".equalsIgnoreCase(rel.getTargetEntityName())) {
- oneToOne = rel;
- break;
- }
- }
-
- assertNotNull("No relationship to PAINTING_INFO", oneToOne);
- assertFalse("Relationship to PAINTING_INFO must be to-one", oneToOne
- .isToMany());
- assertTrue("Relationship to PAINTING_INFO must be to-one", oneToOne
- .isToDependentPK());
-
- // test UNIQUE only if FK is supported...
- if (supportsUnique) {
- assertUniqueConstraintsInRelationships(map);
+ boolean supportsUnique = runtime
+ .getDataDomain()
+ .getDataNodes()
+ .iterator()
+ .next()
+ .getAdapter()
+ .supportsUniqueConstraints();
+ boolean supportsLobs = accessStackAdapter.supportsLobs();
+ boolean supportsFK = accessStackAdapter.supportsFKConstraints();
+
+ DataMap map = new DataMap();
+ String tableLabel = adapter.tableTypeForTable();
+
+ // *** TESTING THIS ***
+ loader.loadDbEntities(map, loader.getTables(null, null, "%", new String[] {
+ tableLabel
+ }));
+
+ assertDbEntities(map);
+
+ if (supportsLobs) {
+ assertLobDbEntities(map);
+ }
+
+ // *** TESTING THIS ***
+ loader.loadDbRelationships(map);
+
+ if (supportsFK) {
+ Collection<?> rels = getDbEntity(map, "ARTIST").getRelationships();
+ assertNotNull(rels);
+ assertTrue(rels.size() > 0);
+
+ // test one-to-one
+ rels = getDbEntity(map, "PAINTING").getRelationships();
+ assertNotNull(rels);
+
+ // find relationship to PAINTING_INFO
+ DbRelationship oneToOne = null;
+ Iterator<?> it = rels.iterator();
+ while (it.hasNext()) {
+ DbRelationship rel = (DbRelationship) it.next();
+ if ("PAINTING_INFO".equalsIgnoreCase(rel.getTargetEntityName())) {
+ oneToOne = rel;
+ break;
}
}
- // *** TESTING THIS ***
- loader.setCreatingMeaningfulPK(false);
- loader.loadObjEntities(map);
-
- ObjEntity ae = map.getObjEntity("Artist");
- assertNotNull(ae);
- assertEquals("Artist", ae.getName());
- // assert primary key is not an attribute
- assertNull(ae.getAttribute("artistId"));
- if (supportsLobs) {
- assertLobObjEntities(map);
- }
-
- if (supportsFK) {
- Collection rels1 = ae.getRelationships();
- assertNotNull(rels1);
- assertTrue(rels1.size() > 0);
- }
-
- // now when the map is loaded, test
- // various things
- // selectively check how different types were processed
- if (getAccessStackAdapter().supportsColumnTypeReengineering()) {
- checkTypes(map);
+ assertNotNull("No relationship to PAINTING_INFO", oneToOne);
+ assertFalse("Relationship to PAINTING_INFO must be to-one", oneToOne
+ .isToMany());
+ assertTrue("Relationship to PAINTING_INFO must be to-one", oneToOne
+ .isToDependentPK());
+
+ // test UNIQUE only if FK is supported...
+ if (supportsUnique) {
+ assertUniqueConstraintsInRelationships(map);
}
}
- finally {
- loader.getConnection().close();
+
+ // *** TESTING THIS ***
+ loader.setCreatingMeaningfulPK(false);
+ loader.loadObjEntities(map);
+
+ ObjEntity ae = map.getObjEntity("Artist");
+ assertNotNull(ae);
+ assertEquals("Artist", ae.getName());
+ // assert primary key is not an attribute
+ assertNull(ae.getAttribute("artistId"));
+ if (supportsLobs) {
+ assertLobObjEntities(map);
+ }
+
+ if (supportsFK) {
+ Collection<?> rels1 = ae.getRelationships();
+ assertNotNull(rels1);
+ assertTrue(rels1.size() > 0);
+ }
+
+ // now when the map is loaded, test
+ // various things
+ // selectively check how different types were processed
+ if (accessStackAdapter.supportsColumnTypeReengineering()) {
+ checkTypes(map);
}
}
@@ -301,7 +305,14 @@ public class DbLoaderTest extends Cayenn
}
private DataMap originalMap() {
- return getNode().getDataMaps().iterator().next();
+ return runtime
+ .getDataDomain()
+ .getDataNodes()
+ .iterator()
+ .next()
+ .getDataMaps()
+ .iterator()
+ .next();
}
/**