Skip to content

Commit 8d02fd5

Browse files
authored
Fix test-latest-deps (#12909)
1 parent b7ae6c5 commit 8d02fd5

File tree

2 files changed

+56
-23
lines changed

2 files changed

+56
-23
lines changed

instrumentation/spring/spring-security-config-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/security/config/v6_0/servlet/HttpSecurityInstrumentationTest.java

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
package io.opentelemetry.javaagent.instrumentation.spring.security.config.v6_0.servlet;
77

88
import static org.assertj.core.api.Assertions.assertThat;
9+
import static org.mockito.Mockito.mock;
910

1011
import io.opentelemetry.instrumentation.spring.security.config.v6_0.servlet.EnduserAttributesCapturingServletFilter;
1112
import java.util.Collections;
13+
import java.util.Map;
1214
import org.junit.jupiter.api.Test;
1315
import org.junit.jupiter.api.extension.ExtendWith;
14-
import org.mockito.Mock;
1516
import org.mockito.junit.jupiter.MockitoExtension;
1617
import org.springframework.beans.factory.annotation.Autowired;
1718
import org.springframework.context.ApplicationContext;
1819
import org.springframework.context.annotation.Configuration;
19-
import org.springframework.security.config.annotation.ObjectPostProcessor;
2020
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
2121
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2222
import org.springframework.security.web.DefaultSecurityFilterChain;
@@ -29,8 +29,6 @@ class HttpSecurityInstrumentationTest {
2929
@Configuration
3030
static class TestConfiguration {}
3131

32-
@Mock ObjectPostProcessor<Object> objectPostProcessor;
33-
3432
/**
3533
* Ensures that {@link HttpSecurityInstrumentation} registers a {@link
3634
* EnduserAttributesCapturingServletFilter} in the filter chain.
@@ -40,14 +38,7 @@ static class TestConfiguration {}
4038
@Test
4139
void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) throws Exception {
4240

43-
AuthenticationManagerBuilder authenticationBuilder =
44-
new AuthenticationManagerBuilder(objectPostProcessor);
45-
46-
HttpSecurity httpSecurity =
47-
new HttpSecurity(
48-
objectPostProcessor,
49-
authenticationBuilder,
50-
Collections.singletonMap(ApplicationContext.class, applicationContext));
41+
HttpSecurity httpSecurity = createHttpSecurity(applicationContext);
5142

5243
DefaultSecurityFilterChain filterChain = httpSecurity.build();
5344

@@ -59,4 +50,29 @@ void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) th
5950
.endsWith(EnduserAttributesCapturingServletFilter.class.getSimpleName()))
6051
.hasSize(1);
6152
}
53+
54+
private static HttpSecurity createHttpSecurity(ApplicationContext applicationContext)
55+
throws Exception {
56+
57+
Class<?> processorClass = getObjectPostProcessorClass();
58+
Object processor = mock(processorClass);
59+
AuthenticationManagerBuilder authenticationBuilder =
60+
AuthenticationManagerBuilder.class.getConstructor(processorClass).newInstance(processor);
61+
62+
return HttpSecurity.class
63+
.getConstructor(processorClass, AuthenticationManagerBuilder.class, Map.class)
64+
.newInstance(
65+
processor,
66+
authenticationBuilder,
67+
Collections.singletonMap(ApplicationContext.class, applicationContext));
68+
}
69+
70+
private static Class<?> getObjectPostProcessorClass() throws ClassNotFoundException {
71+
try {
72+
return Class.forName("org.springframework.security.config.ObjectPostProcessor");
73+
} catch (ClassNotFoundException e) {
74+
// this was marked deprecated for removal in 6.4.2
75+
return Class.forName("org.springframework.security.config.annotation.ObjectPostProcessor");
76+
}
77+
}
6278
}

instrumentation/spring/spring-security-config-6.0/library/src/test/java/io/opentelemetry/instrumentation/spring/security/config/v6_0/servlet/EnduserAttributesHttpSecurityCustomizerTest.java

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
package io.opentelemetry.instrumentation.spring.security.config.v6_0.servlet;
77

88
import static org.assertj.core.api.Assertions.assertThat;
9+
import static org.mockito.Mockito.mock;
910

1011
import io.opentelemetry.instrumentation.spring.security.config.v6_0.EnduserAttributesCapturer;
1112
import java.util.Collections;
13+
import java.util.Map;
1214
import org.junit.jupiter.api.Test;
1315
import org.junit.jupiter.api.extension.ExtendWith;
14-
import org.mockito.Mock;
1516
import org.mockito.junit.jupiter.MockitoExtension;
1617
import org.springframework.beans.factory.annotation.Autowired;
1718
import org.springframework.context.ApplicationContext;
1819
import org.springframework.context.annotation.Configuration;
19-
import org.springframework.security.config.annotation.ObjectPostProcessor;
2020
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
2121
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2222
import org.springframework.security.web.DefaultSecurityFilterChain;
@@ -29,8 +29,6 @@ class EnduserAttributesHttpSecurityCustomizerTest {
2929
@Configuration
3030
static class TestConfiguration {}
3131

32-
@Mock ObjectPostProcessor<Object> objectPostProcessor;
33-
3432
/**
3533
* Ensures that the {@link EnduserAttributesHttpSecurityCustomizer} registers a {@link
3634
* EnduserAttributesCapturingServletFilter} in the filter chain.
@@ -40,13 +38,7 @@ static class TestConfiguration {}
4038
@Test
4139
void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) throws Exception {
4240

43-
AuthenticationManagerBuilder authenticationBuilder =
44-
new AuthenticationManagerBuilder(objectPostProcessor);
45-
HttpSecurity httpSecurity =
46-
new HttpSecurity(
47-
objectPostProcessor,
48-
authenticationBuilder,
49-
Collections.singletonMap(ApplicationContext.class, applicationContext));
41+
HttpSecurity httpSecurity = createHttpSecurity(applicationContext);
5042

5143
EnduserAttributesHttpSecurityCustomizer customizer =
5244
new EnduserAttributesHttpSecurityCustomizer(new EnduserAttributesCapturer());
@@ -58,4 +50,29 @@ void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) th
5850
.filteredOn(EnduserAttributesCapturingServletFilter.class::isInstance)
5951
.hasSize(1);
6052
}
53+
54+
private static HttpSecurity createHttpSecurity(ApplicationContext applicationContext)
55+
throws Exception {
56+
57+
Class<?> processorClass = getObjectPostProcessorClass();
58+
Object processor = mock(processorClass);
59+
AuthenticationManagerBuilder authenticationBuilder =
60+
AuthenticationManagerBuilder.class.getConstructor(processorClass).newInstance(processor);
61+
62+
return HttpSecurity.class
63+
.getConstructor(processorClass, AuthenticationManagerBuilder.class, Map.class)
64+
.newInstance(
65+
processor,
66+
authenticationBuilder,
67+
Collections.singletonMap(ApplicationContext.class, applicationContext));
68+
}
69+
70+
private static Class<?> getObjectPostProcessorClass() throws ClassNotFoundException {
71+
try {
72+
return Class.forName("org.springframework.security.config.ObjectPostProcessor");
73+
} catch (ClassNotFoundException e) {
74+
// this was marked deprecated for removal in 6.4.2
75+
return Class.forName("org.springframework.security.config.annotation.ObjectPostProcessor");
76+
}
77+
}
6178
}

0 commit comments

Comments
 (0)