Class MariaDBTestResourceProvider
java.lang.Object
io.micronaut.testresources.testcontainers.AbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>
io.micronaut.testresources.jdbc.AbstractJdbcTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
io.micronaut.testresources.mariadb.MariaDBTestResourceProvider
- All Implemented Interfaces:
io.micronaut.core.order.Ordered, TestResourcesResolver, ToggableTestResourcesResolver
public class MariaDBTestResourceProvider
extends AbstractJdbcTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>
A test resource provider which will spawn a MariaDB test container.
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractTestContainersProvider
AbstractTestContainersProvider.ContainerCommand -
Field Summary
FieldsFields inherited from class AbstractJdbcTestResourceProvider
PREFIX, RESOURCE_NAMEFields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEFields inherited from interface TestResourcesResolver
TEST_RESOURCES_PROPERTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcreateAdditionalDatabase(org.testcontainers.mariadb.MariaDBContainer container, String databaseName) Creates an additional logical database inside an already started container.protected org.testcontainers.mariadb.MariaDBContainercreateContainer(org.testcontainers.utility.DockerImageName imageName, Map<String, Object> requestedProperties, Map<String, Object> testResourcesConfig) Creates the test container.protected StringReturns the default image name.Returns a display name for a test resources resolver, used for debugging purposes.protected StringReturns the name of the resource resolver, for example "kafka" or "mysql".protected StringjdbcUrlFor(org.testcontainers.mariadb.MariaDBContainer container, String databaseName) Builds a JDBC URL that targets the supplied logical database on the running container.protected booleanIndicates whether this provider can create additional logical databases inside the same running container.Methods inherited from class AbstractJdbcTestResourceProvider
configureContainer, datasourceExpressionOf, datasourceNameFrom, datasourcePropertyFrom, findRequestedDatabaseName, getContainerOwnerKey, getContainerQuery, getDbTypes, getRequiredProperties, getRequiredPropertyEntries, getResolvableProperties, isDatasourceExpression, prepareContainer, resolveDbSpecificProperty, resolveDbSpecificProperty, resolveJdbcUrl, resolveProperty, resolveProperty, shouldAnswerMethods inherited from class AbstractTestContainersProvider
executeInContainer, getDefaultStartupTimeout, getName, getOrder, resolve, resolveWithoutContainer, stringOrNullMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface TestResourcesResolver
getIdMethods inherited from interface ToggableTestResourcesResolver
isEnabled
-
Field Details
-
DISPLAY_NAME
- See Also:
-
-
Constructor Details
-
MariaDBTestResourceProvider
public MariaDBTestResourceProvider()
-
-
Method Details
-
getDisplayName
Description copied from interface:TestResourcesResolverReturns a display name for a test resources resolver, used for debugging purposes.- Returns:
- the display name
-
getSimpleName
Description copied from class:AbstractTestContainersProviderReturns the name of the resource resolver, for example "kafka" or "mysql".- Specified by:
getSimpleNamein classAbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>- Returns:
- the name of the resolver
-
getDefaultImageName
Description copied from class:AbstractTestContainersProviderReturns the default image name.- Specified by:
getDefaultImageNamein classAbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>- Returns:
- the default image name.
-
supportsMultipleDatabases
protected boolean supportsMultipleDatabases()Description copied from class:AbstractJdbcTestResourceProviderIndicates 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:
supportsMultipleDatabasesin classAbstractJdbcTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>- Returns:
truewhen additional logical databases are supported
-
createAdditionalDatabase
protected void createAdditionalDatabase(org.testcontainers.mariadb.MariaDBContainer container, String databaseName) Description copied from class:AbstractJdbcTestResourceProviderCreates an additional logical database inside an already started container. This is only invoked whenAbstractJdbcTestResourceProvider.supportsMultipleDatabases()returnstrue, so subclasses overriding one hook should override the other as a matching pair.- Overrides:
createAdditionalDatabasein classAbstractJdbcTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>- Parameters:
container- the running containerdatabaseName- the database to create
-
jdbcUrlFor
protected String jdbcUrlFor(org.testcontainers.mariadb.MariaDBContainer container, String databaseName) Description copied from class:AbstractJdbcTestResourceProviderBuilds 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:
jdbcUrlForin classAbstractJdbcTestResourceProvider<org.testcontainers.mariadb.MariaDBContainer>- Parameters:
container- the running containerdatabaseName- the logical database name requested by the caller- Returns:
- the JDBC URL for that database
-
createContainer
protected org.testcontainers.mariadb.MariaDBContainer createContainer(org.testcontainers.utility.DockerImageName imageName, Map<String, Object> requestedProperties, Map<String, Object> testResourcesConfig) Description copied from class:AbstractTestContainersProviderCreates the test container.- Specified by:
createContainerin classAbstractTestContainersProvider<org.testcontainers.mariadb.MariaDBContainer>- Parameters:
imageName- the docker image namerequestedProperties- the resolved propertiestestResourcesConfig- the test resources configuration- Returns:
- a container
-