19
19
import io .fabric8 .kubernetes .api .model .apiextensions .v1 .CustomResourceDefinition ;
20
20
import io .fabric8 .kubernetes .client .utils .Serialization ;
21
21
import org .approvaltests .Approvals ;
22
- import org .approvaltests .namer .NamedEnvironment ;
23
22
import org .approvaltests .namer .NamerFactory ;
24
23
import org .junit .jupiter .params .ParameterizedTest ;
25
24
import org .junit .jupiter .params .provider .Arguments ;
26
25
import org .junit .jupiter .params .provider .MethodSource ;
27
26
28
27
import java .util .ArrayList ;
29
- import java .util .Collections ;
30
28
import java .util .HashMap ;
31
29
import java .util .List ;
30
+ import java .util .Map ;
32
31
import java .util .stream .Stream ;
33
32
34
33
import static io .fabric8 .java .generator .CRGeneratorRunner .groupToPackage ;
@@ -47,33 +46,32 @@ private static Stream<Arguments> getCRDGenerationInputData() {
47
46
new Config ()),
48
47
Arguments .of ("testCalicoIPPoolCrd" , "calico-ippool-crd.yml" , "IPPool" , "CalicoIPPoolCr" , new Config ()),
49
48
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 ()));
52
51
}
53
52
54
53
@ ParameterizedTest
55
54
@ MethodSource ("getCRDGenerationInputData" )
56
55
void generate_withValidCrd_shouldGeneratePojos (String parameter , String crdYaml , String customResourceName ,
57
56
String approvalLabel , Config config ) {
58
- try (NamedEnvironment en = NamerFactory .withParameters (parameter )) {
57
+ try (var ignored = NamerFactory .withParameters (parameter )) {
59
58
// 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 );
62
61
63
62
// Act
64
- List < WritableCRCompilationUnit > writables = runner .generate (crd , groupToPackage ("test.org" ));
63
+ final var writables = runner .generate (crd , groupToPackage ("test.org" ));
65
64
66
65
// Assert
67
66
assertThat (writables ).hasSize (1 );
68
67
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 ();
73
71
underTest .add (getJavaClass (crl , customResourceName ));
74
72
underTest .add (getJavaClass (crl , customResourceName + "Spec" ));
75
73
// 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" ;
77
75
if (crl .stream ().anyMatch (c -> c .getName ().equals (statusCrlName ))) {
78
76
underTest .add (getJavaClass (crl , statusCrlName ));
79
77
}
@@ -82,13 +80,10 @@ void generate_withValidCrd_shouldGeneratePojos(String parameter, String crdYaml,
82
80
}
83
81
84
82
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 );
88
84
}
89
85
90
86
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 ();
93
88
}
94
89
}
0 commit comments