Skip to content

Commit a30ca03

Browse files
navelgenhavstein
andcommitted
🐛 Hver modul kjører med sin egen testcontainers-Postgresinstans
Co-authored-by: Jakob Havstein Eriksen <[email protected]>
1 parent 8242210 commit a30ca03

File tree

7 files changed

+30
-13
lines changed

7 files changed

+30
-13
lines changed

Diff for: spesialist-bootstrap/src/test/kotlin/no/nav/helse/spesialist/bootstrap/LocalApp.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import no.nav.helse.spesialist.api.bootstrap.Gruppe
2121
import no.nav.helse.spesialist.api.bootstrap.Tilgangsgrupper
2222
import no.nav.helse.spesialist.application.Reservasjonshenter
2323
import no.nav.helse.spesialist.application.Snapshothenter
24-
import no.nav.helse.spesialist.db.testfixtures.TestDatabase
24+
import no.nav.helse.spesialist.db.testfixtures.TestcontainersDatabase
2525
import no.nav.security.mock.oauth2.MockOAuth2Server
2626
import org.apache.kafka.clients.CommonClientConfigs
2727
import org.apache.kafka.clients.consumer.ConsumerConfig
@@ -81,7 +81,7 @@ object LocalApp {
8181
reservasjonshenter = reservasjonshenter,
8282
versjonAvKode = "versjon_1",
8383
featureToggles = object : FeatureToggles {},
84-
dbModuleConfiguration = TestDatabase.dbModuleConfiguration
84+
dbModuleConfiguration = TestcontainersDatabase("local-app").dbModuleConfiguration
8585
)
8686

8787
private val localModule: Application.() -> Unit = {

Diff for: spesialist-db/src/test/kotlin/no/nav/helse/spesialist/db/AbstractDBIntegrationTest.kt

+6-2
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,9 @@ abstract class AbstractDBIntegrationTest {
9191
epost = SAKSBEHANDLER_EPOST,
9292
)
9393

94-
protected val dataSource = DBTestFixture.module.dataSource
94+
protected val dataSource = DBDBTestFixture.fixture.module.dataSource
9595
protected val dbQuery = DbQuery(dataSource)
96-
protected val daos = DBTestFixture.module.daos
96+
protected val daos = DBDBTestFixture.fixture.module.daos
9797

9898
protected val session = sessionOf(dataSource, returnGeneratedKey = true)
9999
private val sessionContext = DBSessionContext(session)
@@ -727,3 +727,7 @@ abstract class AbstractDBIntegrationTest {
727727
.registerModule(JavaTimeModule())
728728
}
729729
}
730+
731+
object DBDBTestFixture {
732+
val fixture = DBTestFixture("db")
733+
}

Diff for: spesialist-db/src/testFixtures/kotlin/no/nav/helse/spesialist/db/testfixtures/DBTestFixture.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import kotliquery.sessionOf
55
import no.nav.helse.spesialist.db.bootstrap.DBModule
66
import org.intellij.lang.annotations.Language
77

8-
object DBTestFixture {
9-
val module = DBModule(TestDatabase.dbModuleConfiguration)
8+
class DBTestFixture(moduleLabel: String) {
9+
val module = DBModule(TestcontainersDatabase(moduleLabel).dbModuleConfiguration)
1010

1111
init {
1212
module.flywayMigrator.migrate()

Diff for: spesialist-db/src/testFixtures/kotlin/no/nav/helse/spesialist/db/testfixtures/TestDatabase.kt renamed to spesialist-db/src/testFixtures/kotlin/no/nav/helse/spesialist/db/testfixtures/TestcontainersDatabase.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package no.nav.helse.spesialist.db.testfixtures
33
import no.nav.helse.spesialist.db.bootstrap.DBModule
44
import org.testcontainers.containers.PostgreSQLContainer
55

6-
object TestDatabase {
6+
class TestcontainersDatabase(moduleLabel: String) {
77
private val postgres =
88
PostgreSQLContainer("postgres:14")
99
.withReuse(true)
1010
.withLabel("app", "spesialist")
11+
.withLabel("module", moduleLabel)
1112
.withLabel("code-location", javaClass.canonicalName)
1213
.apply {
1314
start()

Diff for: spesialist-e2e-tests/src/test/kotlin/no/nav/helse/e2e/AbstractDatabaseTest.kt

+7-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ abstract class AbstractDatabaseTest {
1111
override val kanGodkjenneUtenBesluttertilgang = false
1212
}
1313

14-
protected val dataSource = DBTestFixture.module.dataSource
15-
protected val daos = DBTestFixture.module.daos
16-
protected val sessionFactory = DBTestFixture.module.sessionFactory
14+
protected val dataSource = E2eDBTestFixture.fixture.module.dataSource
15+
protected val daos = E2eDBTestFixture.fixture.module.daos
16+
protected val sessionFactory = E2eDBTestFixture.fixture.module.sessionFactory
17+
}
18+
19+
object E2eDBTestFixture {
20+
val fixture = DBTestFixture("e2e-tests")
1721
}

Diff for: spesialist-opprydding-dev/src/test/kotlin/no/nav/helse/opprydding/AbstractDatabaseTest.kt

+6-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import java.util.UUID
1010
import kotlin.random.Random
1111

1212
internal abstract class AbstractDatabaseTest {
13-
protected val dataSource = DBTestFixture.module.dataSource
13+
protected val dataSource = OppryddingDevDBTestFixture.fixture.module.dataSource
1414
protected val personRepository = PersonRepository(dataSource)
1515

1616
protected fun opprettPerson(
@@ -257,7 +257,7 @@ internal abstract class AbstractDatabaseTest {
257257

258258
@BeforeEach
259259
fun resetDatabase() {
260-
DBTestFixture.truncate()
260+
OppryddingDevDBTestFixture.fixture.truncate()
261261
}
262262

263263
protected companion object {
@@ -273,3 +273,7 @@ enum class Comparison(
273273
EXACTLY("exactly", { a, b -> a == b }),
274274
AT_LEAST("at least", { a, b -> a >= b }),
275275
}
276+
277+
object OppryddingDevDBTestFixture {
278+
val fixture = DBTestFixture("opprydding-dev")
279+
}

Diff for: spesialist-sidegig/src/test/kotlin/no/nav/helse/sidegig/AbstractDatabaseTest.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ package no.nav.helse.sidegig
33
import no.nav.helse.spesialist.db.testfixtures.DBTestFixture
44

55
internal abstract class AbstractDatabaseTest {
6-
protected val dataSource = DBTestFixture.module.dataSource
6+
protected val dataSource = SidegigDBTestFixture.fixture.module.dataSource
77
protected val behandlingDao = PgBehandlingDao(dataSource)
88
}
99

10+
object SidegigDBTestFixture {
11+
val fixture = DBTestFixture("sidegig")
12+
}
13+

0 commit comments

Comments
 (0)