Restructure test to use Nested more consistently
This commit is contained in:
		
							parent
							
								
									669c723ae0
								
							
						
					
					
						commit
						4fd1431cea
					
				| 
						 | 
				
			
			@ -111,18 +111,16 @@ class ApplicationContextAotGeneratorTests {
 | 
			
		|||
		});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Nested
 | 
			
		||||
	class Autowiring {
 | 
			
		||||
 | 
			
		||||
		@Test
 | 
			
		||||
		void processAheadOfTimeWhenHasAutowiring() {
 | 
			
		||||
			GenericApplicationContext applicationContext = new GenericApplicationContext();
 | 
			
		||||
		applicationContext.registerBeanDefinition(AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME,
 | 
			
		||||
				BeanDefinitionBuilder
 | 
			
		||||
						.rootBeanDefinition(AutowiredAnnotationBeanPostProcessor.class)
 | 
			
		||||
						.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
 | 
			
		||||
			registerBeanPostProcessor(applicationContext,
 | 
			
		||||
					AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME, AutowiredAnnotationBeanPostProcessor.class);
 | 
			
		||||
			applicationContext.registerBeanDefinition("autowiredComponent", new RootBeanDefinition(AutowiredComponent.class));
 | 
			
		||||
		applicationContext.registerBeanDefinition("number",
 | 
			
		||||
				BeanDefinitionBuilder
 | 
			
		||||
						.rootBeanDefinition(Integer.class, "valueOf")
 | 
			
		||||
						.addConstructorArgValue("42").getBeanDefinition());
 | 
			
		||||
			registerIntegerBean(applicationContext, "number", 42);
 | 
			
		||||
			testCompiledResult(applicationContext, (initializer, compiled) -> {
 | 
			
		||||
				GenericApplicationContext freshApplicationContext = toFreshApplicationContext(initializer);
 | 
			
		||||
				assertThat(freshApplicationContext.getBeanDefinitionNames()).containsOnly("autowiredComponent", "number");
 | 
			
		||||
| 
						 | 
				
			
			@ -216,10 +214,8 @@ class ApplicationContextAotGeneratorTests {
 | 
			
		|||
			GenericApplicationContext applicationContext = new GenericApplicationContext();
 | 
			
		||||
			applicationContext.getDefaultListableBeanFactory().setAutowireCandidateResolver(
 | 
			
		||||
					new ContextAnnotationAutowireCandidateResolver());
 | 
			
		||||
		applicationContext.registerBeanDefinition(AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME,
 | 
			
		||||
				BeanDefinitionBuilder
 | 
			
		||||
						.rootBeanDefinition(AutowiredAnnotationBeanPostProcessor.class)
 | 
			
		||||
						.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
 | 
			
		||||
			registerBeanPostProcessor(applicationContext,
 | 
			
		||||
					AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME, AutowiredAnnotationBeanPostProcessor.class);
 | 
			
		||||
			applicationContext.registerBeanDefinition("testComponent", beanDefinition);
 | 
			
		||||
			TestGenerationContext generationContext = processAheadOfTime(applicationContext);
 | 
			
		||||
			testCompiledResult(generationContext, (initializer, compiled) -> {
 | 
			
		||||
| 
						 | 
				
			
			@ -229,14 +225,16 @@ class ApplicationContextAotGeneratorTests {
 | 
			
		|||
			});
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Nested
 | 
			
		||||
	class InitDestroy {
 | 
			
		||||
 | 
			
		||||
		@Test
 | 
			
		||||
		void processAheadOfTimeWhenHasInitDestroyMethods() {
 | 
			
		||||
			GenericApplicationContext applicationContext = new GenericApplicationContext();
 | 
			
		||||
		applicationContext.registerBeanDefinition(
 | 
			
		||||
				AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME,
 | 
			
		||||
				BeanDefinitionBuilder
 | 
			
		||||
						.rootBeanDefinition(CommonAnnotationBeanPostProcessor.class)
 | 
			
		||||
						.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
 | 
			
		||||
			registerBeanPostProcessor(applicationContext,
 | 
			
		||||
					AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME, CommonAnnotationBeanPostProcessor.class);
 | 
			
		||||
			applicationContext.registerBeanDefinition("initDestroyComponent",
 | 
			
		||||
					new RootBeanDefinition(InitDestroyComponent.class));
 | 
			
		||||
			testCompiledResult(applicationContext, (initializer, compiled) -> {
 | 
			
		||||
| 
						 | 
				
			
			@ -252,11 +250,8 @@ class ApplicationContextAotGeneratorTests {
 | 
			
		|||
		@Test
 | 
			
		||||
		void processAheadOfTimeWhenHasMultipleInitDestroyMethods() {
 | 
			
		||||
			GenericApplicationContext applicationContext = new GenericApplicationContext();
 | 
			
		||||
		applicationContext.registerBeanDefinition(
 | 
			
		||||
				AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME,
 | 
			
		||||
				BeanDefinitionBuilder
 | 
			
		||||
						.rootBeanDefinition(CommonAnnotationBeanPostProcessor.class)
 | 
			
		||||
						.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
 | 
			
		||||
			registerBeanPostProcessor(applicationContext,
 | 
			
		||||
					AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME, CommonAnnotationBeanPostProcessor.class);
 | 
			
		||||
			RootBeanDefinition beanDefinition = new RootBeanDefinition(InitDestroyComponent.class);
 | 
			
		||||
			beanDefinition.setInitMethodName("customInit");
 | 
			
		||||
			beanDefinition.setDestroyMethodName("customDestroy");
 | 
			
		||||
| 
						 | 
				
			
			@ -271,6 +266,8 @@ class ApplicationContextAotGeneratorTests {
 | 
			
		|||
			});
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	void processAheadOfTimeWhenHasNoAotContributions() {
 | 
			
		||||
		GenericApplicationContext applicationContext = new GenericApplicationContext();
 | 
			
		||||
| 
						 | 
				
			
			@ -514,6 +511,22 @@ class ApplicationContextAotGeneratorTests {
 | 
			
		|||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static void registerBeanPostProcessor(GenericApplicationContext applicationContext,
 | 
			
		||||
			String beanName, Class<?> beanPostProcessorClass) {
 | 
			
		||||
 | 
			
		||||
		applicationContext.registerBeanDefinition(beanName, BeanDefinitionBuilder
 | 
			
		||||
				.rootBeanDefinition(beanPostProcessorClass).setRole(BeanDefinition.ROLE_INFRASTRUCTURE)
 | 
			
		||||
				.getBeanDefinition());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static void registerIntegerBean(GenericApplicationContext applicationContext,
 | 
			
		||||
			String beanName, int value) {
 | 
			
		||||
 | 
			
		||||
		applicationContext.registerBeanDefinition(beanName, BeanDefinitionBuilder
 | 
			
		||||
				.rootBeanDefinition(Integer.class, "valueOf").addConstructorArgValue(value)
 | 
			
		||||
				.getBeanDefinition());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private Consumer<List<? extends JdkProxyHint>> doesNotHaveProxyFor(Class<?> target) {
 | 
			
		||||
		return hints -> assertThat(hints).noneMatch(hint ->
 | 
			
		||||
				hint.getProxiedInterfaces().get(0).equals(TypeReference.of(target)));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue