From 4a60e3ccf6a7d91a6eeff61d07a478678832be26 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 29 Nov 2013 17:20:30 +0000 Subject: [PATCH] Unignore condition tests --- .../condition/ConditionalOnBeanTests.java | 24 +++++++++++++++++++ .../condition/ConditionalOnClassTests.java | 4 ++-- .../boot/autoconfigure/condition}/foo.xml | 0 3 files changed, 26 insertions(+), 2 deletions(-) rename {spring-boot/src/test/resources/org/springframework/boot/context => spring-boot-autoconfigure/src/test/resources/org/springframework/boot/autoconfigure/condition}/foo.xml (100%) diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java index 3d1a356957..fa31786529 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java @@ -16,6 +16,8 @@ package org.springframework.boot.autoconfigure.condition; +import java.util.Date; + import org.junit.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; @@ -45,6 +47,19 @@ public class ConditionalOnBeanTests { assertEquals("bar", this.context.getBean("bar")); } + @Test + public void testNameAndTypeOnBeanCondition() { + this.context.register(FooConfiguration.class, + OnBeanNameAndTypeConfiguration.class); + this.context.refresh(); + /* + * Arguably this should be true, but as things are implemented the conditions + * specified in the different attributes of @ConditionalOnBean are combined with + * logical OR (not AND) so if any of them match the condition is true. + */ + assertFalse(this.context.containsBean("bar")); + } + @Test public void testNameOnBeanConditionReverseOrder() { this.context.register(OnBeanNameConfiguration.class, FooConfiguration.class); @@ -94,6 +109,15 @@ public class ConditionalOnBeanTests { } } + @Configuration + @ConditionalOnMissingBean(name = "foo", value = Date.class) + protected static class OnBeanNameAndTypeConfiguration { + @Bean + public String bar() { + return "bar"; + } + } + @Configuration @ConditionalOnBean(annotation = EnableScheduling.class) protected static class OnAnnotationConfiguration { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java index c446fe4e2e..e27c7c1409 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java @@ -95,13 +95,13 @@ public class ConditionalOnClassTests { } @Configuration - @ImportResource("org/springframework/boot/context/foo.xml") + @ImportResource("org/springframework/boot/autoconfigure/condition/foo.xml") protected static class XmlConfiguration { } @Configuration @Import(BasicConfiguration.class) - @ImportResource("org/springframework/boot/context/foo.xml") + @ImportResource("org/springframework/boot/autoconfigure/condition/foo.xml") protected static class CombinedXmlConfiguration { } } diff --git a/spring-boot/src/test/resources/org/springframework/boot/context/foo.xml b/spring-boot-autoconfigure/src/test/resources/org/springframework/boot/autoconfigure/condition/foo.xml similarity index 100% rename from spring-boot/src/test/resources/org/springframework/boot/context/foo.xml rename to spring-boot-autoconfigure/src/test/resources/org/springframework/boot/autoconfigure/condition/foo.xml