File tree Expand file tree Collapse file tree 2 files changed +68
-0
lines changed
main/java/org/testcontainers/mariadb
test/java/org/testcontainers/mariadb Expand file tree Collapse file tree 2 files changed +68
-0
lines changed Original file line number Diff line number Diff line change 1+ package org .testcontainers .mariadb ;
2+
3+ import io .r2dbc .spi .ConnectionFactoryOptions ;
4+ import org .mariadb .r2dbc .MariadbConnectionFactoryProvider ;
5+ import org .testcontainers .r2dbc .R2DBCDatabaseContainer ;
6+
7+ public class MariaDBR2DBCDatabaseContainer implements R2DBCDatabaseContainer {
8+
9+ private final MariaDBContainer container ;
10+
11+ public MariaDBR2DBCDatabaseContainer (MariaDBContainer container ) {
12+ this .container = container ;
13+ }
14+
15+ public static ConnectionFactoryOptions getOptions (MariaDBContainer container ) {
16+ ConnectionFactoryOptions options = ConnectionFactoryOptions
17+ .builder ()
18+ .option (ConnectionFactoryOptions .DRIVER , MariadbConnectionFactoryProvider .MARIADB_DRIVER )
19+ .build ();
20+
21+ return new MariaDBR2DBCDatabaseContainer (container ).configure (options );
22+ }
23+
24+ @ Override
25+ public ConnectionFactoryOptions configure (ConnectionFactoryOptions options ) {
26+ return options
27+ .mutate ()
28+ .option (ConnectionFactoryOptions .HOST , container .getHost ())
29+ .option (ConnectionFactoryOptions .PORT , container .getMappedPort (MariaDBContainer .MARIADB_PORT ))
30+ .option (ConnectionFactoryOptions .DATABASE , container .getDatabaseName ())
31+ .option (ConnectionFactoryOptions .USER , container .getUsername ())
32+ .option (ConnectionFactoryOptions .PASSWORD , container .getPassword ())
33+ .build ();
34+ }
35+
36+ @ Override
37+ public void start () {
38+ this .container .start ();
39+ }
40+
41+ @ Override
42+ public void stop () {
43+ this .container .stop ();
44+ }
45+ }
Original file line number Diff line number Diff line change 1+ package org .testcontainers .mariadb ;
2+
3+ import io .r2dbc .spi .ConnectionFactoryOptions ;
4+ import org .testcontainers .r2dbc .AbstractR2DBCDatabaseContainerTest ;
5+ import org .testcontainers .utility .DockerImageName ;
6+
7+ public class MariaDBR2DBCDatabaseContainerTest extends AbstractR2DBCDatabaseContainerTest <MariaDBContainer > {
8+
9+ @ Override
10+ protected ConnectionFactoryOptions getOptions (MariaDBContainer container ) {
11+ return MariaDBR2DBCDatabaseContainer .getOptions (container );
12+ }
13+
14+ @ Override
15+ protected String createR2DBCUrl () {
16+ return "r2dbc:tc:mariadb:///db?TC_IMAGE_TAG=10.3.39" ;
17+ }
18+
19+ @ Override
20+ protected MariaDBContainer createContainer () {
21+ return new MariaDBContainer (DockerImageName .parse ("mariadb:10.3.39" ));
22+ }
23+ }
You can’t perform that action at this time.
0 commit comments