Class JdbiH2Extension

java.lang.Object
org.jdbi.v3.testing.junit5.JdbiExtension
org.jdbi.v3.testing.junit5.JdbiH2Extension
All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.ParameterResolver

public class JdbiH2Extension extends JdbiExtension
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) {
         ...
     }
 }
 
  • Constructor Details

    • JdbiH2Extension

      public JdbiH2Extension()
    • JdbiH2Extension

      public JdbiH2Extension(String options)
      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

      public JdbiH2Extension withUser(String user)
      Sets the H2 username.
      Parameters:
      user - The username. Can be null.
      Returns:
      This object.
    • withCredentials

      public JdbiH2Extension withCredentials(String user, String password)
      Sets the H2 username and password.
      Parameters:
      user - The username. Can be null.
      password - The password. Can be null.
      Returns:
      This object.
    • getUrl

      public String getUrl()
      Description copied from class: JdbiExtension
      Returns 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. the JdbiSqliteExtension returns a constant uri for all database instances).
      Specified by:
      getUrl in class JdbiExtension
      Returns:
      A string representing the JDBC URL.