Skip to content

Commit

Permalink
rest-grensesnitt for prometheus
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Kroken committed Oct 4, 2023
1 parent 7dee9ac commit 3304bfc
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.web

import com.google.gson.JsonObject
import io.micrometer.core.instrument.MeterRegistry
import io.micrometer.core.instrument.binder.hystrix.MicrometerMetricsPublisher
import no.nav.pensjon.opptjening.omsorgsopptjening.felles.mapToJson
Expand All @@ -9,6 +10,7 @@ import no.nav.security.token.support.core.api.Protected
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.http.ResponseEntity
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
Expand All @@ -24,7 +26,7 @@ class PrometheusWebApi(
val log: Logger = LoggerFactory.getLogger(this::class.java)
}

@GetMapping("/actuator/prometheus")
@GetMapping("/actuator/prometheus", produces = [MediaType.APPLICATION_JSON_VALUE])
fun getPrometheusData(): ResponseEntity<String> {
return ResponseEntity.ok(registry.mapToJson())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.d
import no.nav.security.mock.oauth2.MockOAuth2Server
import no.nav.security.mock.oauth2.token.DefaultOAuth2TokenCallback
import no.nav.security.token.support.spring.test.EnableMockOAuth2Server
import okhttp3.internal.http.hasBody
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.given
Expand All @@ -20,6 +22,7 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
import org.springframework.test.web.servlet.result.MockMvcResultMatchers.content
import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status
import java.time.Instant
import kotlin.test.assertContains

@SpringBootTest
@AutoConfigureMockMvc
Expand All @@ -39,21 +42,19 @@ class PrometheusWebApiTest {
).andExpect(status().isOk())
}


private fun token(
issuerId: String,
audience: String
): String {
return "Bearer " + oauth2Server.issueToken(
issuerId,
"theclientid",
DefaultOAuth2TokenCallback(
issuerId,
"subject",
JOSEObjectType.JWT.type,
listOf(audience), emptyMap(),
3600
)
).serialize()
@Test
fun `prometheus-url'en returnerer json`() {
mvc.perform(
get("/actuator/prometheus")
).andExpect(content().contentType("application/json"))
}
@Test
fun `prometheus-url'en returnerer faktisk json`() {
val body = mvc.perform(
get("/actuator/prometheus")
).andReturn().response.contentAsString
assertThat(body)
.startsWith("{")
.contains("omsorgsopptjening-start-innlesning")
}
}

0 comments on commit 3304bfc

Please sign in to comment.