Skip to content

Commit 3865fc0

Browse files
committed
test: refactor CRD generator tests to use final var for local variables
Signed-off-by: David Sondermann <david.sondermann@hivemq.com>
1 parent c5d10be commit 3865fc0

File tree

6 files changed

+161
-173
lines changed

6 files changed

+161
-173
lines changed

java-generator/core/src/test/java/io/fabric8/java/generator/ApprovalTest.java

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,15 @@
1919
import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition;
2020
import io.fabric8.kubernetes.client.utils.Serialization;
2121
import org.approvaltests.Approvals;
22-
import org.approvaltests.namer.NamedEnvironment;
2322
import org.approvaltests.namer.NamerFactory;
2423
import org.junit.jupiter.params.ParameterizedTest;
2524
import org.junit.jupiter.params.provider.Arguments;
2625
import org.junit.jupiter.params.provider.MethodSource;
2726

2827
import java.util.ArrayList;
29-
import java.util.Collections;
3028
import java.util.HashMap;
3129
import java.util.List;
30+
import java.util.Map;
3231
import java.util.stream.Stream;
3332

3433
import static io.fabric8.java.generator.CRGeneratorRunner.groupToPackage;
@@ -47,33 +46,32 @@ private static Stream<Arguments> getCRDGenerationInputData() {
4746
new Config()),
4847
Arguments.of("testCalicoIPPoolCrd", "calico-ippool-crd.yml", "IPPool", "CalicoIPPoolCr", new Config()),
4948
Arguments.of("testExistingJavaType", "existing-java-type-crd.yml", "ExistingJavaType", "ExistingJavaTypeCr",
50-
Config.builder().existingJavaTypes(Collections.singletonMap(
51-
"org.test.v1.existingjavatypespec.Affinity", "io.fabric8.kubernetes.api.model.Affinity")).build()));
49+
Config.builder().existingJavaTypes(
50+
Map.of("org.test.v1.existingjavatypespec.Affinity", "io.fabric8.kubernetes.api.model.Affinity")).build()));
5251
}
5352

