Clean datasource for tests

This commit is contained in:
Hubert Van De Walle 2020-06-18 17:51:28 +02:00
parent a786cc848c
commit 0ed9905ff5
2 changed files with 9 additions and 10 deletions

View File

@ -11,7 +11,6 @@ import org.kodein.di.generic.bind
import org.kodein.di.generic.instance
import org.kodein.di.generic.singleton
import utils.KMariadbContainer
import utils.testContainerDataSource
import javax.sql.DataSource
@ -23,7 +22,7 @@ class UserServiceTest {
private val kodein = Kodein {
import(mainModule, allowOverride = true)
bind<DataSource>(overrides = true) with singleton { testContainerDataSource(mariadb) }
bind<DataSource>(overrides = true) with singleton { mariadb.datasource() }
}
private val migration by kodein.instance<Migration>()

View File

@ -5,14 +5,14 @@ import com.zaxxer.hikari.HikariDataSource
import org.testcontainers.containers.MariaDBContainer
import javax.sql.DataSource
class KMariadbContainer : MariaDBContainer<KMariadbContainer>()
fun testContainerDataSource(container: KMariadbContainer): DataSource {
class KMariadbContainer : MariaDBContainer<KMariadbContainer>() {
fun datasource() : DataSource {
val hikariConfig = HikariConfig().apply {
jdbcUrl = container.jdbcUrl
username = container.username
password = container.password
jdbcUrl = this@KMariadbContainer.jdbcUrl
username = this@KMariadbContainer.username
password = this@KMariadbContainer.password
}
return HikariDataSource(hikariConfig)
}
}