Skip to content

Commit

Permalink
Legger til integrasjonstest baseklasse med med postgresSql testcontai…
Browse files Browse the repository at this point in the history
…ner og embedded kafka. (#1057)

* WIP erstattet embedded postgres med TC.

* Fikser applikasjonoppstart.

* Fikser automatisk flyway migrering.

* Fikser baseclass testoppsett.

* Prøver å mocke pepClient

* Erstatter KafkaContainer med EmbeddedKafka.

* Fikser flere tester

* Fikser flere tester

* Bruker AbstractContainerBaseTest for BrevServiceImplTest

* Bruker AbstractContainerBaseTest for SøknadRepositoryTest.

Legger til hjelpefunksjon til å rydde i DB når det er samme data som brukes i tester i samme klasse.

* Bruker AbstractContainerBaseTest for fordel testene.

* Bruker AbstractContainerBaseTest for ArbeidsgivereRoutesTest.

* Bruker setup function for cleanup.

* Bruker AbstractContainerBaseTest for MetrikkJobbTest.

* Bruker AbstractContainerBaseTest for SjekkOmUtløptJobbTest.

* Bruker AbstractContainerBaseTest for JournalpostServiceTest.

* Fikser GosysRoutesTest.

* Bruker AbstractContainerBaseTest for KopierJournalpostRouteTest.

* Bruker AbstractContainerBaseTest for PunsjJournalpostMetrikkRepositoryTest.

* Bruker AbstractContainerBaseTest for PunsjJournalpostRepositoryTest.

* Bruker AbstractContainerBaseTest for KorrigeringInntektsmeldingDtoRoutesTest.

* Refaktorere gjentakende kall for opprettelse av ny søknad.

* Refaktorere gjentakende kall for henting, oppdatering og validering.

* Bruker AbstractContainerBaseTest for NotatRoutesTest.

* Bruker AbstractContainerBaseTest for OmsorgspengerAleneOmsorgRoutesTest.

* Bruker AbstractContainerBaseTest for OmsorgspengerKroniskSyktBarnRoutesTest.

* Bruker AbstractContainerBaseTest for PersonApiTest.

* Bruker AbstractContainerBaseTest for SakServiceTest.

* Bruker AbstractContainerBaseTest for OmsorgspengerMidlertidigAleneRoutesTest.

* Bruker AbstractContainerBaseTest for OmsorgspengerutbetalingRoutesTest.

* Bruker AbstractContainerBaseTest for PleiepengerLivetsSluttfaseRoutesTest.

* Bruker AbstractContainerBaseTest for MappeRepositoryTest.

* Bruker AbstractContainerBaseTest for PleiepengersyktbarnTests.

* Bruker AbstractContainerBaseTest for K9PunsjApplicationTests.

* Flytter init ut av companion object.

Den førte til at de andre testene etter første test suit, feilet.

* Fikser PeriodeDtoTest.

* Fjerner utkommenter kode.

* Bruker AbstractContainerBaseTest for AksjonspunktRepositoryTest.

* Bruker AbstractContainerBaseTest for SoknadIntegrasjonsTest.

* Bruker dynamisk port på wiremock server.

* Fjerner baselineOnMigrate og clean-on-validation-error.

De er default false.

* Konfigurerer datasource.

---------

Co-authored-by: Ramin Esfandiari <[email protected]>
  • Loading branch information
albrektsson and ramrock93 authored Jan 10, 2024
1 parent 02821f8 commit 7469360
Show file tree
Hide file tree
Showing 66 changed files with 1,988 additions and 2,578 deletions.
32 changes: 23 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
<zonky-postgresql.version>13.4.0</zonky-postgresql.version>
<mockk.version>1.13.8</mockk.version>
<jsonassert.version>1.5.1</jsonassert.version>
<testcontainers.version>1.19.3</testcontainers.version>
<springmockk.version>4.0.2</springmockk.version>

<!-- pdf -->
<openhtmltopdf.version>1.0.10</openhtmltopdf.version>
Expand All @@ -69,9 +71,9 @@
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.zonky.test.postgres</groupId>
<artifactId>embedded-postgres-binaries-bom</artifactId>
<version>${zonky-postgresql.version}</version>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down Expand Up @@ -99,6 +101,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
Expand Down Expand Up @@ -218,9 +224,9 @@

<!-- Testing & Mocks -->
<dependency>
<groupId>io.mockk</groupId>
<artifactId>mockk-jvm</artifactId>
<version>${mockk.version}</version>
<groupId>com.ninja-squad</groupId>
<artifactId>springmockk</artifactId>
<version>${springmockk.version}</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -235,9 +241,17 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.zonky.test</groupId>
<artifactId>embedded-postgres</artifactId>
<version>${embedded-postgres.version}</version>
<groupId>no.nav.security</groupId>
<artifactId>token-validation-spring-test</artifactId>
<version>${token-support.version}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
12 changes: 1 addition & 11 deletions src/main/kotlin/no/nav/k9punsj/K9PunsjApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,19 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import de.huxhorn.sulky.ulid.ULID
import no.nav.k9punsj.configuration.DbConfiguration
import no.nav.k9punsj.configuration.hikariConfig
import no.nav.k9punsj.utils.UlidDeserializer
import org.springframework.boot.Banner
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
import org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
import org.springframework.boot.runApplication
import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory
import org.springframework.boot.web.reactive.server.ReactiveWebServerFactory
import org.springframework.context.annotation.Bean
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder
import org.springframework.scheduling.annotation.EnableScheduling
import javax.sql.DataSource

@EnableScheduling
@SpringBootApplication(exclude = [ErrorMvcAutoConfiguration::class, FlywayAutoConfiguration::class])
@SpringBootApplication(exclude = [ErrorMvcAutoConfiguration::class])
class K9PunsjApplication {

@Bean
Expand All @@ -37,12 +33,6 @@ class K9PunsjApplication {
fun reactiveWebServerFactory(): ReactiveWebServerFactory {
return NettyReactiveWebServerFactory()
}

@Bean
@StandardProfil
fun databaseInitializer(dbConfiguration: DbConfiguration): DataSource {
return hikariConfig(dbConfiguration)
}
}

fun main(args: Array<String>) {
Expand Down
36 changes: 0 additions & 36 deletions src/main/kotlin/no/nav/k9punsj/configuration/DbConfiguration.kt

This file was deleted.

26 changes: 0 additions & 26 deletions src/main/kotlin/no/nav/k9punsj/configuration/HikariConfig.kt

This file was deleted.

49 changes: 0 additions & 49 deletions src/main/kotlin/no/nav/k9punsj/configuration/Postgres.kt

This file was deleted.

2 changes: 0 additions & 2 deletions src/main/kotlin/no/nav/k9punsj/kafka/KafkaHendelseProducer.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package no.nav.k9punsj.kafka

import no.nav.k9punsj.IkkeTestProfil
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.kafka.core.KafkaTemplate
import org.springframework.stereotype.Component

@Component
@IkkeTestProfil
class KafkaHendelseProducer(
private val kafkaTemplate: KafkaTemplate<String, String>
) : HendelseProducer {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import org.springframework.web.reactive.function.server.ServerResponse
import org.springframework.web.reactive.function.server.buildAndAwait

@Service
internal class AuthenticationHandler(
class AuthenticationHandler(
multiIssuerProperties: MultiIssuerProperties
) {

Expand Down
16 changes: 11 additions & 5 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
spring:
datasource:
hikari:
connection-test-query: SELECT 1
url: ${DEFAULTDS_URL}
username: ${DEFAULTDS_USERNAME}
password: ${DEFAULTDS_PASSWORD}
driver-class-name: org.postgresql.Driver
flyway:
enabled: true

management:
health:
diskspace:
Expand Down Expand Up @@ -74,11 +85,6 @@ no.nav:
accepted_audience: ${APP_NAISSTS_aud}
proxyUrl:

db:
url: ${DEFAULTDS_URL}
username: ${DEFAULTDS_USERNAME}
password: ${DEFAULTDS_PASSWORD}
vault_mountpath: ${DEFAULTDS_VAULT_MOUNTPATH}
abac:
system_user: ${SYSTEMBRUKER_USERNAME}
system_user_password: ${SYSTEMBRUKER_PASSWORD}
Expand Down
Loading

0 comments on commit 7469360

Please sign in to comment.