001: /*
002: * (c) Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
003: * [See end of file]
004: */
005:
006: package com.hp.hpl.jena.db.test;
007:
008: import junit.framework.*;
009:
010: import com.hp.hpl.jena.db.IDBConnection;
011: import com.hp.hpl.jena.db.ModelRDB;
012: import com.hp.hpl.jena.rdf.model.*;
013:
014: /**
015: * Based on earlier Jena tests by members of the Jena team.
016: *
017: * @author csayers
018: * @version $Revision: 1.45 $
019: */
020: public class TestPackage extends TestSuite {
021:
022: /*
023: * this testPackage requires the parameters for a
024: * database connection to be defined. use the "guess"
025: * method in ModelFactoryBase to get the parameters from
026: * a configuration file (see test-db.sh, test.bat,
027: * test.sh). if the guess methods do not work for
028: * you, /contact Chris so we can work out why/ and in
029: * the meantime /temporarily/ hack the code using the
030: * examples below.
031: *
032: * Using the guess* methods allows the same codebase to be
033: * tested against different databases without having to
034: * fiddle around by hand.
035: */
036:
037: /*/ oracle settings
038: static String M_DB_URL = "jdbc:oracle:oci8:@";
039: static String M_DB_USER = "scott";
040: static String M_DB_PASSWD = "tiger";
041: static String M_DB = "Oracle";
042: static String M_DBDRIVER_CLASS = "oracle.jdbc.OracleDriver";
043: // */
044:
045: /*/ mysql settings
046: static String M_DB_URL = "jdbc:mysql://localhost/test";
047: static String M_DB_USER = "test";
048: static String M_DB_PASSWD = "test";
049: static String M_DB = "MySQL";
050: static String M_DBDRIVER_CLASS = "com.mysql.jdbc.Driver";
051: // */
052:
053: /*/ postgresql settings
054: static String M_DB_URL = "jdbc:postgresql://localhost/test";
055: static String M_DB_USER = "test";
056: static String M_DB_PASSWD = "";
057: static String M_DB = "PostgreSQL";
058: static String M_DBDRIVER_CLASS = "org.postgresql.Driver";
059: // */
060:
061: /*
062: Command-line controlled settings (using -Dfoo=bar options, see
063: ModelFactoryBase.guess* methods). Note that the -D options can
064: be set from inside Eclipse, and presumably other IDEs as well.
065: */
066: //*/
067: public static String M_DB_URL = ModelFactoryBase.guessDBURL();
068: public static String M_DB_USER = ModelFactoryBase.guessDBUser();
069: public static String M_DB_PASSWD = ModelFactoryBase
070: .guessDBPassword();
071: public static String M_DB = ModelFactoryBase.guessDBType();
072: public static String M_DBDRIVER_CLASS = ModelFactoryBase
073: .guessDBDriver();
074: public static boolean M_DBCONCURRENT = ModelFactoryBase
075: .guessDBConcurrent();
076:
077: // */
078:
079: static public TestSuite suite() {
080: return new TestPackage();
081: }
082:
083: /** Creates new TestPackage */
084: private TestPackage() {
085: super ("GraphRDB");
086: addTest(TestDriverMap.suite());
087: addTest("TestConnection", TestConnection.suite());
088: addTest("TestBasicOperations", TestBasicOperations.suite());
089: addTest("TestSimpleSelector", TestSimpleSelector.suite());
090: addTest("TestCompatability", TestCompatability.suite());
091: addTest("TestCompareToMem", TestCompareToMem.suite());
092: addTest("TestGraphRDB", TestGraphRDB.suite());
093: addTest("TestModelRDB", TestModelRDB.suite());
094: addTest("TestGraphRDBMaker", TestGraphRDBMaker.suite());
095: addTest("TestMultiModel", TestMultiModel.suite());
096: addTest("TestNsPrefix", TestNsPrefix.suite());
097: addTest("TestPrefixMapping", TestPrefixMapping.suite());
098: addTest("TestTransactions", TestTransactions.suite());
099: addTest("TestReifier", TestReifier.suite());
100: addTest("TestReifierCompareToMem", TestReifierCompareToMem
101: .suite());
102: addTest("TestQueryRDB", TestQueryRDB.suite());
103: addTest("TestQuery1", TestQuery1.suite());
104: addTest("TestModelFactory", TestModelFactory.suite());
105: addTestSuite(TestRDBAssemblerContents.class);
106: }
107:
108: public static class TestModelFactory extends TestCase {
109: public TestModelFactory(String name) {
110: super (name);
111: }
112:
113: public static TestSuite suite() {
114: return new TestSuite(TestModelFactory.class);
115: }
116:
117: public void testModelFactory() {
118: IDBConnection c = TestConnection
119: .makeAndCleanTestConnection();
120: assertTrue(ModelFactory.createModelRDBMaker(c)
121: .createFreshModel() instanceof ModelRDB);
122: }
123: }
124:
125: private void addTest(String name, TestSuite tc) {
126: tc.setName(name);
127: addTest(tc);
128: }
129:
130: }
131:
132: /*
133: * (c) Copyright 2001, 2002, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
134: * All rights reserved.
135: *
136: * Redistribution and use in source and binary forms, with or without
137: * modification, are permitted provided that the following conditions
138: * are met:
139: * 1. Redistributions of source code must retain the above copyright
140: * notice, this list of conditions and the following disclaimer.
141: * 2. Redistributions in binary form must reproduce the above copyright
142: * notice, this list of conditions and the following disclaimer in the
143: * documentation and/or other materials provided with the distribution.
144: * 3. The name of the author may not be used to endorse or promote products
145: * derived from this software without specific prior written permission.
146: *
147: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
148: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
149: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
150: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
151: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
152: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
153: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
154: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
155: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
156: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
157: */
|