From 87ee7004127a621d525172d91ce6312f8cb36844 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Wed, 28 Nov 2012 09:15:08 +0100 Subject: [PATCH] SelfHostExampleTest: Move some checks into a utility function. * src/test/java/org/glom/web/server/SelfHostExampleTest.java: Move the data checks into a new file: * src/test/java/org/glom/web/server/SelfHostTestUtils.java: SelfHostTestUtils.java: so we can use it in some other tests, with different documents. --- ChangeLog | 10 ++ .../org/glom/web/server/SelfHostExampleTest.java | 108 +-------------------- 2 files changed, 11 insertions(+), 107 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d6df2f..0c5a89f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2012-11-28 Murray Cumming + SelfHostExampleTest: Move some checks into a utility function. + + * src/test/java/org/glom/web/server/SelfHostExampleTest.java: + Move the data checks into a new file: + * src/test/java/org/glom/web/server/SelfHostTestUtils.java: + SelfHostTestUtils.java: so we can use it in some other + tests, with different documents. + +2012-11-28 Murray Cumming + SelfHosting test: Also try using a relationship. * src/main/java/org/glom/web/server/database/DBAccess.java: diff --git a/src/test/java/org/glom/web/server/SelfHostExampleTest.java b/src/test/java/org/glom/web/server/SelfHostExampleTest.java index fe12291..218b167 100644 --- a/src/test/java/org/glom/web/server/SelfHostExampleTest.java +++ b/src/test/java/org/glom/web/server/SelfHostExampleTest.java @@ -22,23 +22,11 @@ package org.glom.web.server; import static org.junit.Assert.*; import java.net.URL; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; import org.glom.web.server.libglom.Document; import org.glom.web.server.libglom.Document.HostingMode; -import org.glom.web.shared.TypedDataItem; -import org.glom.web.shared.libglom.Field; -import org.glom.web.shared.libglom.Relationship; -import org.glom.web.shared.libglom.layout.LayoutItemField; -import org.jooq.Condition; import org.junit.AfterClass; -import org.junit.Assert; import org.junit.Test; /** @@ -63,101 +51,7 @@ public class SelfHostExampleTest { final boolean hosted = selfHoster.createAndSelfHostFromExample(HostingMode.HOSTING_MODE_POSTGRES_SELF); assertTrue(hosted); - testExampleMusiccollectionData(document); - } - - private void testExampleMusiccollectionData(final Document document) throws SQLException - { - assertTrue(document != null); - - //Check that some data is as expected: - final TypedDataItem quickFindValue = new TypedDataItem(); - quickFindValue.setText("Born To Run"); - final String tableName = "albums"; - final Condition whereClause = SqlUtils.getFindWhereClauseQuick(document, tableName, quickFindValue); - assertTrue(whereClause != null); - - final List fieldsToGet = new ArrayList(); - Field field = document.getField(tableName, "album_id"); - final LayoutItemField layoutItemFieldAlbumID = new LayoutItemField(); - layoutItemFieldAlbumID.setFullFieldDetails(field); - fieldsToGet.add(layoutItemFieldAlbumID); - field = document.getField(tableName, "name"); - LayoutItemField layoutItemField = new LayoutItemField(); - layoutItemField.setFullFieldDetails(field); - fieldsToGet.add(layoutItemField); - - final String sqlQuery = SqlUtils.buildSqlSelectWithWhereClause(tableName, fieldsToGet, whereClause, null); - - final Connection conn = selfHoster.createConnection(false); - assertTrue(conn != null); - - final Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - //st.setFetchSize(length); - final ResultSet rs = st.executeQuery(sqlQuery); - assertTrue(rs != null); - - final ResultSetMetaData rsMetaData = rs.getMetaData(); - Assert.assertEquals(2, rsMetaData.getColumnCount()); - - rs.last(); - final int rsRowsCount = rs.getRow(); - Assert.assertEquals(1, rsRowsCount); - - final TypedDataItem albumID = new TypedDataItem(); - SqlUtils.fillDataItemFromResultSet(albumID, layoutItemFieldAlbumID, 1, - rs, "fake-document-id", tableName, null); - testExampleMusiccollectionDataRelated(document, albumID); - } - - /** Check that we can get data via a relationship. - * @param document - * @param albumID - * @throws SQLException - */ - private void testExampleMusiccollectionDataRelated(Document document, TypedDataItem albumID) throws SQLException { - final String tableName = "albums"; - - //Normal fields: - final List fieldsToGet = new ArrayList(); - final Field fieldAlbumID = document.getField(tableName, "album_id"); - assertNotNull(fieldAlbumID); - LayoutItemField layoutItemField = new LayoutItemField(); - layoutItemField.setFullFieldDetails(fieldAlbumID); - fieldsToGet.add(layoutItemField); - Field field = document.getField(tableName, "name"); - assertNotNull(field); - layoutItemField = new LayoutItemField(); - layoutItemField.setFullFieldDetails(field); - fieldsToGet.add(layoutItemField); - - //Related field: - final Relationship relationship = document.getRelationship(tableName, "artist"); - assertNotNull(relationship); - layoutItemField = new LayoutItemField(); - layoutItemField.setRelationship(relationship); - field = document.getField("artists", "name"); - assertNotNull(field); - layoutItemField.setFullFieldDetails(field); - fieldsToGet.add(layoutItemField); - - - final String sqlQuery = SqlUtils.buildSqlSelectWithKey(tableName, fieldsToGet, fieldAlbumID, albumID); - - final Connection conn = selfHoster.createConnection(false); - assertTrue(conn != null); - - final Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - //st.setFetchSize(length); - final ResultSet rs = st.executeQuery(sqlQuery); - assertTrue(rs != null); - - final ResultSetMetaData rsMetaData = rs.getMetaData(); - Assert.assertEquals(3, rsMetaData.getColumnCount()); - - rs.last(); - final int rsRowsCount = rs.getRow(); - Assert.assertEquals(1, rsRowsCount); + SelfHostTestUtils.testExampleMusiccollectionData(selfHoster, document); } @AfterClass -- 2.1.4