Skip to content

Commit 81fefdc

Browse files
authored
use builder, so that we do not lose instrumentation (#834)
* use builder, so that we do not lose instrumentation * use builder, so that we do not lose instrumentation
1 parent 9183c26 commit 81fefdc

File tree

5 files changed

+16
-11
lines changed

5 files changed

+16
-11
lines changed

token-client-spring/src/main/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfiguration.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,19 @@ import no.nav.security.token.support.core.context.TokenValidationContextHolder
2424
@EnableConfigurationProperties(ClientConfigurationProperties::class)
2525
@Configuration
2626
class OAuth2ClientConfiguration : ImportAware {
27-
private var attrs: AnnotationAttributes? = null
27+
private var attrs: AnnotationAttributes? = null
2828
override fun setImportMetadata(meta: AnnotationMetadata) {
2929
attrs = requireNotNull(fromMap(meta.getAnnotationAttributes(EnableOAuth2Client::class.java.name, false))) { "@EnableOAuth2Client is not present on importing class $meta.className" }
3030
}
3131

3232
@Bean
3333
fun oAuth2AccessTokenService(bearerTokenResolver: JwtBearerTokenResolver, client: OAuth2HttpClient) =
3434
if (attrs?.getBoolean("cacheEnabled") == true) {
35-
val max = attrs?.getNumber<Long>("cacheMaximumSize") ?: 0
35+
val maxx = attrs?.getNumber<Long>("cacheMaximumSize") ?: 0
3636
val skew = attrs?.getNumber<Long>("cacheEvictSkew") ?: 0
3737
OAuth2AccessTokenService(bearerTokenResolver, OnBehalfOfTokenClient(client), ClientCredentialsTokenClient(client),
38-
TokenExchangeClient(client), accessTokenResponseCache(max, skew),
39-
accessTokenResponseCache(max, skew), accessTokenResponseCache(max, skew))
38+
TokenExchangeClient(client), accessTokenResponseCache(maxx, skew),
39+
accessTokenResponseCache(maxx, skew), accessTokenResponseCache(maxx, skew))
4040
}
4141
else {
4242
OAuth2AccessTokenService(
@@ -49,7 +49,7 @@ class OAuth2ClientConfiguration : ImportAware {
4949

5050
@Bean
5151
@ConditionalOnMissingBean(OAuth2HttpClient::class)
52-
fun oAuth2HttpClient() = DefaultOAuth2HttpClient(RestClient.create())
52+
fun oAuth2HttpClient(builder: RestClient.Builder) = DefaultOAuth2HttpClient(builder.build())
5353

5454
@Bean
5555
@ConditionalOnClass(TokenValidationContextHolder::class)

token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/ClientConfigurationPropertiesTest.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@ import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod
44
import org.assertj.core.api.Assertions.assertThat
55
import org.junit.jupiter.api.Test
66
import org.springframework.beans.factory.annotation.Autowired
7+
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration
78
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration
89
import org.springframework.boot.test.context.SpringBootTest
910
import org.springframework.boot.test.mock.mockito.MockBean
1011
import org.springframework.test.context.ActiveProfiles
12+
import org.springframework.web.client.RestClient
1113
import no.nav.security.token.support.client.core.oauth2.OnBehalfOfGrantRequest
1214
import no.nav.security.token.support.client.spring.ClientConfigurationProperties
1315
import no.nav.security.token.support.core.context.TokenValidationContextHolder
1416

15-
@SpringBootTest(classes = [OAuth2ClientConfiguration::class, RestTemplateAutoConfiguration::class])
17+
@SpringBootTest(classes = [OAuth2ClientConfiguration::class, RestClientAutoConfiguration::class])
1618
@ActiveProfiles("test")
1719
internal class ClientConfigurationPropertiesTest {
1820

1921
@MockBean
20-
private val tokenValidationContextHolder: TokenValidationContextHolder? = null
21-
22+
private lateinit var tokenValidationContextHolder: TokenValidationContextHolder
2223

2324
@Autowired
2425
private lateinit var clientConfigurationProperties: ClientConfigurationProperties

token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2AccessTokenServiceIntegrationTest.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import org.mockito.Mockito.*
2424
import org.mockito.kotlin.whenever
2525
import org.slf4j.LoggerFactory
2626
import org.springframework.beans.factory.annotation.Autowired
27+
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration
28+
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration
2729
import org.springframework.boot.test.context.SpringBootTest
2830
import org.springframework.boot.test.mock.mockito.MockBean
2931
import org.springframework.http.MediaType.*
@@ -37,7 +39,7 @@ import no.nav.security.token.support.core.context.TokenValidationContext
3739
import no.nav.security.token.support.core.context.TokenValidationContextHolder
3840
import no.nav.security.token.support.core.jwt.JwtToken
3941

40-
@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class])
42+
@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class, RestClientAutoConfiguration::class])
4143
@ActiveProfiles("test")
4244
internal class OAuth2AccessTokenServiceIntegrationTest {
4345
@MockBean

token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithCacheTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package no.nav.security.token.support.client.spring.oauth2
33
import org.assertj.core.api.Assertions.assertThat
44
import org.junit.jupiter.api.Test
55
import org.springframework.beans.factory.annotation.Autowired
6+
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration
67
import org.springframework.boot.test.context.SpringBootTest
78
import org.springframework.boot.test.mock.mockito.MockBean
89
import org.springframework.context.annotation.Configuration
910
import org.springframework.test.context.ActiveProfiles
1011
import no.nav.security.token.support.client.core.oauth2.OAuth2AccessTokenService
1112
import no.nav.security.token.support.core.context.TokenValidationContextHolder
1213

13-
@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class])
14+
@SpringBootTest(classes = [ConfigurationWithCacheEnabledTrue::class, RestClientAutoConfiguration::class])
1415
@ActiveProfiles("test")
1516
internal class OAuth2ClientConfigurationWithCacheTest {
1617

token-client-spring/src/test/kotlin/no/nav/security/token/support/client/spring/oauth2/OAuth2ClientConfigurationWithoutCacheTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package no.nav.security.token.support.client.spring.oauth2
33
import org.assertj.core.api.Assertions.assertThat
44
import org.junit.jupiter.api.Test
55
import org.springframework.beans.factory.annotation.Autowired
6+
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration
67
import org.springframework.boot.test.context.SpringBootTest
78
import org.springframework.boot.test.mock.mockito.MockBean
89
import org.springframework.context.annotation.Configuration
910
import org.springframework.test.context.ActiveProfiles
1011
import no.nav.security.token.support.client.core.oauth2.OAuth2AccessTokenService
1112
import no.nav.security.token.support.core.context.TokenValidationContextHolder
1213

13-
@SpringBootTest(classes = [ConfigurationWithCacheEnabledFalse::class])
14+
@SpringBootTest(classes = [ConfigurationWithCacheEnabledFalse::class, RestClientAutoConfiguration::class])
1415
@ActiveProfiles("test")
1516
internal class OAuth2ClientConfigurationWithoutCacheTest {
1617
@MockBean

0 commit comments

Comments
 (0)