1818import io .kubernetes .client .openapi .models .V1CustomResourceDefinition ;
1919import io .kubernetes .client .openapi .models .V1Deployment ;
2020import io .kubernetes .client .openapi .models .V1Pod ;
21+ import io .kubernetes .client .util .generic .dynamic .DynamicKubernetesObject ;
22+
2123import org .junit .jupiter .api .Test ;
2224
2325class ModelMapperTest {
@@ -35,41 +37,52 @@ void prebuiltModelMapping() {
3537
3638 @ Test
3739 void addingModel () {
38- Class objClass =
39- new Object () {
40- {
41- }
42- }.getClass ();
40+ Class <?> objClass = new Object () {}.getClass ();
41+
42+ assertThat (ModelMapper .getApiTypeClass ("example.io/V1" , "Toss" ))
43+ .isEqualTo (DynamicKubernetesObject .class );
4344
4445 ModelMapper .addModelMap ("example.io" , "v1" , "Toss" , objClass );
4546
4647 assertThat (ModelMapper .getApiTypeClass ("example.io/v1" , "Toss" ))
47- .isEqualTo (objClass );
48+ .isEqualTo (objClass );
4849 assertThat (ModelMapper .getApiTypeClass ("example.io" , "v1" , "Toss" ))
49- .isEqualTo (objClass );
50+ .isEqualTo (objClass );
51+
52+ assertThat (ModelMapper .getApiTypeClass ("example.io/V1" , "Toss" ))
53+ .isEqualTo (DynamicKubernetesObject .class );
54+ assertThat (ModelMapper .getApiTypeClass ("example.io" , "V1" , "Toss" ))
55+ .isEqualTo (DynamicKubernetesObject .class );
5056
51- assertThat (ModelMapper .getApiTypeClass ("example.io/V1" , "Toss" )).isNull ();
52- assertThat (ModelMapper .getApiTypeClass ("example.io" , "V1" , "Toss" )).isNull ();
57+ assertThat (ModelMapper .getApiTypeClass ("example.io/v1" , "Tofu" ))
58+ .isEqualTo (DynamicKubernetesObject .class );
59+ assertThat (ModelMapper .getApiTypeClass ("example.io" , "v1" , "Tofu" ))
60+ .isEqualTo (DynamicKubernetesObject .class );
61+
62+ assertThat (ModelMapper .getApiTypeClass ("v1" , "Togu" ))
63+ .isEqualTo (DynamicKubernetesObject .class );
5364
54- assertThat (ModelMapper .getApiTypeClass ("example.io/v1" , "Tofu" )).isNull ();
55- assertThat (ModelMapper .getApiTypeClass ("example.io" , "v1" , "Tofu" )).isNull ();
65+ ModelMapper .addModelMap ("" , "v1" , "Togu" , objClass );
5666
57- assertThat (ModelMapper .getApiTypeClass ("v1" , "Togu" )).isNull ();
58- ModelMapper .addModelMap ("v1" , "Togu" , objClass );
5967 assertThat (ModelMapper .getApiTypeClass ("" , "v1" , "Togu" ))
60- .isEqualTo (objClass );
68+ .isEqualTo (objClass );
6169 assertThat (ModelMapper .getApiTypeClass ("v1" , "Togu" ))
62- .isEqualTo (objClass );
70+ .isEqualTo (objClass );
6371 }
6472
73+ @ Test
74+ void getApiTypeClassReturnsDynamicKubernetesObjectWhenClassNotFound () {
75+ assertThat (ModelMapper .getApiTypeClass ("unknown.group" , "v1" , "UnknownKind" ))
76+ .isEqualTo (DynamicKubernetesObject .class );
77+ }
6578
6679 @ Test
6780 void preBuiltGetGroupVersionKindByClass () {
68- assertThat (ModelMapper .preBuiltGetGroupVersionKindByClass (V1Pod .class ))
69- .hasValue (new GroupVersionKind ("" , "v1" , "Pod" ));
7081 assertThat (ModelMapper .preBuiltGetGroupVersionKindByClass (V1Deployment .class ))
71- .hasValue (new GroupVersionKind ("" , "v1" , "Deployment" ));
82+ .hasValue (new GroupVersionKind ("" , "v1" , "Deployment" ));
83+ assertThat (ModelMapper .preBuiltGetGroupVersionKindByClass (V1Pod .class ))
84+ .hasValue (new GroupVersionKind ("" , "v1" , "Pod" ));
7285 assertThat (ModelMapper .preBuiltGetGroupVersionKindByClass (V1CustomResourceDefinition .class ))
73- .hasValue (new GroupVersionKind ("" , "v1" , "CustomResourceDefinition" ));
86+ .hasValue (new GroupVersionKind ("" , "v1" , "CustomResourceDefinition" ));
7487 }
7588}
0 commit comments