Clean datasource for tests
This commit is contained in:
parent
a786cc848c
commit
0ed9905ff5
@ -11,7 +11,6 @@ import org.kodein.di.generic.bind
|
|||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.generic.instance
|
||||||
import org.kodein.di.generic.singleton
|
import org.kodein.di.generic.singleton
|
||||||
import utils.KMariadbContainer
|
import utils.KMariadbContainer
|
||||||
import utils.testContainerDataSource
|
|
||||||
import javax.sql.DataSource
|
import javax.sql.DataSource
|
||||||
|
|
||||||
|
|
||||||
@ -23,7 +22,7 @@ class UserServiceTest {
|
|||||||
|
|
||||||
private val kodein = Kodein {
|
private val kodein = Kodein {
|
||||||
import(mainModule, allowOverride = true)
|
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>()
|
private val migration by kodein.instance<Migration>()
|
||||||
|
|||||||
@ -5,14 +5,14 @@ import com.zaxxer.hikari.HikariDataSource
|
|||||||
import org.testcontainers.containers.MariaDBContainer
|
import org.testcontainers.containers.MariaDBContainer
|
||||||
import javax.sql.DataSource
|
import javax.sql.DataSource
|
||||||
|
|
||||||
class KMariadbContainer : MariaDBContainer<KMariadbContainer>()
|
class KMariadbContainer : MariaDBContainer<KMariadbContainer>() {
|
||||||
|
fun datasource() : DataSource {
|
||||||
|
val hikariConfig = HikariConfig().apply {
|
||||||
|
jdbcUrl = this@KMariadbContainer.jdbcUrl
|
||||||
|
username = this@KMariadbContainer.username
|
||||||
|
password = this@KMariadbContainer.password
|
||||||
|
}
|
||||||
|
|
||||||
fun testContainerDataSource(container: KMariadbContainer): DataSource {
|
return HikariDataSource(hikariConfig)
|
||||||
val hikariConfig = HikariConfig().apply {
|
|
||||||
jdbcUrl = container.jdbcUrl
|
|
||||||
username = container.username
|
|
||||||
password = container.password
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return HikariDataSource(hikariConfig)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user