package org.springframework.cloud.heroku; import static org.junit.Assert.assertEquals; import org.springframework.cloud.service.common.RelationalServiceInfo; /** * @author Ramnivas Laddad */ public abstract class AbstractHerokuConnectorRelationalServiceTest extends AbstractHerokuConnectorTest { private String databaseType; public AbstractHerokuConnectorRelationalServiceTest(String databaseType) { this.databaseType = databaseType; } protected String getJdbcUrl(String name) { String jdbcUrlDatabaseType = databaseType; if (databaseType.equals("postgres")) { jdbcUrlDatabaseType = "postgresql"; } return "jdbc:" + jdbcUrlDatabaseType + "://" + hostname + ":" + port + "/" + name + "?user=" + username + "&password=" + password; } protected String getRelationalServiceUrl(String name) { String template = "$databaseType://$username:$password@$host:$port/$database"; return template.replace("$databaseType", databaseType). replace("$username", username). replace("$password", password). replace("$host", hostname). replace("$port", Integer.toString(port)). replace("$database", name); } protected void assertReleationServiceInfo(RelationalServiceInfo serviceInfo, String databaseName) { assertEquals(hostname, serviceInfo.getHost()); assertEquals(port, serviceInfo.getPort()); assertEquals(username, serviceInfo.getUserName()); assertEquals(password, serviceInfo.getPassword()); assertEquals(getJdbcUrl(databaseName), serviceInfo.getJdbcUrl()); } }