5453
@ParameterizedTest
5554
@MethodSource("getCRDGenerationInputData")
5655
void generate_withValidCrd_shouldGeneratePojos(String parameter, String crdYaml, String customResourceName,
5756
String approvalLabel, Config config) {
58-
try (NamedEnvironment en = NamerFactory.withParameters(parameter)) {
57+
try (var ignored = NamerFactory.withParameters(parameter)) {
5958
// Arrange
60-
CRGeneratorRunner runner = new CRGeneratorRunner(config);
61-
CustomResourceDefinition crd = getCRD(crdYaml);
59+
final var runner = new CRGeneratorRunner(config);
60+
final var crd = getCRD(crdYaml);
6261

6362
// Act
64-
List<WritableCRCompilationUnit> writables = runner.generate(crd, groupToPackage("test.org"));
63+
final var writables = runner.generate(crd, groupToPackage("test.org"));
6564

6665
// Assert
6766
assertThat(writables).hasSize(1);
6867

69-
WritableCRCompilationUnit writable = writables.get(0);
70-
71-
List<String> underTest = new ArrayList<>();
72-
List<GeneratorResult.ClassResult> crl = writable.getClassResults();
68+
final var writable = writables.get(0);
69+
final var underTest = new ArrayList<>();
70+
final var crl = writable.getClassResults();
7371
underTest.add(getJavaClass(crl, customResourceName));
7472
underTest.add(getJavaClass(crl, customResourceName + "Spec"));
7573
// not all the tested CRDs have a status definition, e.g. see calico-ippool-crd.yml
76-
final String statusCrlName = customResourceName + "Status";
74+
final var statusCrlName = customResourceName + "Status";
7775
if (crl.stream().anyMatch(c -> c.getName().equals(statusCrlName))) {
7876
underTest.add(getJavaClass(crl, statusCrlName));
7977
}
@@ -82,13 +80,10 @@ void generate_withValidCrd_shouldGeneratePojos(String parameter, String crdYaml,
8280
}
8381

8482
private CustomResourceDefinition getCRD(String name) {
85-
return Serialization.unmarshal(
86-
this.getClass().getClassLoader().getResourceAsStream(name),
87-
CustomResourceDefinition.class);
83+
return Serialization.unmarshal(getClass().getClassLoader().getResourceAsStream(name), CustomResourceDefinition.class);
8884
}
8985

9086
private String getJavaClass(List<GeneratorResult.ClassResult> classResults, String name) {
91-
GeneratorResult.ClassResult cr = classResults.stream().filter(c -> c.getName().equals(name)).findFirst().get();
92-
return cr.getJavaSource();
87+
return classResults.stream().filter(c -> c.getName().equals(name)).findFirst().orElseThrow().getJavaSource();
9388
}
9489
}

java-generator/core/src/test/java/io/fabric8/java/generator/CompilationTest.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@
2828
import org.junit.jupiter.params.provider.MethodSource;
2929

3030
import java.io.File;
31-
import java.io.IOException;
32-
import java.net.URL;
3331
import java.nio.file.Files;
34-
import java.nio.file.Path;
3532
import java.nio.file.Paths;
3633
import java.util.ArrayList;
3734
import java.util.List;
@@ -82,11 +79,11 @@ private static Stream<Arguments> compilationTestData() {
8279
@MethodSource("compilationTestData")
8380
void yamlCompiles(String yamlFile, int expectedGeneratedSourceFiles) throws Exception {
8481
// Arrange
85-
File crd = getCRD(yamlFile);
82+
final var crd = getCRD(yamlFile);
8683

8784
// Act
8885
new FileJavaGenerator(config, crd).run(tempDir);
89-
Compilation compilation = javac().compile(getSources(tempDir));
86+
final var compilation = javac().compile(getSources(tempDir));
9087

9188
// Assert
9289
assertThat(compilation.errors()).isEmpty();
@@ -98,14 +95,14 @@ void yamlCompiles(String yamlFile, int expectedGeneratedSourceFiles) throws Exce
9895
@Test
9996
void testCrontabCRDCompilesWithExtraAnnotations() throws Exception {
10097
// Arrange
101-
File crd = getCRD("crontab-crd.yml");
98+
final var crd = getCRD("crontab-crd.yml");
10299
config = config.toBuilder()
103100
.objectExtraAnnotations(true)
104101
.build();
105102

106103
// Act
107104
new FileJavaGenerator(config, crd).run(tempDir);
108-
Compilation compilation = javac()
105+
final var compilation = javac()
109106
.withProcessors(new BuildableProcessor())
110107
.compile(getSources(tempDir));
111108

@@ -118,7 +115,7 @@ void testCrontabCRDCompilesWithExtraAnnotations() throws Exception {
118115
@Test
119116
void testCalicoIPPoolCRDDoesNotCompileWhenDuplicatesAreNotDeprecated() throws Exception {
120117
// Arrange
121-
File crd = getCRD("calico-ippool-broken-crd.yml");
118+
final var crd = getCRD("calico-ippool-broken-crd.yml");
122119
config = config.toBuilder()
123120
.objectExtraAnnotations(true)
124121
.build();
@@ -132,11 +129,11 @@ void testCalicoIPPoolCRDDoesNotCompileWhenDuplicatesAreNotDeprecated() throws Ex
132129
.isInstanceOf(JavaGeneratorException.class);
133130
}
134131

135-
static List<JavaFileObject> getSources(File basePath) throws IOException {
136-
List<JavaFileObject> sources = new ArrayList<>();
137-
try (Stream<Path> pathStream = Files.list(basePath.toPath())) {
138-
for (Path path : pathStream.collect(Collectors.toList())) {
139-
File file = path.toFile();
132+
static List<JavaFileObject> getSources(File basePath) throws Exception {
133+
final var sources = new ArrayList<JavaFileObject>();
134+
try (final var pathStream = Files.list(basePath.toPath())) {
135+
for (final var path : pathStream.collect(Collectors.toList())) {
136+
final var file = path.toFile();
140137
if (file.isDirectory()) {
141138
sources.addAll(getSources(file));
142139
} else {
@@ -148,7 +145,7 @@ static List<JavaFileObject> getSources(File basePath) throws IOException {
148145
}
149146

150147
static File getCRD(String name) throws Exception {
151-
URL resource = CompilationTest.class.getClassLoader().getResource(name);
148+
final var resource = CompilationTest.class.getClassLoader().getResource(name);
152149
assertThat(resource).isNotNull();
153150
return Paths.get(resource.toURI()).toFile();
154151
}

java-generator/core/src/test/java/io/fabric8/java/generator/ConfigTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class ConfigTest {
2323

2424
@Test
2525
void defaultValuesWithAllArgsConstructor() {
26-
final Config result = new Config(null, null, null, null, null, null, null, null, null);
26+
final var result = new Config(null, null, null, null, null, null, null, null, null);
2727
assertThat(result)
2828
.returns(Config.DEFAULT_UPPERCASE_ENUM, Config::isUppercaseEnums)
2929
.returns(Config.DEFAULT_ADD_EXTRA_ANNOTATIONS, Config::isObjectExtraAnnotations)
@@ -37,7 +37,7 @@ void defaultValuesWithAllArgsConstructor() {
3737

3838
@Test
3939
void defaultValuesWithNoArgsConstructor() {
40-
final Config result = new Config();
40+
final var result = new Config();
4141
assertThat(result)
4242
.returns(Config.DEFAULT_UPPERCASE_ENUM, Config::isUppercaseEnums)
4343
.returns(Config.DEFAULT_ADD_EXTRA_ANNOTATIONS, Config::isObjectExtraAnnotations)
@@ -51,7 +51,7 @@ void defaultValuesWithNoArgsConstructor() {
5151

5252
@Test
5353
void defaultValuesWithBuilder() {
54-
final Config result = Config.builder().build();
54+
final var result = Config.builder().build();
5555
assertThat(result)
5656
.returns(Config.DEFAULT_UPPERCASE_ENUM, Config::isUppercaseEnums)
5757
.returns(Config.DEFAULT_ADD_EXTRA_ANNOTATIONS, Config::isObjectExtraAnnotations)

0 commit comments

Comments
 (0)