parent
56dcae8a3c
commit
910e9c9fcc
|
@ -16,8 +16,12 @@
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigureprocessor;
|
package org.springframework.boot.autoconfigureprocessor;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
@ -26,13 +30,11 @@ import org.junit.jupiter.api.io.TempDir;
|
||||||
import org.springframework.boot.testsupport.compiler.TestCompiler;
|
import org.springframework.boot.testsupport.compiler.TestCompiler;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.linesOf;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link AutoConfigurationImportsAnnotationProcessor}.
|
* Tests for {@link AutoConfigurationImportsAnnotationProcessor}.
|
||||||
*
|
*
|
||||||
* @author Scott Frederick
|
* @author Scott Frederick
|
||||||
* @author Stephane Nicoll
|
|
||||||
*/
|
*/
|
||||||
class AutoConfigurationImportsAnnotationProcessorTests {
|
class AutoConfigurationImportsAnnotationProcessorTests {
|
||||||
|
|
||||||
|
@ -47,24 +49,34 @@ class AutoConfigurationImportsAnnotationProcessorTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void annotatedClasses() {
|
void annotatedClasses() throws Exception {
|
||||||
File generatedFile = generateAnnotatedClasses(TestAutoConfigurationOnlyConfiguration.class,
|
List<String> classes = compile(TestAutoConfigurationOnlyConfiguration.class,
|
||||||
TestAutoConfigurationConfiguration.class);
|
TestAutoConfigurationConfiguration.class);
|
||||||
assertThat(generatedFile).exists().isFile();
|
assertThat(classes).hasSize(2);
|
||||||
assertThat(linesOf(generatedFile)).containsExactly(
|
assertThat(classes).containsExactly(
|
||||||
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigurationConfiguration",
|
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigurationConfiguration",
|
||||||
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigurationOnlyConfiguration");
|
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigurationOnlyConfiguration");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void notAnnotatedClasses() {
|
void notAnnotatedClasses() throws Exception {
|
||||||
assertThat(generateAnnotatedClasses(TestAutoConfigurationImportsAnnotationProcessor.class)).doesNotExist();
|
List<String> classes = compile(TestAutoConfigurationImportsAnnotationProcessor.class);
|
||||||
|
assertThat(classes).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
private File generateAnnotatedClasses(Class<?>... types) {
|
private List<String> compile(Class<?>... types) throws IOException {
|
||||||
TestAutoConfigurationImportsAnnotationProcessor processor = new TestAutoConfigurationImportsAnnotationProcessor();
|
TestAutoConfigurationImportsAnnotationProcessor processor = new TestAutoConfigurationImportsAnnotationProcessor();
|
||||||
this.compiler.getTask(types).call(processor);
|
this.compiler.getTask(types).call(processor);
|
||||||
return new File(this.tempDir, processor.getImportsFilePath());
|
return getWrittenImports(processor.getImportsFilePath());
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getWrittenImports(String importsFilePath) throws IOException {
|
||||||
|
File file = new File(this.tempDir, importsFilePath);
|
||||||
|
if (!file.exists()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
BufferedReader reader = new BufferedReader(new FileReader(file));
|
||||||
|
return reader.lines().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,12 @@
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigureprocessor;
|
package org.springframework.boot.autoconfigureprocessor;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
@ -26,13 +30,11 @@ import org.junit.jupiter.api.io.TempDir;
|
||||||
import org.springframework.boot.testsupport.compiler.TestCompiler;
|
import org.springframework.boot.testsupport.compiler.TestCompiler;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.linesOf;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link ManagementContextConfigurationImportsAnnotationProcessor}.
|
* Tests for {@link ManagementContextConfigurationImportsAnnotationProcessor}.
|
||||||
*
|
*
|
||||||
* @author Scott Frederick
|
* @author Scott Frederick
|
||||||
* @author Stephane Nicoll
|
|
||||||
*/
|
*/
|
||||||
class ManagementContextConfigurationImportsAnnotationProcessorTests {
|
class ManagementContextConfigurationImportsAnnotationProcessorTests {
|
||||||
|
|
||||||
|
@ -47,24 +49,34 @@ class ManagementContextConfigurationImportsAnnotationProcessorTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void annotatedClasses() {
|
void annotatedClasses() throws Exception {
|
||||||
File generatedFile = generateAnnotatedClasses(TestManagementContextConfigurationTwo.class,
|
List<String> classes = compile(TestManagementContextConfigurationTwo.class,
|
||||||
TestManagementContextConfigurationOne.class);
|
TestManagementContextConfigurationOne.class);
|
||||||
assertThat(generatedFile).exists().isFile();
|
assertThat(classes).hasSize(2);
|
||||||
assertThat(linesOf(generatedFile)).containsExactly(
|
assertThat(classes).containsExactly(
|
||||||
"org.springframework.boot.autoconfigureprocessor.TestManagementContextConfigurationOne",
|
"org.springframework.boot.autoconfigureprocessor.TestManagementContextConfigurationOne",
|
||||||
"org.springframework.boot.autoconfigureprocessor.TestManagementContextConfigurationTwo");
|
"org.springframework.boot.autoconfigureprocessor.TestManagementContextConfigurationTwo");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void notAnnotatedClasses() {
|
void notAnnotatedClasses() throws Exception {
|
||||||
assertThat(generateAnnotatedClasses(TestAutoConfigurationImportsAnnotationProcessor.class)).doesNotExist();
|
List<String> classes = compile(TestAutoConfigurationConfiguration.class);
|
||||||
|
assertThat(classes).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
private File generateAnnotatedClasses(Class<?>... types) {
|
private List<String> compile(Class<?>... types) throws IOException {
|
||||||
TestManagementContextConfigurationImportsAnnotationProcessor processor = new TestManagementContextConfigurationImportsAnnotationProcessor();
|
TestManagementContextConfigurationImportsAnnotationProcessor processor = new TestManagementContextConfigurationImportsAnnotationProcessor();
|
||||||
this.compiler.getTask(types).call(processor);
|
this.compiler.getTask(types).call(processor);
|
||||||
return new File(this.tempDir, processor.getImportsFilePath());
|
return getWrittenImports(processor.getImportsFilePath());
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getWrittenImports(String importsFilePath) throws IOException {
|
||||||
|
File file = new File(this.tempDir, importsFilePath);
|
||||||
|
if (!file.exists()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
BufferedReader reader = new BufferedReader(new FileReader(file));
|
||||||
|
return reader.lines().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue