001: /*
002: * Copyright 2006 Le Duc Bao, Ralf Joachim
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005: * use this file except in compliance with the License. You may obtain a copy of
006: * the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013: * License for the specific language governing permissions and limitations under
014: * the License.
015: */
016: package org.castor.ddlgen.engine.postgresql;
017:
018: import junit.framework.Test;
019: import junit.framework.TestSuite;
020:
021: import org.castor.ddlgen.DDLGenConfiguration;
022: import org.castor.ddlgen.KeyGeneratorRegistry;
023: import org.castor.ddlgen.test.framework.AbstractGeneratorTest;
024: import org.castor.ddlgen.test.framework.Expected;
025:
026: /**
027: * PostgreSQL generator test.
028: *
029: * @author <a href="mailto:leducbao AT gmail DOT com">Le Duc Bao</a>
030: * @author <a href="mailto:ralf DOT joachim AT syscon DOT eu">Ralf Joachim</a>
031: * @version $Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
032: * @since 1.1
033: */
034: public final class PostgresqlGeneratorTest extends
035: AbstractGeneratorTest {
036: public PostgresqlGeneratorTest(final String testcase) {
037: super (testcase);
038: }
039:
040: public PostgresqlGeneratorTest(final String testcase,
041: final boolean useDBEngine) {
042: super (testcase);
043:
044: if (useDBEngine) {
045: setEngine(Expected.ENGINE_POSTGRESQL);
046: }
047: }
048:
049: public static Test suite() throws Exception {
050: TestSuite suite = new TestSuite(
051: "All org.castor.ddlgen.engine.postgresql tests");
052:
053: // schema test
054: suite.addTest(new PostgresqlGeneratorTest("testCreateSchema",
055: true));
056:
057: // drop test
058: suite.addTest(new PostgresqlGeneratorTest("testDropTable",
059: false));
060:
061: // table test
062: suite.addTest(new PostgresqlGeneratorTest("testSingleTable",
063: false));
064: suite.addTest(new PostgresqlGeneratorTest("testMultipleTable",
065: false));
066: suite.addTest(new PostgresqlGeneratorTest("testIgnoredTable",
067: false));
068: suite
069: .addTest(new PostgresqlGeneratorTest("testNoTable",
070: false));
071:
072: //field test
073: suite.addTest(new PostgresqlGeneratorTest("testSingleField",
074: false));
075: suite.addTest(new PostgresqlGeneratorTest(
076: "testSingleFieldForAll", true));
077: suite.addTest(new PostgresqlGeneratorTest("testIgnoredField",
078: false));
079: suite
080: .addTest(new PostgresqlGeneratorTest("testNoField",
081: false));
082: suite.addTest(new PostgresqlGeneratorTest(
083: "testManyKeysReference", false));
084: suite.addTest(new PostgresqlGeneratorTest(
085: "testManyClassKeysReference", false));
086: suite.addTest(new PostgresqlGeneratorTest(
087: "test2LevelsReference", false));
088:
089: // primary key test
090: suite
091: .addTest(new PostgresqlGeneratorTest("testClassId",
092: false));
093: suite.addTest(new PostgresqlGeneratorTest(
094: "testClassMultipleId", false));
095: suite
096: .addTest(new PostgresqlGeneratorTest("testFieldId",
097: false));
098: suite.addTest(new PostgresqlGeneratorTest(
099: "testFieldMultipleId", false));
100: suite.addTest(new PostgresqlGeneratorTest(
101: "testOverwriteFieldId", false));
102: suite.addTest(new PostgresqlGeneratorTest("testNoId", false));
103:
104: // foreign key test
105: suite.addTest(new PostgresqlGeneratorTest(
106: "testOneOneRelationship", false));
107: suite.addTest(new PostgresqlGeneratorTest(
108: "testOneManyRelationship", false));
109: suite.addTest(new PostgresqlGeneratorTest(
110: "testManyManyRelationship", false));
111:
112: // index test
113: suite.addTest(new PostgresqlGeneratorTest("testCreateIndex",
114: false));
115:
116: // key generator test
117: suite.addTest(new PostgresqlGeneratorTest("testKeyGenIdentity",
118: true));
119: suite.addTest(new PostgresqlGeneratorTest("testKeyGenHighLow",
120: false));
121: suite.addTest(new PostgresqlGeneratorTest("testKeyGenMax",
122: false));
123: suite.addTest(new PostgresqlGeneratorTest("testKeyGenSequence",
124: true));
125: suite.addTest(new PostgresqlGeneratorTest("testKeyGenUUID",
126: false));
127:
128: return suite;
129: }
130:
131: /**
132: * {@inheritDoc}
133: */
134: protected void setUp() throws Exception {
135: super .setUp();
136:
137: DDLGenConfiguration conf = new DDLGenConfiguration();
138: conf
139: .addProperties("org/castor/ddlgen/test/config/ddlgen.properties");
140: conf
141: .addProperties("org/castor/ddlgen/test/config/postgresql.properties");
142: setGenerator(new PostgresqlGenerator(conf));
143:
144: KeyGeneratorRegistry keyGenRegistry = new KeyGeneratorRegistry(
145: conf);
146: getGenerator().setKeyGenRegistry(keyGenRegistry);
147:
148: getGenerator().initialize();
149: }
150:
151: /**
152: * {@inheritDoc}
153: */
154: protected void tearDown() throws Exception {
155: super.tearDown();
156:
157: setGenerator(null);
158: }
159: }
|