Rename test fixture to avoid class with existing TestBean class

This commit is contained in:
Stephane Nicoll 2022-07-22 12:03:00 +02:00
parent ba5ab1ad9d
commit c09eb633db
3 changed files with 37 additions and 32 deletions

View File

@ -45,38 +45,40 @@ class DefaultBeanRegistrationCodeFragmentsTests {
@Test @Test
void getTargetOnConstructor() { void getTargetOnConstructor() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
assertThat(createInstance(registeredBean).getTarget(registeredBean, assertThat(createInstance(registeredBean).getTarget(registeredBean,
TestBean.class.getDeclaredConstructors()[0])).isEqualTo(TestBean.class); SimpleBean.class.getDeclaredConstructors()[0])).isEqualTo(SimpleBean.class);
} }
@Test @Test
void getTargetOnConstructorToPublicFactoryBean() { void getTargetOnConstructorToPublicFactoryBean() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
assertThat(createInstance(registeredBean).getTarget(registeredBean, assertThat(createInstance(registeredBean).getTarget(registeredBean,
TestBeanFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(TestBean.class); SimpleBeanFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(SimpleBean.class);
} }
@Test @Test
void getTargetOnConstructorToProtectedFactoryBean() { void getTargetOnConstructorToProtectedFactoryBean() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
assertThat(createInstance(registeredBean).getTarget(registeredBean, assertThat(createInstance(registeredBean).getTarget(registeredBean,
PrivilegedTestBeanFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(PrivilegedTestBeanFactoryBean.class); PrivilegedTestBeanFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(
PrivilegedTestBeanFactoryBean.class);
} }
@Test @Test
void getTargetOnMethod() { void getTargetOnMethod() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
Method method = ReflectionUtils.findMethod(TestBeanFactoryBean.class, "getObject"); Method method = ReflectionUtils.findMethod(SimpleBeanFactoryBean.class, "getObject");
assertThat(method).isNotNull(); assertThat(method).isNotNull();
assertThat(createInstance(registeredBean).getTarget(registeredBean, assertThat(createInstance(registeredBean).getTarget(registeredBean,
method)).isEqualTo(TestBeanFactoryBean.class); method)).isEqualTo(SimpleBeanFactoryBean.class);
} }
@Test @Test
void getTargetOnMethodWithInnerBeanInJavaPackage() { void getTargetOnMethodWithInnerBeanInJavaPackage() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", new RootBeanDefinition(String.class)); RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean",
new RootBeanDefinition(String.class));
Method method = ReflectionUtils.findMethod(getClass(), "createString"); Method method = ReflectionUtils.findMethod(getClass(), "createString");
assertThat(method).isNotNull(); assertThat(method).isNotNull();
assertThat(createInstance(innerBean).getTarget(innerBean, assertThat(createInstance(innerBean).getTarget(innerBean,
@ -85,45 +87,47 @@ class DefaultBeanRegistrationCodeFragmentsTests {
@Test @Test
void getTargetOnConstructorWithInnerBeanInJavaPackage() { void getTargetOnConstructorWithInnerBeanInJavaPackage() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", new RootBeanDefinition(String.class)); RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", new RootBeanDefinition(String.class));
assertThat(createInstance(innerBean).getTarget(innerBean, assertThat(createInstance(innerBean).getTarget(innerBean,
String.class.getDeclaredConstructors()[0])).isEqualTo(TestBean.class); String.class.getDeclaredConstructors()[0])).isEqualTo(SimpleBean.class);
} }
@Test @Test
void getTargetOnConstructorWithInnerBeanOnTypeInJavaPackage() { void getTargetOnConstructorWithInnerBeanOnTypeInJavaPackage() {
RegisteredBean registeredBean = registerTestBean(TestBean.class); RegisteredBean registeredBean = registerTestBean(SimpleBean.class);
RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean",
new RootBeanDefinition(StringFactoryBean.class)); new RootBeanDefinition(StringFactoryBean.class));
assertThat(createInstance(innerBean).getTarget(innerBean, assertThat(createInstance(innerBean).getTarget(innerBean,
StringFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(TestBean.class); StringFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(SimpleBean.class);
} }
@Test @Test
void getTargetOnMethodWithInnerBeanInRegularPackage() { void getTargetOnMethodWithInnerBeanInRegularPackage() {
RegisteredBean registeredBean = registerTestBean(DummyFactory.class); RegisteredBean registeredBean = registerTestBean(DummyFactory.class);
RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", new RootBeanDefinition(TestBean.class)); RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean",
Method method = ReflectionUtils.findMethod(TestBeanFactoryBean.class, "getObject"); new RootBeanDefinition(SimpleBean.class));
Method method = ReflectionUtils.findMethod(SimpleBeanFactoryBean.class, "getObject");
assertThat(method).isNotNull(); assertThat(method).isNotNull();
assertThat(createInstance(innerBean).getTarget(innerBean, method)).isEqualTo(TestBeanFactoryBean.class); assertThat(createInstance(innerBean).getTarget(innerBean, method)).isEqualTo(SimpleBeanFactoryBean.class);
} }
@Test @Test
void getTargetOnConstructorWithInnerBeanInRegularPackage() { void getTargetOnConstructorWithInnerBeanInRegularPackage() {
RegisteredBean registeredBean = registerTestBean(DummyFactory.class); RegisteredBean registeredBean = registerTestBean(DummyFactory.class);
RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", new RootBeanDefinition(TestBean.class)); RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean",
new RootBeanDefinition(SimpleBean.class));
assertThat(createInstance(innerBean).getTarget(innerBean, assertThat(createInstance(innerBean).getTarget(innerBean,
TestBean.class.getDeclaredConstructors()[0])).isEqualTo(TestBean.class); SimpleBean.class.getDeclaredConstructors()[0])).isEqualTo(SimpleBean.class);
} }
@Test @Test
void getTargetOnConstructorWithInnerBeanOnFactoryBeanOnTypeInRegularPackage() { void getTargetOnConstructorWithInnerBeanOnFactoryBeanOnTypeInRegularPackage() {
RegisteredBean registeredBean = registerTestBean(DummyFactory.class); RegisteredBean registeredBean = registerTestBean(DummyFactory.class);
RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean", RegisteredBean innerBean = RegisteredBean.ofInnerBean(registeredBean, "innerTestBean",
new RootBeanDefinition(TestBean.class)); new RootBeanDefinition(SimpleBean.class));
assertThat(createInstance(innerBean).getTarget(innerBean, assertThat(createInstance(innerBean).getTarget(innerBean,
TestBeanFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(TestBean.class); SimpleBeanFactoryBean.class.getDeclaredConstructors()[0])).isEqualTo(SimpleBean.class);
} }
@ -134,7 +138,8 @@ class DefaultBeanRegistrationCodeFragmentsTests {
} }
private BeanRegistrationCodeFragments createInstance(RegisteredBean registeredBean) { private BeanRegistrationCodeFragments createInstance(RegisteredBean registeredBean) {
return new DefaultBeanRegistrationCodeFragments(this.beanRegistrationsCode, registeredBean, new BeanDefinitionMethodGeneratorFactory(this.beanFactory)); return new DefaultBeanRegistrationCodeFragments(this.beanRegistrationsCode, registeredBean,
new BeanDefinitionMethodGeneratorFactory(this.beanFactory));
} }
@SuppressWarnings("unused") @SuppressWarnings("unused")
@ -142,16 +147,16 @@ class DefaultBeanRegistrationCodeFragmentsTests {
return "Test"; return "Test";
} }
static class PrivilegedTestBeanFactoryBean implements FactoryBean<TestBean> { static class PrivilegedTestBeanFactoryBean implements FactoryBean<SimpleBean> {
@Override @Override
public TestBean getObject() throws Exception { public SimpleBean getObject() throws Exception {
return new TestBean(); return new SimpleBean();
} }
@Override @Override
public Class<?> getObjectType() { public Class<?> getObjectType() {
return TestBean.class; return SimpleBean.class;
} }
} }

View File

@ -21,5 +21,5 @@ package org.springframework.beans.factory.aot;
* *
* @author Stephane Nicoll * @author Stephane Nicoll
*/ */
public class TestBean { public class SimpleBean {
} }

View File

@ -23,16 +23,16 @@ import org.springframework.beans.factory.FactoryBean;
* *
* @author Stephane Nicoll * @author Stephane Nicoll
*/ */
public class TestBeanFactoryBean implements FactoryBean<TestBean> { public class SimpleBeanFactoryBean implements FactoryBean<SimpleBean> {
@Override @Override
public TestBean getObject() throws Exception { public SimpleBean getObject() throws Exception {
return new TestBean(); return new SimpleBean();
} }
@Override @Override
public Class<?> getObjectType() { public Class<?> getObjectType() {
return TestBean.class; return SimpleBean.class;
} }
} }