Class PostgreSQLTestResourceProvider

java.lang.Object
io.micronaut.testresources.testcontainers.AbstractTestContainersProvider<org.testcontainers.postgresql.PostgreSQLContainer>
io.micronaut.testresources.jdbc.AbstractJdbcTestResourceProvider<org.testcontainers.postgresql.PostgreSQLContainer>
io.micronaut.testresources.postgres.PostgreSQLTestResourceProvider
All Implemented Interfaces:
io.micronaut.core.order.Ordered, TestResourcesResolver, ToggableTestResourcesResolver

public class PostgreSQLTestResourceProvider extends AbstractJdbcTestResourceProvider<org.testcontainers.postgresql.PostgreSQLContainer>
A test resource provider which will spawn a MySQL test container.
  • Field Details

  • Constructor Details

    • PostgreSQLTestResourceProvider

      public PostgreSQLTestResourceProvider()
  • 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.postgresql.PostgreSQLContainer>
      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.postgresql.PostgreSQLContainer>
      Returns:
      the default image name.
    • getDbTypes

      protected List<String> getDbTypes()
      Description copied from class: AbstractJdbcTestResourceProvider
      Returns the list of db-types supported by this provider.
      Overrides:
      getDbTypes in class AbstractJdbcTestResourceProvider<org.testcontainers.postgresql.PostgreSQLContainer>
      Returns:
      the list of db types
    • supportsMultipleDatabases

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

      protected void createAdditionalDatabase(org.testcontainers.postgresql.PostgreSQLContainer container, String databaseName)
      Description copied from class: AbstractJdbcTestResourceProvider
      Creates an additional logical database inside an already started container. This is only invoked when AbstractJdbcTestResourceProvider.supportsMultipleDatabases() returns true, so subclasses overriding one hook should override the other as a matching pair.
      Overrides:
      createAdditionalDatabase in class AbstractJdbcTestResourceProvider<org.testcontainers.postgresql.PostgreSQLContainer>
      Parameters:
      container - the running container
      databaseName - the database to create
    • jdbcUrlFor

      protected String jdbcUrlFor(org.testcontainers.postgresql.PostgreSQLContainer container, String databaseName)
      Description copied from class: AbstractJdbcTestResourceProvider
      Builds a JDBC URL that targets the supplied logical database on the running container. Subclasses overriding this method should return a URL compatible with the driver exposed by the container.
      Overrides:
      jdbcUrlFor in class AbstractJdbcTestResourceProvider<org.testcontainers.postgresql.PostgreSQLContainer>
      Parameters:
      container - the running container
      databaseName - the logical database name requested by the caller
      Returns:
      the JDBC URL for that database
    • createContainer

      protected org.testcontainers.postgresql.PostgreSQLContainer 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.postgresql.PostgreSQLContainer>
      Parameters:
      imageName - the docker image name
      requestedProperties - the resolved properties
      testResourcesConfig - the test resources configuration
      Returns:
      a container