As `validation-api` 2 is available by default, this commit adds the
integration test as a regular test case. The integration test is kept to
exercise what happens in a standard project.

See gh-11512
pull/11674/head
Stephane Nicoll 7 years ago
parent 60f5cf10ba
commit 49b5fe0c29

@ -20,6 +20,11 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test-support</artifactId> <artifactId>spring-boot-test-support</artifactId>

@ -66,6 +66,7 @@ import org.springframework.boot.configurationsample.simple.SimpleCollectionPrope
import org.springframework.boot.configurationsample.simple.SimplePrefixValueProperties; import org.springframework.boot.configurationsample.simple.SimplePrefixValueProperties;
import org.springframework.boot.configurationsample.simple.SimpleProperties; import org.springframework.boot.configurationsample.simple.SimpleProperties;
import org.springframework.boot.configurationsample.simple.SimpleTypeProperties; import org.springframework.boot.configurationsample.simple.SimpleTypeProperties;
import org.springframework.boot.configurationsample.specific.AnnotatedGetter;
import org.springframework.boot.configurationsample.specific.BoxingPojo; import org.springframework.boot.configurationsample.specific.BoxingPojo;
import org.springframework.boot.configurationsample.specific.BuilderPojo; import org.springframework.boot.configurationsample.specific.BuilderPojo;
import org.springframework.boot.configurationsample.specific.DeprecatedUnrelatedMethodPojo; import org.springframework.boot.configurationsample.specific.DeprecatedUnrelatedMethodPojo;
@ -337,6 +338,15 @@ public class ConfigurationMetadataAnnotationProcessorTests {
.withDeprecation(null, null)); .withDeprecation(null, null));
} }
@Test
public void annotatedGetter() {
ConfigurationMetadata metadata = compile(AnnotatedGetter.class);
assertThat(metadata).has(Metadata.withGroup("specific")
.fromSource(AnnotatedGetter.class));
assertThat(metadata).has(Metadata.withProperty("specific.name", String.class)
.fromSource(AnnotatedGetter.class));
}
@Test @Test
public void innerClassRootConfig() { public void innerClassRootConfig() {
ConfigurationMetadata metadata = compile(InnerClassRootConfig.class); ConfigurationMetadata metadata = compile(InnerClassRootConfig.class);

@ -0,0 +1,43 @@
/*
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.configurationsample.specific;
import javax.validation.constraints.NotEmpty;
import org.springframework.boot.configurationsample.ConfigurationProperties;
/**
* An annotated getter with {@code NotEmpty} that triggers a different class type
* in the compiler. See #11512
*
* @author Stephane Nicoll
*/
@ConfigurationProperties("specific")
public class AnnotatedGetter {
private String name;
@NotEmpty
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Loading…
Cancel
Save