MinIO Containers
Testcontainers can be used to automatically instantiate and manage MinIO containers.
Usage example
Create a MinIOContainer
to use it in your tests:
MinIOContainer container = new MinIOContainer("minio/minio:RELEASE.2023-09-04T19-57-37Z");
The MinIO Java client can be configured with the container as such:
MinioClient minioClient = MinioClient
.builder()
.endpoint(container.getS3URL())
.credentials(container.getUserName(), container.getPassword())
.build();
If needed the username and password can be overridden as such:
MinIOContainer container = new MinIOContainer("minio/minio:RELEASE.2023-09-04T19-57-37Z")
.withUserName("testuser")
.withPassword("testpassword");
Adding this module to your project dependencies
Add the following dependency to your pom.xml
/build.gradle
file:
testImplementation "org.testcontainers:minio:1.20.4"
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>minio</artifactId>
<version>1.20.4</version>
<scope>test</scope>
</dependency>