From 1e967ac4eb398865f486ac0138a24f0596b855cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simen=20H=C3=B8ston?= Date: Wed, 20 Dec 2023 11:48:09 +0100 Subject: [PATCH] Skriver om restTemplateConfiguration til kotlin --- ...HttpHeaderTestRestTemplateConfiguration.kt | 82 ++++++++++--------- 1 file changed, 45 insertions(+), 37 deletions(-) diff --git a/src/test/java/no/nav/bidrag/dokument/security/HttpHeaderTestRestTemplateConfiguration.kt b/src/test/java/no/nav/bidrag/dokument/security/HttpHeaderTestRestTemplateConfiguration.kt index c3bde9ea..28e87afa 100644 --- a/src/test/java/no/nav/bidrag/dokument/security/HttpHeaderTestRestTemplateConfiguration.kt +++ b/src/test/java/no/nav/bidrag/dokument/security/HttpHeaderTestRestTemplateConfiguration.kt @@ -1,40 +1,48 @@ -package no.nav.bidrag.dokument.security; - -import static no.nav.bidrag.dokument.BidragDokumentTest.TEST_PROFILE; - -import com.nimbusds.jose.JOSEObjectType; -import java.util.List; -import java.util.Map; -import no.nav.security.mock.oauth2.MockOAuth2Server; -import no.nav.security.mock.oauth2.token.DefaultOAuth2TokenCallback; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.web.client.TestRestTemplate; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.http.HttpHeaders; +package no.nav.bidrag.dokument.security + +import com.nimbusds.jose.JOSEObjectType +import no.nav.bidrag.dokument.BidragDokumentTest +import no.nav.security.mock.oauth2.MockOAuth2Server +import no.nav.security.mock.oauth2.token.DefaultOAuth2TokenCallback +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.web.client.TestRestTemplate +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +import org.springframework.context.annotation.Profile +import org.springframework.http.HttpHeaders @Configuration -@Profile(TEST_PROFILE) -public class HttpHeaderTestRestTemplateConfiguration { - - @Autowired - private MockOAuth2Server mockOAuth2Server; - - @Bean - HttpHeaderTestRestTemplate securedTestRestTemplate(TestRestTemplate testRestTemplate) { - HttpHeaderTestRestTemplate httpHeaderTestRestTemplate = new HttpHeaderTestRestTemplate(testRestTemplate); - httpHeaderTestRestTemplate.add(HttpHeaders.AUTHORIZATION, this::generateTestToken); - - return httpHeaderTestRestTemplate; - } - - private String generateTestToken() { - var iss = mockOAuth2Server.issuerUrl("aad"); - var newIssuer = iss.newBuilder().host("localhost").build(); -// var token = mockOAuth2Server.issueToken("aad", "aud-localhost", "aud-localhost"); - - var token = mockOAuth2Server.issueToken("aad", "aud-localhost", new DefaultOAuth2TokenCallback("aad", "aud-localhost", JOSEObjectType.JWT.getType(), List.of("aud-localhost"), Map.of("iss", newIssuer.toString()), 3600)); - return "Bearer " + token.serialize(); - } +@Profile(BidragDokumentTest.TEST_PROFILE) +class HttpHeaderTestRestTemplateConfiguration { + + @Autowired + private lateinit var mockOAuth2Server: MockOAuth2Server + + @Bean + fun securedTestRestTemplate(testRestTemplate: TestRestTemplate): HttpHeaderTestRestTemplate { + val httpHeaderTestRestTemplate = HttpHeaderTestRestTemplate(testRestTemplate) + httpHeaderTestRestTemplate.add(HttpHeaders.AUTHORIZATION) { + generateTestToken() + } + return httpHeaderTestRestTemplate + } + + private fun generateTestToken(): String { + val iss = mockOAuth2Server.issuerUrl("aad") + val newIssuer = iss.newBuilder().host("localhost").build() + + val token = mockOAuth2Server.issueToken( + "aad", + "aud-localhost", + DefaultOAuth2TokenCallback( + "aad", + "aud-localhost", + JOSEObjectType.JWT.type, + listOf("aud-localhost"), + mapOf(Pair("iss", newIssuer.toString())), + 3600, + ), + ) + return "Bearer " + token.serialize() + } }