Class R2DBCMariaDBTestResourceProvider

java.lang.Object
io.micronaut.testresources.testcontainers.AbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>
io.micronaut.testresources.r2dbc.core.AbstractR2DBCTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
io.micronaut.testresources.r2dbc.mariadb.R2DBCMariaDBTestResourceProvider
All Implemented Interfaces:
io.micronaut.core.order.Ordered, TestResourcesResolver, ToggableTestResourcesResolver

public class R2DBCMariaDBTestResourceProvider extends AbstractR2DBCTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
A test resource provider for reactive MariaDB.
  • Field Details

  • Constructor Details

    • R2DBCMariaDBTestResourceProvider

      public R2DBCMariaDBTestResourceProvider()
  • Method Details

    • getDisplayName

      public String getDisplayName()
      Description copied from interface: TestResourcesResolver
      Returns a display name for a test resources resolver, used for debugging purposes.
      Returns:
      the display name
    • getSimpleName

      protected String getSimpleName()
      Description copied from class: AbstractTestContainersProvider
      Returns the name of the resource resolver, for example "kafka" or "mysql".
      Specified by:
      getSimpleName in class AbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>
      Returns:
      the name of the resolver
    • getDefaultImageName

      protected String getDefaultImageName()
      Description copied from class: AbstractTestContainersProvider
      Returns the default image name.
      Specified by:
      getDefaultImageName in class AbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>
      Returns:
      the default image name.
    • supportsMultipleDatabases

      protected boolean supportsMultipleDatabases()
      Description copied from class: AbstractR2DBCTestResourceProvider
      Indicates whether this provider can create additional logical databases inside the same running container. Subclasses overriding this method must also implement the matching database-creation hooks for the same container type.
      Overrides:
      supportsMultipleDatabases in class AbstractR2DBCTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
      Returns:
      true when additional logical databases are supported
    • createAdditionalDatabase

      protected void createAdditionalDatabase(org.testcontainers.mariadb.MariaDBContainer container, String databaseName)
      Description copied from class: AbstractR2DBCTestResourceProvider
      Creates an additional logical database inside an already started container. This is only invoked when AbstractR2DBCTestResourceProvider.supportsMultipleDatabases() returns true, so subclasses should override both hooks together.
      Overrides:
      createAdditionalDatabase in class AbstractR2DBCTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
      Parameters:
      container - the running container
      databaseName - the database to create
    • extractDefaultDatabaseName

      protected Optional<String> extractDefaultDatabaseName(org.testcontainers.mariadb.MariaDBContainer container)
      Description copied from class: AbstractR2DBCTestResourceProvider
      Extracts the default logical database name already configured on the running container. Subclasses may override when the provider can compare requested databases against a provider-specific default.
      Overrides:
      extractDefaultDatabaseName in class AbstractR2DBCTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
      Parameters:
      container - the running container
      Returns:
      the default logical database name, if one can be derived
    • extractOptions

      protected Optional<io.r2dbc.spi.ConnectionFactoryOptions> extractOptions(org.testcontainers.containers.GenericContainer<?> container)
      Specified by:
      extractOptions in class AbstractR2DBCTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
    • createContainer

      protected org.testcontainers.mariadb.MariaDBContainer createContainer(org.testcontainers.utility.DockerImageName imageName, Map<String,Object> requestedProperties, Map<String,Object> testResourcesConfig)
      Description copied from class: AbstractTestContainersProvider
      Creates the test container.
      Specified by:
      createContainer in class AbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>
      Parameters:
      imageName - the docker image name
      requestedProperties - the resolved properties
      testResourcesConfig - the test resources configuration
      Returns:
      a container