Class JdbiH2Extension
java.lang.Object
org.jdbi.v3.testing.junit5.JdbiExtension
org.jdbi.v3.testing.junit5.JdbiH2Extension
- All Implemented Interfaces:
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver, TestInstantiationAwareExtension
Jdbi H2 JUnit 5 rule.
Override methods for special case construction:
@RegisterExtension
public JdbiExtension extension = new JdbiH2Extension() {
@Override
protected DataSource createDataSource() {
...
}
};
Use with ExtendWith:
@ExtendWith(JdbiH2Extension.class)
public class DatabaseTest {
@Test
public void testWithJdbi(Jdbi jdbi) {
...
}
@Test
public void testWithHandle(Handle handle) {
...
}
}
-
Nested Class Summary
Nested classes/interfaces inherited from interface TestInstantiationAwareExtension
TestInstantiationAwareExtension.ExtensionContextScope -
Constructor Summary
ConstructorsConstructorDescriptionJdbiH2Extension(String options) Allows setting the options string for the H2 database. -
Method Summary
Modifier and TypeMethodDescriptiongetUrl()Returns a JDBC url representing the data source used by this extension.withCredentials(String user, String password) Sets the H2 username and password.Sets the H2 username.Methods inherited from class JdbiExtension
afterAll, afterEach, attach, beforeAll, beforeEach, enableLeakChecker, externalPostgres, getJdbi, getSharedHandle, h2, installPlugins, openHandle, otjEmbeddedPostgres, postgres, resolveParameter, sqlite, supportsParameter, withConfig, withInitializer, withPlugin, withPluginsModifier and TypeMethodDescriptionvoidafterAll(ExtensionContext context) voidafterEach(ExtensionContext context) final <T> TConvenience method to attach an extension (such as a SqlObject) to the shared handle.voidbeforeAll(ExtensionContext context) voidbeforeEach(ExtensionContext context) final JdbiExtensionenableLeakChecker(boolean enable) Enable tracking of cleanable resources and handles when running tests.static JdbiExtensionCreates an extension that uses an external (outside the scope of an unit test class) postgres database.final JdbigetJdbi()Returns aJdbiinstance linked to the data source used by this extension.final HandleReturns a sharedHandleused by the extension.static JdbiExtensionh2()Creates a new extension using the H2 database.final JdbiExtensionDeprecated, for removal: This API element is subject to removal in a future version.Registering plugins implicitly is less reliable.final HandleOpen a newHandleto the used data source.static JdbiOtjPostgresExtensionCreates a new extension using a managed, embedded postgres database.static JdbiExtensionpostgres(de.softwareforge.testing.postgres.junit5.EmbeddedPgExtension pg) Creates a new extension using a managed, embedded postgres database.resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) static JdbiExtensionsqlite()Creates a new extension using the SQLite database.booleansupportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) final <C extends JdbiConfig<C>>
JdbiExtensionwithConfig(Class<C> configClass, Consumer<C> configurer) Set aJdbiConfigparameter when creating theJdbiinstance.final JdbiExtensionwithInitializer(JdbiExtensionInitializer initializer) Sets aJdbiExtensionInitializerto initialize theJdbiinstance or the attached data source before running a test.final JdbiExtensionwithPlugin(JdbiPlugin plugin) Install aJdbiPluginwhen creating theJdbiinstance.final JdbiExtensionwithPlugins(JdbiPlugin... pluginList) Install multipleJdbiPlugins when creating theJdbiinstance.Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface TestInstantiationAwareExtension
getTestInstantiationExtensionContextScope
-
Constructor Details
-
JdbiH2Extension
public JdbiH2Extension() -
JdbiH2Extension
Allows setting the options string for the H2 database. The value here is appended to the database URL.- Parameters:
options- The options string. Must not be null. May start with a semicolon.
-
-
Method Details
-
withUser
Sets the H2 username.- Parameters:
user- The username. Can be null.- Returns:
- This object.
-
withCredentials
Sets the H2 username and password.- Parameters:
user- The username. Can be null.password- The password. Can be null.- Returns:
- This object.
-
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.
-