#2001 - Add convenient alternative to set read-only url (on the main DataSourceConfig)

This commit is contained in:
rob bygrave
2020-04-30 23:19:08 +12:00
parent dbe473d5a1
commit 6f194ce95d
3 changed files with 69 additions and 16 deletions
@@ -52,6 +52,15 @@ public class InitDataSourceTest {
assertNotNull(new InitDataSource(config).readOnlyConfig());
}
@Test
public void readOnlyConfig_when_autoReadOnlyDataSource_expect_setToNull() {
ServerConfig config = newConfig("none");
config.setAutoReadOnlyDataSource(true);
final DataSourceConfig readOnlyConfig = new InitDataSource(config).readOnlyConfig();
assertNull(readOnlyConfig.getUrl());
}
@Test
public void readOnlyConfig_when_urlSet() {
ServerConfig config = newConfig("foo");
@@ -61,6 +70,48 @@ public class InitDataSourceTest {
assertEquals("foo", roConfig.getUrl());
}
@Test
public void readOnlyConfig_when_readOnlyUrlSetOnMain() {
ServerConfig config = newConfig(null);
// alternate location to set read-only url for developer convenience
config.getDataSourceConfig().setReadOnlyUrl("bar");
final DataSourceConfig roConfig = new InitDataSource(config).readOnlyConfig();
assertNotNull(roConfig);
assertEquals("bar", roConfig.getUrl());
}
@Test
public void readOnlyConfig_when_readOnlyUrlSetOnMain_withNone() {
ServerConfig config = newConfig("None");
// alternate location to set read-only url for developer convenience
config.getDataSourceConfig().setReadOnlyUrl("bar");
final DataSourceConfig roConfig = new InitDataSource(config).readOnlyConfig();
assertNotNull(roConfig);
assertEquals("bar", roConfig.getUrl());
}
@Test
public void readOnlyConfig_when_bothReadOnlyUrlsSet() {
ServerConfig config = newConfig("one");
config.getDataSourceConfig().setReadOnlyUrl("two");
final DataSourceConfig roConfig = new InitDataSource(config).readOnlyConfig();
assertNotNull(roConfig);
assertEquals("one", roConfig.getUrl());
}
@Test
public void readOnlyConfig_when_readOnlyUrlSetOnMain_withNoneNone() {
ServerConfig config = newConfig("none");
// alternate location to set read-only url for developer convenience
config.getDataSourceConfig().setReadOnlyUrl("none");
final DataSourceConfig roConfig = new InitDataSource(config).readOnlyConfig();
assertNull(roConfig);
}
@Test
public void readOnlyConfig_when_urlSet_2() {
ServerConfig config = new ServerConfig();