Skip to content

Commit

Permalink
Sørger for at vi gjør status-sjekk uavhengig av Statusplattform (#1142)
Browse files Browse the repository at this point in the history
* Flyttet status-sjekk kode fra Controller til Service og sørger for at koden som sjekker status kalles hvert 30 minutt

* Ryddet litt i imports
  • Loading branch information
bragejahren authored Aug 9, 2024
1 parent 9822f6d commit 276b75c
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 25 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package no.nav.familie.baks.mottak.søknad

import no.nav.security.token.support.core.api.Unprotected
import org.springframework.http.MediaType
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@RestController
@RequestMapping(path = ["/api/status"], produces = [MediaType.APPLICATION_JSON_VALUE])
class SøknadStatusController(
valknadStatusService: SøknadStatusService,
) {
@GetMapping(value = ["/barnetrygd"])
@Unprotected
fun statusBarnetrygd(): StatusDto = søknadStatusService.statusBarnetrygd()

@GetMapping(value = ["/kontantstotte"])
@Unprotected
fun statusKontantstøtte(): StatusDto = søknadStatusService.statusKontantstøtte()
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,25 @@ package no.nav.familie.baks.mottak.søknad

import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadRepository
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadRepository
import no.nav.security.token.support.core.api.Unprotected
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.http.MediaType
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import org.springframework.scheduling.annotation.Scheduled
import org.springframework.stereotype.Service
import java.time.Duration
import java.time.LocalDateTime

@RestController
@RequestMapping(path = ["/api/status"], produces = [MediaType.APPLICATION_JSON_VALUE])
class StatusController(
@Service
class SøknadStatusService(
val barnetrygdSøknadRepository: SøknadRepository,
val kontantstøtteSøknadRepository: KontantstøtteSøknadRepository,
) {
val logger: Logger = LoggerFactory.getLogger(javaClass)
@Scheduled(cron = "0 0/30 * * * ?")
private fun sjekkStatusForBarnetrygdOgKontantstøtte() {
logger.info("Sjekker status for barnetrygd og kontantstøtte")
statusBarnetrygd()
statusKontantstøtte()
}

@GetMapping(value = ["/barnetrygd"])
@Unprotected
fun statusBarnetrygd(): StatusDto {
logger.info("Sjekker status på barnetrygd søknad.")
val sistBarnetrygdSøknad = barnetrygdSøknadRepository.finnSisteLagredeSøknad()
Expand All @@ -30,8 +29,6 @@ class StatusController(
return lagStatusDto(tidSidenSisteBarnetrygdSøknad, Søknadstype.BARNETRYGD)
}

@GetMapping(value = ["/kontantstotte"])
@Unprotected
fun statusKontantstøtte(): StatusDto {
logger.info("Sjekker status på kontantstøtte søknad.")
val sistKontantstøtteSøknad = kontantstøtteSøknadRepository.finnSisteLagredeSøknad()
Expand Down Expand Up @@ -101,6 +98,10 @@ class StatusController(
private fun erDagtid() = LocalDateTime.now().hour in 9..22

private fun erTidspunktMedForventetAktivitet() = LocalDateTime.now().hour in 9..22

companion object {
val logger: Logger = LoggerFactory.getLogger(SøknadStatusService::class.java)
}
}

const val LOG_URL = "https://logs.adeo.no/app/r/s/OJZqp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.time.LocalDateTime

class StatusControllerTest {
class SøknadStatusServiceTest {
private val søknadRepository = mockk<SøknadRepository>()
private val kontantstøtteSøknadRepository = mockk<KontantstøtteSøknadRepository>()
private val statusController = StatusController(søknadRepository, kontantstøtteSøknadRepository)
private val søknadStatusService = SøknadStatusService(søknadRepository, kontantstøtteSøknadRepository)
private val logAppender = LogAppender()
private val logger = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME) as ch.qos.logback.classic.Logger

Expand Down Expand Up @@ -50,7 +50,7 @@ class StatusControllerTest {
)

// Act
val statusKontantstøtte = statusController.statusKontantstøtte()
val statusKontantstøtte = søknadStatusService.statusKontantstøtte()

// Assert
assertThat(statusKontantstøtte.status).isEqualTo(Plattformstatus.DOWN)
Expand All @@ -69,7 +69,7 @@ class StatusControllerTest {
)

// Act
val statusBarnetrygd = statusController.statusBarnetrygd()
val statusBarnetrygd = søknadStatusService.statusBarnetrygd()

// Assert
assertThat(statusBarnetrygd.status).isEqualTo(Plattformstatus.DOWN)
Expand All @@ -88,7 +88,7 @@ class StatusControllerTest {
)

// Act
val statusKontantstøtte = statusController.statusKontantstøtte()
val statusKontantstøtte = søknadStatusService.statusKontantstøtte()

// Assert
assertThat(statusKontantstøtte.status).isEqualTo(Plattformstatus.DOWN)
Expand All @@ -106,7 +106,7 @@ class StatusControllerTest {
)

// Act
val statusBarnetrygd = statusController.statusBarnetrygd()
val statusBarnetrygd = søknadStatusService.statusBarnetrygd()

// Assert
assertThat(statusBarnetrygd.status).isEqualTo(Plattformstatus.DOWN)
Expand All @@ -124,7 +124,7 @@ class StatusControllerTest {
)

// Act
val statusKontantstøtte = statusController.statusKontantstøtte()
val statusKontantstøtte = søknadStatusService.statusKontantstøtte()

// Assert
assertThat(statusKontantstøtte.status).isEqualTo(Plattformstatus.ISSUE)
Expand All @@ -142,7 +142,7 @@ class StatusControllerTest {
)

// Act
val statusBarnetrygd = statusController.statusBarnetrygd()
val statusBarnetrygd = søknadStatusService.statusBarnetrygd()

// Assert
assertThat(statusBarnetrygd.status).isEqualTo(Plattformstatus.ISSUE)
Expand All @@ -160,7 +160,7 @@ class StatusControllerTest {
)

// Act
val statusKontantstøtte = statusController.statusKontantstøtte()
val statusKontantstøtte = søknadStatusService.statusKontantstøtte()

// Assert
assertThat(statusKontantstøtte.status).isEqualTo(Plattformstatus.OK)
Expand All @@ -179,7 +179,7 @@ class StatusControllerTest {
)

// Act
val statusBarnetrygd = statusController.statusBarnetrygd()
val statusBarnetrygd = søknadStatusService.statusBarnetrygd()

// Assert
assertThat(statusBarnetrygd.status).isEqualTo(Plattformstatus.OK)
Expand All @@ -198,7 +198,7 @@ class StatusControllerTest {
)

// Act
val statusKontantstøtte = statusController.statusKontantstøtte()
val statusKontantstøtte = søknadStatusService.statusKontantstøtte()

// Assert
assertThat(statusKontantstøtte.status).isEqualTo(Plattformstatus.OK)
Expand All @@ -217,7 +217,7 @@ class StatusControllerTest {
)

// Act
val statusBarnetrygd = statusController.statusBarnetrygd()
val statusBarnetrygd = søknadStatusService.statusBarnetrygd()

// Assert
assertThat(statusBarnetrygd.status).isEqualTo(Plattformstatus.OK)
Expand Down

0 comments on commit 276b75c

Please sign in to comment.