diff --git a/token-client-spring/src/main/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfiguration.kt b/token-client-spring/src/main/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfiguration.kt index c8c98a18..a6e9f354 100644 --- a/token-client-spring/src/main/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfiguration.kt +++ b/token-client-spring/src/main/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfiguration.kt @@ -24,7 +24,7 @@ import no.nav.security.token.support.core.context.TokenValidationContextHolder @EnableConfigurationProperties(ClientConfigurationProperties::class) @Configuration class OAuth2ClientConfiguration : ImportAware { - private var attrs: AnnotationAttributes? = null + private var attrs: AnnotationAttributes? = null override fun setImportMetadata(meta: AnnotationMetadata) { attrs = requireNotNull(fromMap(meta.getAnnotationAttributes(EnableOAuth2Client::class.java.name, false))) { "@EnableOAuth2Client is not present on importing class $meta.className" } } @@ -32,11 +32,11 @@ class OAuth2ClientConfiguration : ImportAware { @Bean fun oAuth2AccessTokenService(bearerTokenResolver: JwtBearerTokenResolver, client: OAuth2HttpClient) = if (attrs?.getBoolean("cacheEnabled") == true) { - val max = attrs?.getNumber("cacheMaximumSize") ?: 0 + val maxx = attrs?.getNumber("cacheMaximumSize") ?: 0 val skew = attrs?.getNumber("cacheEvictSkew") ?: 0 OAuth2AccessTokenService(bearerTokenResolver, OnBehalfOfTokenClient(client), ClientCredentialsTokenClient(client), - TokenExchangeClient(client), accessTokenResponseCache(max, skew), - accessTokenResponseCache(max, skew), accessTokenResponseCache(max, skew)) + TokenExchangeClient(client), accessTokenResponseCache(maxx, skew), + accessTokenResponseCache(maxx, skew), accessTokenResponseCache(maxx, skew)) } else { OAuth2AccessTokenService( @@ -49,7 +49,7 @@ class OAuth2ClientConfiguration : ImportAware { @Bean @ConditionalOnMissingBean(OAuth2HttpClient::class) - fun oAuth2HttpClient() = DefaultOAuth2HttpClient(RestClient.create()) + fun oAuth2HttpClient(builder: RestClient.Builder) = DefaultOAuth2HttpClient(builder.build()) @Bean @ConditionalOnClass(TokenValidationContextHolder::class) diff --git a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/ClientConfigurationPropertiesTest.kt b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/ClientConfigurationPropertiesTest.kt index e17b4248..fdd491f2 100644 --- a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/ClientConfigurationPropertiesTest.kt +++ b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/ClientConfigurationPropertiesTest.kt @@ -4,21 +4,22 @@ import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.mock.mockito.MockBean import org.springframework.test.context.ActiveProfiles +import org.springframework.web.client.RestClient import no.nav.security.token.support.client.core.oauth2.OnBehalfOfGrantRequest import no.nav.security.token.support.client.spring.ClientConfigurationProperties import no.nav.security.token.support.core.context.TokenValidationContextHolder -@SpringBootTest(classes = [OAuth2ClientConfiguration::class, RestTemplateAutoConfiguration::class]) +@SpringBootTest(classes = [OAuth2ClientConfiguration::class, RestClientAutoConfiguration::class]) @ActiveProfiles("test") internal class ClientConfigurationPropertiesTest { @MockBean - private val tokenValidationContextHolder: TokenValidationContextHolder? = null - + private lateinit var tokenValidationContextHolder: TokenValidationContextHolder @Autowired private lateinit var clientConfigurationProperties: ClientConfigurationProperties diff --git a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2AccessTokenServiceIntegrationTest.kt b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2AccessTokenServiceIntegrationTest.kt index 8f611884..ecbe22a1 100644 --- a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2AccessTokenServiceIntegrationTest.kt +++ b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2AccessTokenServiceIntegrationTest.kt @@ -24,6 +24,8 @@ import org.mockito.Mockito.* import org.mockito.kotlin.whenever import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration +import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.mock.mockito.MockBean import org.springframework.http.MediaType.* @@ -37,7 +39,7 @@ import no.nav.security.token.support.core.context.TokenValidationContext import no.nav.security.token.support.core.context.TokenValidationContextHolder import no.nav.security.token.support.core.jwt.JwtToken -@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class]) +@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class, RestClientAutoConfiguration::class]) @ActiveProfiles("test") internal class OAuth2AccessTokenServiceIntegrationTest { @MockBean diff --git a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithCacheTest.kt b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithCacheTest.kt index d5fb2848..de7a9111 100644 --- a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithCacheTest.kt +++ b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithCacheTest.kt @@ -3,6 +3,7 @@ package no.nav.security.token.support.client.spring.oauth2 import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.mock.mockito.MockBean import org.springframework.context.annotation.Configuration @@ -10,7 +11,7 @@ import org.springframework.test.context.ActiveProfiles import no.nav.security.token.support.client.core.oauth2.OAuth2AccessTokenService import no.nav.security.token.support.core.context.TokenValidationContextHolder -@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class]) +@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class, RestClientAutoConfiguration::class]) @ActiveProfiles("test") internal class OAuth2ClientConfigurationWithCacheTest { diff --git a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithoutCacheTest.kt b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithoutCacheTest.kt index 955870cc..03becb1a 100644 --- a/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithoutCacheTest.kt +++ b/token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithoutCacheTest.kt @@ -3,6 +3,7 @@ package no.nav.security.token.support.client.spring.oauth2 import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.mock.mockito.MockBean import org.springframework.context.annotation.Configuration @@ -10,7 +11,7 @@ import org.springframework.test.context.ActiveProfiles import no.nav.security.token.support.client.core.oauth2.OAuth2AccessTokenService import no.nav.security.token.support.core.context.TokenValidationContextHolder -@SpringBootTest(classes = [ConfigurationWithCacheEnabledFalse::class]) +@SpringBootTest(classes = [ConfigurationWithCacheEnabledFalse::class, RestClientAutoConfiguration::class]) @ActiveProfiles("test") internal class OAuth2ClientConfigurationWithoutCacheTest { @MockBean