/*
* JBoss, Home of Professional Open Source.
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership. Some portions may be licensed
* to Red Hat, Inc. under one or more contributor license agreements.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*/
package org.teiid.test.client;
/**
* The TestResult represents the results from a single test. A single test can include 1 or more sql commands that
* are considered 1 inclusive test.
*
* @author vanhalbert
*
*/
@SuppressWarnings("nls")
public interface TestResult {
/**
* The RESULT_STATE is the value assigned based the result of the executed
* query test
*
* @author vanhalbert
*
*/
public interface RESULT_STATE {
/**
* TEST_SUCCESS - indicates the executed query performed as expected
*/
public static final int TEST_SUCCESS = 0;
/**
* TEST_EXCEPTION - indicates an unexpected exception occurred during
* the execution of the query
*/
public static final int TEST_EXCEPTION = 1;
/**
* TEST_EXPECTED_EXCEPTION - indicates the expected result was suppose
* to an exception, how, the query executed without error
*/
public static final int TEST_EXPECTED_EXCEPTION = 4;
}
public interface RESULT_STATE_STRING {
/**
* The string value for when a
* {@link TestResult.RESULT_STATE#TEST_SUCCESS occurs
*/
public static final String PASS = "pass";
/**
* The string value for when a
* {@link TestResult.RESULT_STATE#TEST_EXCEPTION occurs
*/
public static final String FAIL = "fail";
/**
* The string value for when a
* {@link TestResult.RESULT_STATE#TEST_EXPECTED_EXCEPTION occurs
*/
public static final String FAIL_EXPECTED_EXCEPTION = "fail-expected_exception";
/**
* The string value for when a status occurs that hasn't been defined
*/
public static final String UNKNOWN = "unknown";
}
/**
* Return the id the uniquely identifies the query set.
*
* @return String is the query set id
*/
String getQuerySetID();
/**
* Return the id that uniquely identifies the query within the query set
* {@link #getQuerySetID()}.
*
* @return
*
* @since
*/
String getQueryID();
/**
* Return the query that was executed in order to produce this result.
*
* @return
*
* @since
*/
String getQuery();
/**
* Return the status of the execution of this query {@link #getQuery();
* @see TestResult.RESULT_STATE
* @return
*
* @since
*/
int getStatus();
/**
* Call to set the status for this test result.
* @see TestResult.RESULT_STATE
* @param status
*/
void setStatus(int status);
/**
* Return the result status in string format.
* @return String
*/
String getResultStatusString();
/**
* If the result from this query produced an exception, then this method
* should return the <code>String</code> representation of the exception.
*
* @return
*
* @since
*/
String getExceptionMsg();
Throwable getException();
/**
* Set the exception that indicates the reason why there is a problem
* with the results. Call {@link #setExceptionMessage(String)} to display
* a different message in the summary file.
* @param error
*/
void setException(Throwable error);
/**
* Set the error message relating to the reason why there is a problem
* with the results.
* @param errorMsg
*/
void setExceptionMessage(String errorMsg);
/**
* Return the time (in a long value) that this query started.
*
* @return long representation of begin time
*
* @since
*/
long getBeginTS();
void setBeginTS(long beginTS);
/**
* Return the time (in a long value) that this query ended
*
* @return long representation of end time
*
* @since
*/
long getEndTS();
void setEndTS(long endTS);
/**
* @return Returns the name of errorfile where the error results were
* written.
*/
String getErrorfile();
void setErrorFile(String errorFile);
}