DelegatingFilterProxyRegistrationBeanTests Class — spring-boot Architecture
Architecture documentation for the DelegatingFilterProxyRegistrationBeanTests class in DelegatingFilterProxyRegistrationBeanTests.java from the spring-boot codebase.
Entity Profile
Source Code
core/spring-boot/src/test/java/org/springframework/boot/web/servlet/DelegatingFilterProxyRegistrationBeanTests.java lines 44–125
class DelegatingFilterProxyRegistrationBeanTests extends AbstractFilterRegistrationBeanTests {
private static final ThreadLocal<Boolean> mockFilterInitialized = new ThreadLocal<>();
private final GenericWebApplicationContext applicationContext = new GenericWebApplicationContext(
new MockServletContext());
@Test
@SuppressWarnings("NullAway") // Test null check
void targetBeanNameMustNotBeNull() {
assertThatIllegalArgumentException().isThrownBy(() -> new DelegatingFilterProxyRegistrationBean(null))
.withMessageContaining("'targetBeanName' must not be empty");
}
@Test
@SuppressWarnings("NullAway") // Test null check
void targetBeanNameMustNotBeEmpty() {
assertThatIllegalArgumentException().isThrownBy(() -> new DelegatingFilterProxyRegistrationBean(""))
.withMessageContaining("'targetBeanName' must not be empty");
}
@Test
void nameDefaultsToTargetBeanName() {
assertThat(new DelegatingFilterProxyRegistrationBean("myFilter").getOrDeduceName(null)).isEqualTo("myFilter");
}
@Test
void getFilterUsesDelegatingFilterProxy() {
DelegatingFilterProxyRegistrationBean registrationBean = createFilterRegistrationBean();
Filter filter = registrationBean.getFilter();
assertThat(filter).isInstanceOf(DelegatingFilterProxy.class);
assertThat(filter).extracting("webApplicationContext").isEqualTo(this.applicationContext);
assertThat(filter).extracting("targetBeanName").isEqualTo("mockFilter");
}
@Test
void initShouldNotCauseEarlyInitialization() throws Exception {
this.applicationContext.registerBeanDefinition("mockFilter", new RootBeanDefinition(MockFilter.class));
DelegatingFilterProxyRegistrationBean registrationBean = createFilterRegistrationBean();
Filter filter = registrationBean.getFilter();
filter.init(new MockFilterConfig());
mockFilterInitialized.remove();
filter.doFilter(new MockHttpServletRequest(), new MockHttpServletResponse(), new MockFilterChain());
assertThat(mockFilterInitialized.get()).isTrue();
}
@Test
@SuppressWarnings("NullAway") // Test null check
void createServletRegistrationBeanMustNotBeNull() {
assertThatIllegalArgumentException()
.isThrownBy(
() -> new DelegatingFilterProxyRegistrationBean("mockFilter", (ServletRegistrationBean<?>[]) null))
.withMessageContaining("'servletRegistrationBeans' must not be null");
}
@Override
protected DelegatingFilterProxyRegistrationBean createFilterRegistrationBean(
ServletRegistrationBean<?>... servletRegistrationBeans) {
DelegatingFilterProxyRegistrationBean bean = new DelegatingFilterProxyRegistrationBean("mockFilter",
servletRegistrationBeans);
bean.setApplicationContext(this.applicationContext);
return bean;
}
@Override
protected Filter getExpectedFilter() {
return isA(DelegatingFilterProxy.class);
}
static class MockFilter extends GenericFilterBean {
MockFilter() {
mockFilterInitialized.set(true);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
}
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free