Package net.shibboleth.shared.testing
Class DatabaseTestingSupport
java.lang.Object
net.shibboleth.shared.testing.DatabaseTestingSupport
Helper class for testing database-backed classes using custom DDL and SQL.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static voidExecuteUpdate(String sql, DataSource source) Execute an SQP update.static DataSourceGetDataSourceFromHsqlServer(String initializingSQLFile, String server) Summons up a database connection to an hsqldb server running somewhere.protected static DataSourceGetDataSourceFromUrl(String initializingSQLFile, String JdbcUri) Createa data source from a provided URL.static DataSourceGetMockDataSource(String initializingSQLFile, String identifier) Summons up an in memory database with the provided identifier.static voidInitializeDataSource(String initializingSQLFile, DataSource source) Initialize SQL database.static voidInitializeDataSourceFromFile(String sqlFile, DataSource source) Initialize SQL database.protected static StringReadSqlFromFile(String initializingSQLFile) Read some SQL from a file.
-
Field Details
-
log
@Nonnull private static org.slf4j.Logger logLogger.
-
-
Constructor Details
-
DatabaseTestingSupport
private DatabaseTestingSupport()Hidden constructor.
-
-
Method Details
-
InitializeDataSource
public static void InitializeDataSource(@Nullable String initializingSQLFile, @Nonnull DataSource source) Initialize SQL database.- Parameters:
initializingSQLFile- path to SQL to run at init timesource- the data source
-
ReadSqlFromFile
Read some SQL from a file.- Parameters:
initializingSQLFile- the file name- Returns:
- the data
-
ExecuteUpdate
Execute an SQP update.- Parameters:
sql- what to executesource- what to executer it on
-
GetMockDataSource
@Nonnull public static DataSource GetMockDataSource(@Nonnull String initializingSQLFile, @Nonnull String identifier) Summons up an in memory database with the provided identifier. The contents of the resource stream (if any) are then submitted to the database (so as to allow initializing to a known state.- Parameters:
initializingSQLFile- a file in the classpath with SQL filesidentifier- a name to uniquify this database.- Returns:
- a DataSource which can then be used for testing.
-
GetDataSourceFromHsqlServer
@Nonnull public static DataSource GetDataSourceFromHsqlServer(@Nonnull String initializingSQLFile, @Nonnull String server) Summons up a database connection to an hsqldb server running somewhere.- Parameters:
initializingSQLFile- a file in the classpath with SQL filesserver- the server name and database name. For instance "//localhost/testdb"- Returns:
- a DataSource which can then be used for testing
-
InitializeDataSourceFromFile
Initialize SQL database.- Parameters:
sqlFile- path to file containing multiple SQL statements separated by semicolons.source- data source
-
GetDataSourceFromUrl
@Nonnull protected static DataSource GetDataSourceFromUrl(@Nonnull String initializingSQLFile, @Nonnull String JdbcUri) Createa data source from a provided URL.- Parameters:
initializingSQLFile- what to initialize withJdbcUri- the URI- Returns:
- the
DataSource
-