package org.teiid.test.framework;
import org.teiid.jdbc.ExecutionProperties;
import org.teiid.test.client.TestClientTransaction;
import org.teiid.test.framework.connection.ConnectionStrategy;
import org.teiid.test.framework.datasource.DataSource;
import org.teiid.test.framework.datasource.DataSourceMgr;
import org.teiid.test.framework.datasource.DataStore;
/**
* The following properties can be set in 2 ways:
* <li>set as a System property(..)</li>
* <li>specify it in the config properties file</li>
*
* @author vanhalbert
*
*/
@SuppressWarnings("nls")
public interface ConfigPropertyNames {
/**
* Specify this as a system property to set a specific configuration to use
* otherwise the {@link ConfigPropertyLoader#DEFAULT_CONFIG_FILE_NAME} will be loaded.
*/
public static final String CONFIG_FILE="config";
/**
* For Driver/Datasource connection related properties, {@link ConnectionStrategy}.
*/
/**
* The USE_DATASOURCES_PROP is a comma delimited property that can be used to limit the
* datasources that are in use for the tests. Use the directory name defined in the ddl directory.
* This enables a developers to test a certain datasource without having to remove
* connection.properties files.
*/
public static final String USE_DATASOURCES_PROP = "usedatasources";
/**
* The USE_DATASOURCE_TYPES_PROP is a comma delimited property that can be used to limit the
* types of datasources to be used for the tests. The database type {@link DataSource#DB_TYPE} corresponds to the
* defined types in the resources/ddl directory. By specifying this property, the test will use on data sources
* of the specified types..
*/
public static final String USE_DATASOURCE_TYPES_PROP = "usedatasourcetypes";
/**
* The EXCLUDE_DATASOURCES_PROP is a comma delimited property that can be used to exclude
* certain database types.
* This is done so that whole sets of tests can be excluded when a datasource has been defined
* for a specific database type.
*/
public static final String EXCLUDE_DATASBASE_TYPES_PROP = "excludedatasourcetypes";
/**
* The {@link #OVERRIDE_DATASOURCES_LOC}, when specified, will override the default
* defined for {@link DataSourceMgr#DEFAULT_DATASOURCES_LOC};
*
*/
public static final String OVERRIDE_DATASOURCES_LOC = "datasourceloc";
/**
* If {@link DISABLE_DATASTORES} is specified, then the assumption is that configuration related
* to the datastores is being handled out side of the test framework.
* This include not performing the following:
* <li>{@link DataStore} will not called to configure the data prior to running a test</li>
* <li>The connector bindings will not be configured as part of the {@link ConnectionStrategy} vdb configuration.
* The vdb must have the binding(s) defined. </li>
*
* The {@link TestClientTransaction} will be using this option because the data is already assumed configured in its respective database.
*/
public static final String DISABLE_DATASTORES = "disable_datastore";
/**
* Connection Type indicates the type of connection (strategy) to use when
* connecting to Teiid.
* Options are {@link CONNECTION_TYPES}
*/
public static final String CONNECTION_TYPE = "connection-type"; //$NON-NLS-1$
/**
* {@see #CONNECTION_TYPE} regarding setting the specific connection type to use
* when connecting to Teiid
* @author vanhalbert
*
*/
public interface CONNECTION_TYPES {
// used to create the jdb driver
public static final String DRIVER_CONNECTION = "driver"; //$NON-NLS-1$
// used to create a datasource
public static final String DATASOURCE_CONNECTION = "datasource"; //$NON-NLS-1$
// used for when embedded is running in an appserver
public static final String JNDI_CONNECTION = "jndi"; //$NON-NLS-1$
}
/**
* Connection Props are the {@link CONNECTION_STRATEGY} execution options
* @author vanhalbert
*
*/
public interface CONNECTION_STRATEGY_PROPS {
public static final String TXN_AUTO_WRAP = ExecutionProperties.PROP_TXN_AUTO_WRAP;
public static final String AUTOCOMMIT = "autocommit"; //$NON-NLS-1$
public static final String FETCH_SIZE = ExecutionProperties.PROP_FETCH_SIZE;
public static final String EXEC_IN_BATCH = "execute.in.batch"; //$NON-NLS-1$
public static final String CONNECTOR_BATCH = "connector-batch"; //$NON-NLS-1$
public static final String PROCESS_BATCH = "process-batch"; //$NON-NLS-1$
public static final String JNDINAME_USERTXN = "usertxn-jndiname"; //$NON-NLS-1$
}
public interface TXN_AUTO_WRAP_OPTIONS {
public static final String AUTO_WRAP_OFF = ExecutionProperties.TXN_WRAP_OFF; //$NON-NLS-1$
public static final String AUTO_WRAP_ON = ExecutionProperties.TXN_WRAP_ON; //$NON-NLS-1$
public static final String AUTO_WRAP_AUTO = ExecutionProperties.TXN_WRAP_DETECT; //$NON-NLS-1$
}
}