Author: vhalbert(a)redhat.com
Date: 2010-11-12 13:38:38 -0500 (Fri, 12 Nov 2010)
New Revision: 2721
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/TransactionContainer.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/connection/ConnectionStrategyFactory.java
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/datasource/DataSourceMgr.java
Log:
TEIID-1354 changes to support controlling the output directory, cleanup of logging
messages (turned most to debug), and fix NPE when generating expected results
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -75,6 +75,17 @@
/**
+ * @see TestProperties#RESULT_MODES
+ *
+ * Return true if the expected results file is needed in the test. Either
+ * for comparison or generation. It will return false when
+ * the option <code>TestProperties.RESULT_MODES.NONE</code>
+ * @return
+ */
+ boolean isExpectedResultsNeeded();
+
+
+ /**
* Indicates if a query expects to have an <code>Exception</code> to be
thrown when the
* query is executed.
* @param queryidentifier
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -195,9 +195,9 @@
// run test
try {
- tc.runTransaction(userTxn);
+ tc.runTransaction(userTxn);
} catch (Throwable t) {
- TestLogger.logInfo("Testcase run error: " +
t.getLocalizedMessage());
+ t.printStackTrace();
}
}
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -106,7 +106,7 @@
@Override
public void testCase() throws Exception {
TestLogger.logDebug("expected error: " + this.errorExpected);
- TestLogger.logDebug("ID: " + query.geQuerySetID() + "-" +
query.getQueryID());
+ TestLogger.logInfo("ID: " + query.geQuerySetID() + " - " +
query.getQueryID());
QuerySQL[] queries = query.getQueries();
int l = queries.length;
@@ -165,20 +165,8 @@
rs = new TestResultStat(query.geQuerySetID(), query.getQueryID(), sql,
testStatus, beginTS, endTS, resultException, null);
-
-
- System.out.println("ADD THE TEST RESULT");
-
this.testResultsSummary.addTestResult(query.geQuerySetID(), rs);
-//
-// try {
-// System.out.println("HANDLE RESULT " + this.internalResultSet.isClosed());
-// } catch (SQLException e) {
-// // TODO Auto-generated catch block
-// e.printStackTrace();
-// }
-
this.querySet.handleTestResult(rs, this.internalResultSet, this.updateCount,
resultFromQuery, sql);
}
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -74,7 +74,7 @@
}
- TestLogger.log("==== Create Transaction-Option: " + type);
+ TestLogger.logDebug("==== Create Transaction-Option: " + type);
if (type.equalsIgnoreCase(TRANSACTION_TYPES.LOCAL_TRANSACTION)) {
transacton = new LocalTransaction();
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -20,7 +20,6 @@
*/
package org.teiid.test.client.ctc;
-import java.io.IOException;
import java.sql.ResultSet;
import java.util.Properties;
@@ -123,7 +122,7 @@
} else {
// just create the error file for any failures
- if (tr.getStatus() == TestResult.RESULT_STATE.TEST_EXCEPTION) {
+ if (tr.getStatus() == TestResult.RESULT_STATE.TEST_EXCEPTION &&
!getResultsMode().equalsIgnoreCase(TestProperties.RESULT_MODES.NONE)) {
try {
this.getResultsGenerator().generateErrorFile(tr.getQuerySetID(),
tr.getQueryID(), sql, resultSet, resultException,
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -46,6 +46,7 @@
private static final String DATA_ELE_TYPE_OBJECT = "object"; //$NON-NLS-1$
private static final String DATA_ELE_TYPE_XML = "xml"; //$NON-NLS-1$
private static final String DATA_ELE_TYPE_CLOB = "clob"; //$NON-NLS-1$
+ private static final String DATA_ELE_TYPE_BLOB = "blob"; //$NON-NLS-1$
public static Map TYPE_MAP;
@@ -69,6 +70,7 @@
TYPE_MAP.put(DATA_ELE_TYPE_TIMESTAMP, java.sql.Timestamp.class);
TYPE_MAP.put(DATA_ELE_TYPE_XML, java.lang.String.class);
TYPE_MAP.put(DATA_ELE_TYPE_CLOB, java.lang.String.class);
+ TYPE_MAP.put(DATA_ELE_TYPE_BLOB, java.lang.String.class);
}
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -87,7 +87,7 @@
validateResultsMode(this.props);
- TestLogger.logInfo("Expected results loc: " + this.results_dir_loc);
+ TestLogger.logDebug("Expected results loc: " + this.results_dir_loc);
}
protected void validateResultsMode(Properties props) {
@@ -106,9 +106,13 @@
}
// otherwise use default of NONE
- TestLogger.log("\nResults mode: " + resultMode); //$NON-NLS-1$
+ TestLogger.logDebug("\nResults mode: " + resultMode); //$NON-NLS-1$
}
+
+ public boolean isExpectedResultsNeeded() {
+ return (resultMode.equalsIgnoreCase(TestProperties.RESULT_MODES.COMPARE));
+ }
@Override
@@ -773,7 +777,7 @@
String querySetIdentifier) throws QueryTestFailedException {
String resultFileName = queryIdentifier + ".xml"; //$NON-NLS-1$
File file = new File(results_dir_loc + "/" + querySetIdentifier,
resultFileName);
- if (!file.exists()) {
+ if (!file.exists() && this.isExpectedResultsNeeded()) {
throw new QueryTestFailedException("Query results file " +
file.getAbsolutePath() + " cannot be found");
}
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -124,9 +124,8 @@
throws QueryTestFailedException {
try {
- System.out.println("GENERATE QRF: " + result.isClosed());
+ if (result != null ) result.isClosed();
} catch (SQLException e1) {
- // TODO Auto-generated catch block
e1.printStackTrace();
}
File resultsFile = createNewResultsFile(queryID, querySetID,
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -534,7 +534,7 @@
*/
private Object consumeMsg(Element cellElement) throws JDOMException {
- Object cellObject = null;
+ Object cellObject = null;;
String cellName = cellElement.getName();
if ( cellName.equalsIgnoreCase(TagNames.Elements.BOOLEAN) ) {
@@ -567,6 +567,8 @@
cellObject = consumeMsg((Short) cellObject, cellElement);
} else if ( cellName.equalsIgnoreCase(TagNames.Elements.OBJECT) ) {
cellObject = consumeMsg((String) cellObject, cellElement);
+ } else {
+ cellObject = consumeMsg(cellObject, cellElement);
}
return cellObject;
@@ -891,7 +893,90 @@
}
return result;
}
+
+
+ /**
+ * Consume an XML message and update the specified Byte instance.
+ * <br>
+ * @param object the instance that is to be updated with the XML message data.
+ * @param cellElement the XML element that contains the data
+ * @return the updated instance.
+ * @exception JDOMException if there is an error consuming the message.
+ */
+ @SuppressWarnings("unused")
+ private Object consumeMsg(Object object, Element cellElement) throws JDOMException {
+// // -----------------------
+// // Process the element ...
+// // -----------------------
+// Byte result;
+// try {
+// result = new Byte(cellElement.getTextTrim());
+// } catch ( NumberFormatException e ) {
+// throw new JDOMException("Unable to parse the value for " +
cellElement.getName() + //$NON-NLS-1$
+// " element: " + cellElement.getTextTrim(),
e); //$NON-NLS-1$
+// }
+// return result;
+
+ return cellElement.getText();
+ // ----------------------
+ // Create the Object element ...
+ // ----------------------
+// Element objectElement = new Element(TagNames.Elements.OBJECT);
+//
+// String result = null;
+// if (object instanceof Blob || object instanceof Clob || object instanceof
SQLXML) {
+//
+// if (object instanceof Clob){
+// Clob c = (Clob)object;
+// try {
+// result = ObjectConverterUtil.convertToString(c.getAsciiStream());
+//
+// } catch (Throwable e) {
+// // TODO Auto-generated catch block
+// throw new SQLException(e);
+// }
+// } else if (object instanceof Blob){
+// Blob b = (Blob)object;
+// try {
+// result = ObjectConverterUtil.convertToString(b.getBinaryStream());
+//
+// } catch (Throwable e) {
+// // TODO Auto-generated catch block
+// throw new SQLException(e);
+// }
+// } else if (object instanceof SQLXML){
+// SQLXML s = (SQLXML)object;
+// try {
+// result = ObjectConverterUtil.convertToString(s.getBinaryStream());
+//
+// } catch (Throwable e) {
+// // TODO Auto-generated catch block
+// throw new SQLException(e);
+// }
+// }
+// } else {
+// result = object.toString();
+// }
+//
+// // System.out.println("ProductObject (before encoding): " +
object.toString() );
+// // try {
+// objectElement.setText(result);
+// // URLEncoder.encode(object.toString(), "UTF-8"));
+// // } catch (UnsupportedEncodingException e) {
+// // UTF-8 is supported natively by all jvms
+// // }
+//// System.out.println("ProductObject (after encoding): " +
objectElement.getText() );
+//
+//
+// if ( parent != null ) {
+// objectElement = parent.addContent(objectElement);
+// }
+//
+// return objectElement;
+
+ }
+
/**
* Consume an XML message and update the specified Long instance.
* <br>
@@ -1242,8 +1327,7 @@
*/
private Element produceObject(Object object, Element parent) throws JDOMException,
SQLException {
- System.out.println("PRODUCT OBJECT");
- // ----------------------
+ // ----------------------
// Create the Object element ...
// ----------------------
Element objectElement = new Element(TagNames.Elements.OBJECT);
@@ -1283,14 +1367,7 @@
result = object.toString();
}
- // System.out.println("ProductObject (before encoding): " +
object.toString() );
- // try {
- objectElement.setText(result);
- // URLEncoder.encode(object.toString(), "UTF-8"));
- // } catch (UnsupportedEncodingException e) {
- // UTF-8 is supported natively by all jvms
- // }
-// System.out.println("ProductObject (after encoding): " +
objectElement.getText() );
+ objectElement.setText(result);
if ( parent != null ) {
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -31,6 +31,7 @@
import org.teiid.core.util.SqlUtil;
import org.teiid.test.client.ExpectedResults;
+import org.teiid.test.client.TestProperties;
import org.teiid.test.client.ctc.ResultsHolder;
import org.teiid.test.framework.TestLogger;
import org.teiid.test.framework.exception.QueryTestFailedException;
@@ -72,7 +73,13 @@
throws QueryTestFailedException {
return false;
}
+
+ public boolean isExpectedResultsNeeded() {
+ return true;
+ }
+
+
@Override
public String getQuerySetID() {
return this.querySetIdentifier;
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/TransactionContainer.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/TransactionContainer.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/TransactionContainer.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -30,7 +30,7 @@
".");
try {
- detail("Start transaction test: " + test.getTestName());
+ debug("Start transaction test: " + test.getTestName());
try {
@@ -50,7 +50,7 @@
runTest(test);
- detail("Completed transaction test: " + test.getTestName());
+ debug("Completed transaction test: " + test.getTestName());
} finally {
debug(" test.cleanup");
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/connection/ConnectionStrategyFactory.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/connection/ConnectionStrategyFactory.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/connection/ConnectionStrategyFactory.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -38,15 +38,15 @@
if
(type.equalsIgnoreCase(ConfigPropertyNames.CONNECTION_TYPES.DRIVER_CONNECTION)) {
// pass in null to create new strategy
strategy = new DriverConnection(props);
- TestLogger.log("Created Driver Strategy");
+ TestLogger.logDebug("Created Driver Strategy");
}
else if
(type.equalsIgnoreCase(ConfigPropertyNames.CONNECTION_TYPES.DATASOURCE_CONNECTION)) {
strategy = new DataSourceConnection(props);
- TestLogger.log("Created DataSource Strategy");
+ TestLogger.logDebug("Created DataSource Strategy");
}
else if
(type.equalsIgnoreCase(ConfigPropertyNames.CONNECTION_TYPES.JNDI_CONNECTION)) {
strategy = new JEEConnection(props);
- TestLogger.log("Created JEE Strategy");
+ TestLogger.logDebug("Created JEE Strategy");
}
if (strategy == null) {
Modified:
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/datasource/DataSourceMgr.java
===================================================================
---
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/datasource/DataSourceMgr.java 2010-11-12
02:26:12 UTC (rev 2720)
+++
branches/7.1.x/test-integration/db/src/main/java/org/teiid/test/framework/datasource/DataSourceMgr.java 2010-11-12
18:38:38 UTC (rev 2721)
@@ -184,7 +184,7 @@
private void loadDataSourceMappings() throws QueryTestFailedException {
if (ConfigPropertyLoader.getInstance().isDataStoreDisabled()) {
- TestLogger.log("DataStore usage has been disabled");
+ TestLogger.logDebug("DataStore usage has been disabled");
return;
}
@@ -192,9 +192,9 @@
if (dsloc == null || dsloc.indexOf(UNASSIGNEDDSLOC) > -1) {
dsloc = DEFAULT_DATASOURCES_LOC;
- TestLogger.log("Using default datasource loc: " +dsloc);
+ TestLogger.logDebug("Using default datasource loc: " +dsloc);
} else {
- TestLogger.log("Using override for datasources loc: " + dsloc);
+ TestLogger.logDebug("Using override for datasources loc: " + dsloc);
}
File[] dirs = findAllChildDirectories(dsloc);
@@ -281,7 +281,7 @@
DataSource ds = new DataSource(datasourcedir.getName(), "dsgroup",
dsprops);
datasources.put(ds.getName(), ds);
- TestLogger.log("Loaded datasource " + ds.getName());
+ TestLogger.logDebug("Loaded datasource " + ds.getName());
}