Fix test-latest-deps (#12909)
This commit is contained in:
parent
b7ae6c5a12
commit
8d02fd5639
|
|
@ -6,17 +6,17 @@
|
||||||
package io.opentelemetry.javaagent.instrumentation.spring.security.config.v6_0.servlet;
|
package io.opentelemetry.javaagent.instrumentation.spring.security.config.v6_0.servlet;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
import io.opentelemetry.instrumentation.spring.security.config.v6_0.servlet.EnduserAttributesCapturingServletFilter;
|
import io.opentelemetry.instrumentation.spring.security.config.v6_0.servlet.EnduserAttributesCapturingServletFilter;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Map;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.mockito.Mock;
|
|
||||||
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.security.config.annotation.ObjectPostProcessor;
|
|
||||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
import org.springframework.security.web.DefaultSecurityFilterChain;
|
import org.springframework.security.web.DefaultSecurityFilterChain;
|
||||||
|
|
@ -29,8 +29,6 @@ class HttpSecurityInstrumentationTest {
|
||||||
@Configuration
|
@Configuration
|
||||||
static class TestConfiguration {}
|
static class TestConfiguration {}
|
||||||
|
|
||||||
@Mock ObjectPostProcessor<Object> objectPostProcessor;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures that {@link HttpSecurityInstrumentation} registers a {@link
|
* Ensures that {@link HttpSecurityInstrumentation} registers a {@link
|
||||||
* EnduserAttributesCapturingServletFilter} in the filter chain.
|
* EnduserAttributesCapturingServletFilter} in the filter chain.
|
||||||
|
|
@ -40,14 +38,7 @@ class HttpSecurityInstrumentationTest {
|
||||||
@Test
|
@Test
|
||||||
void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) throws Exception {
|
void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) throws Exception {
|
||||||
|
|
||||||
AuthenticationManagerBuilder authenticationBuilder =
|
HttpSecurity httpSecurity = createHttpSecurity(applicationContext);
|
||||||
new AuthenticationManagerBuilder(objectPostProcessor);
|
|
||||||
|
|
||||||
HttpSecurity httpSecurity =
|
|
||||||
new HttpSecurity(
|
|
||||||
objectPostProcessor,
|
|
||||||
authenticationBuilder,
|
|
||||||
Collections.singletonMap(ApplicationContext.class, applicationContext));
|
|
||||||
|
|
||||||
DefaultSecurityFilterChain filterChain = httpSecurity.build();
|
DefaultSecurityFilterChain filterChain = httpSecurity.build();
|
||||||
|
|
||||||
|
|
@ -59,4 +50,29 @@ class HttpSecurityInstrumentationTest {
|
||||||
.endsWith(EnduserAttributesCapturingServletFilter.class.getSimpleName()))
|
.endsWith(EnduserAttributesCapturingServletFilter.class.getSimpleName()))
|
||||||
.hasSize(1);
|
.hasSize(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static HttpSecurity createHttpSecurity(ApplicationContext applicationContext)
|
||||||
|
throws Exception {
|
||||||
|
|
||||||
|
Class<?> processorClass = getObjectPostProcessorClass();
|
||||||
|
Object processor = mock(processorClass);
|
||||||
|
AuthenticationManagerBuilder authenticationBuilder =
|
||||||
|
AuthenticationManagerBuilder.class.getConstructor(processorClass).newInstance(processor);
|
||||||
|
|
||||||
|
return HttpSecurity.class
|
||||||
|
.getConstructor(processorClass, AuthenticationManagerBuilder.class, Map.class)
|
||||||
|
.newInstance(
|
||||||
|
processor,
|
||||||
|
authenticationBuilder,
|
||||||
|
Collections.singletonMap(ApplicationContext.class, applicationContext));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Class<?> getObjectPostProcessorClass() throws ClassNotFoundException {
|
||||||
|
try {
|
||||||
|
return Class.forName("org.springframework.security.config.ObjectPostProcessor");
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// this was marked deprecated for removal in 6.4.2
|
||||||
|
return Class.forName("org.springframework.security.config.annotation.ObjectPostProcessor");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,17 @@
|
||||||
package io.opentelemetry.instrumentation.spring.security.config.v6_0.servlet;
|
package io.opentelemetry.instrumentation.spring.security.config.v6_0.servlet;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
import io.opentelemetry.instrumentation.spring.security.config.v6_0.EnduserAttributesCapturer;
|
import io.opentelemetry.instrumentation.spring.security.config.v6_0.EnduserAttributesCapturer;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Map;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.mockito.Mock;
|
|
||||||
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.security.config.annotation.ObjectPostProcessor;
|
|
||||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
import org.springframework.security.web.DefaultSecurityFilterChain;
|
import org.springframework.security.web.DefaultSecurityFilterChain;
|
||||||
|
|
@ -29,8 +29,6 @@ class EnduserAttributesHttpSecurityCustomizerTest {
|
||||||
@Configuration
|
@Configuration
|
||||||
static class TestConfiguration {}
|
static class TestConfiguration {}
|
||||||
|
|
||||||
@Mock ObjectPostProcessor<Object> objectPostProcessor;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures that the {@link EnduserAttributesHttpSecurityCustomizer} registers a {@link
|
* Ensures that the {@link EnduserAttributesHttpSecurityCustomizer} registers a {@link
|
||||||
* EnduserAttributesCapturingServletFilter} in the filter chain.
|
* EnduserAttributesCapturingServletFilter} in the filter chain.
|
||||||
|
|
@ -40,13 +38,7 @@ class EnduserAttributesHttpSecurityCustomizerTest {
|
||||||
@Test
|
@Test
|
||||||
void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) throws Exception {
|
void ensureFilterRegistered(@Autowired ApplicationContext applicationContext) throws Exception {
|
||||||
|
|
||||||
AuthenticationManagerBuilder authenticationBuilder =
|
HttpSecurity httpSecurity = createHttpSecurity(applicationContext);
|
||||||
new AuthenticationManagerBuilder(objectPostProcessor);
|
|
||||||
HttpSecurity httpSecurity =
|
|
||||||
new HttpSecurity(
|
|
||||||
objectPostProcessor,
|
|
||||||
authenticationBuilder,
|
|
||||||
Collections.singletonMap(ApplicationContext.class, applicationContext));
|
|
||||||
|
|
||||||
EnduserAttributesHttpSecurityCustomizer customizer =
|
EnduserAttributesHttpSecurityCustomizer customizer =
|
||||||
new EnduserAttributesHttpSecurityCustomizer(new EnduserAttributesCapturer());
|
new EnduserAttributesHttpSecurityCustomizer(new EnduserAttributesCapturer());
|
||||||
|
|
@ -58,4 +50,29 @@ class EnduserAttributesHttpSecurityCustomizerTest {
|
||||||
.filteredOn(EnduserAttributesCapturingServletFilter.class::isInstance)
|
.filteredOn(EnduserAttributesCapturingServletFilter.class::isInstance)
|
||||||
.hasSize(1);
|
.hasSize(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static HttpSecurity createHttpSecurity(ApplicationContext applicationContext)
|
||||||
|
throws Exception {
|
||||||
|
|
||||||
|
Class<?> processorClass = getObjectPostProcessorClass();
|
||||||
|
Object processor = mock(processorClass);
|
||||||
|
AuthenticationManagerBuilder authenticationBuilder =
|
||||||
|
AuthenticationManagerBuilder.class.getConstructor(processorClass).newInstance(processor);
|
||||||
|
|
||||||
|
return HttpSecurity.class
|
||||||
|
.getConstructor(processorClass, AuthenticationManagerBuilder.class, Map.class)
|
||||||
|
.newInstance(
|
||||||
|
processor,
|
||||||
|
authenticationBuilder,
|
||||||
|
Collections.singletonMap(ApplicationContext.class, applicationContext));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Class<?> getObjectPostProcessorClass() throws ClassNotFoundException {
|
||||||
|
try {
|
||||||
|
return Class.forName("org.springframework.security.config.ObjectPostProcessor");
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// this was marked deprecated for removal in 6.4.2
|
||||||
|
return Class.forName("org.springframework.security.config.annotation.ObjectPostProcessor");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue