|
15 | 15 | import io.r2dbc.spi.ConnectionFactoryOptions; |
16 | 16 | import org.junit.jupiter.api.Test; |
17 | 17 | import org.mariadb.r2dbc.MariadbConnectionConfiguration; |
| 18 | +import org.mariadb.r2dbc.util.HostAddress; |
18 | 19 | import reactor.core.publisher.Mono; |
19 | 20 | import reactor.test.StepVerifier; |
20 | 21 |
|
@@ -208,6 +209,37 @@ public void testStandardConnectionOptionsAreCompatibleWithMariaDbDriver() { |
208 | 209 | () -> MariadbConnectionConfiguration.fromOptions(options).build()); |
209 | 210 | } |
210 | 211 |
|
| 212 | + @Test |
| 213 | + public void testStoredPoolUrlIsCompatibleWithMariaDbDriver() { |
| 214 | + DatasourceConfiguration dsConfig = getDatasourceConfigurationWithStandardConnectionMethod(); |
| 215 | + dsConfig.setEndpoints(List.of()); |
| 216 | + dsConfig.setUrl("r2dbc:pool:mariadb://mysqlHost:3306/dbname"); |
| 217 | + ConnectionFactoryOptions options = |
| 218 | + MySqlDatasourceUtils.getBuilder(dsConfig, null).build(); |
| 219 | + |
| 220 | + MariadbConnectionConfiguration configuration = assertDoesNotThrow( |
| 221 | + () -> MariadbConnectionConfiguration.fromOptions(options).build()); |
| 222 | + assertEquals("mariadb", options.getValue(DRIVER)); |
| 223 | + assertNull(options.getValue(PROTOCOL)); |
| 224 | + assertEquals(List.of(new HostAddress("mysqlHost", 3306)), configuration.getHostAddresses()); |
| 225 | + } |
| 226 | + |
| 227 | + @Test |
| 228 | + public void testMultipleEndpointsAreCompatibleWithMariaDbDriver() { |
| 229 | + DatasourceConfiguration dsConfig = getDatasourceConfigurationWithStandardConnectionMethod(); |
| 230 | + dsConfig.setEndpoints(List.of(new Endpoint("primaryHost", 3306L), new Endpoint("replicaHost", 3307L))); |
| 231 | + ConnectionFactoryOptions options = |
| 232 | + MySqlDatasourceUtils.getBuilder(dsConfig, null).build(); |
| 233 | + |
| 234 | + MariadbConnectionConfiguration configuration = assertDoesNotThrow( |
| 235 | + () -> MariadbConnectionConfiguration.fromOptions(options).build()); |
| 236 | + assertEquals("mariadb", options.getValue(DRIVER)); |
| 237 | + assertNull(options.getValue(PROTOCOL)); |
| 238 | + assertEquals( |
| 239 | + List.of(new HostAddress("primaryHost", 3306), new HostAddress("replicaHost", 3307)), |
| 240 | + configuration.getHostAddresses()); |
| 241 | + } |
| 242 | + |
211 | 243 | @Test |
212 | 244 | public void testSslToggleMissingError() { |
213 | 245 | DatasourceConfiguration datasourceConfiguration = getDatasourceConfigurationWithStandardConnectionMethod(); |
|
0 commit comments