Package org.jdbi.v3.testing.junit5.tc
Class JdbiTestcontainersExtension
java.lang.Object
org.jdbi.v3.testing.junit5.JdbiExtension
org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension
- All Implemented Interfaces:
AfterAllCallback,AfterEachCallback,BeforeAllCallback,BeforeEachCallback,Extension,ParameterResolver
Support Testcontainer JDBC containers as database for Jdbi tests.
-
Method Summary
Modifier and TypeMethodDescriptiongetUrl()Returns a JDBC url representing the data source used by this extension.static JdbiExtensioninstance(TestcontainersDatabaseInformation databaseInformation, JdbcDatabaseContainer<?> jdbcDatabaseContainer) Create a newJdbiExtensionthat uses the suppliedJdbcDatabaseContaineras database.static JdbiExtensioninstance(JdbcDatabaseContainer<?> jdbcDatabaseContainer) Create a newJdbiExtensionthat uses the suppliedJdbcDatabaseContaineras database.Methods inherited from class org.jdbi.v3.testing.junit5.JdbiExtension
afterAll, afterEach, attach, beforeAll, beforeEach, enableLeakChecker, externalPostgres, getJdbi, getSharedHandle, h2, installPlugins, openHandle, otjEmbeddedPostgres, postgres, resolveParameter, sqlite, supportsParameter, withConfig, withInitializer, withPlugin, withPlugins
-
Method Details
-
instance
Create a newJdbiExtensionthat uses the suppliedJdbcDatabaseContaineras database. This must be a supported container instance.- Parameters:
jdbcDatabaseContainer- A supportedJdbcDatabaseContainerinstance.- Returns:
- An initialized
JdbiExtensioninstance that uses the database container. - Throws:
IllegalArgumentException- If the provided container class is not supported.
-
instance
public static JdbiExtension instance(TestcontainersDatabaseInformation databaseInformation, JdbcDatabaseContainer<?> jdbcDatabaseContainer) Create a newJdbiExtensionthat uses the suppliedJdbcDatabaseContaineras database.- Parameters:
databaseInformation- ATestcontainersDatabaseInformationinstance that describes how to create new test-isolation databases or schemata.jdbcDatabaseContainer- AJdbcDatabaseContainerinstance.- Returns:
- An initialized
JdbiExtensioninstance that uses the database container.
-
getUrl
Description copied from class:JdbiExtensionReturns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data source outside testing code that uses this extension (e.g. theJdbiSqliteExtensionreturns a constant uri for all database instances).- Specified by:
getUrlin classJdbiExtension- Returns:
- A string representing the JDBC URL.
-