Skip to content

Commit 9dba403

Browse files
committed
fix: Make AbstractOperatorExtension use the kubernetesClient if the infrastructureKubernetesClient is not set
Signed-off-by: xstefank <xstefank122@gmail.com>
1 parent 28813ee commit 9dba403

File tree

3 files changed

+85
-43
lines changed

3 files changed

+85
-43
lines changed

operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/AbstractOperatorExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ protected AbstractOperatorExtension(
7878
this.infrastructureKubernetesClient =
7979
infrastructureKubernetesClient != null
8080
? infrastructureKubernetesClient
81-
: new KubernetesClientBuilder().build();
81+
: kubernetesClient != null ? kubernetesClient : new KubernetesClientBuilder().build();
8282
this.kubernetesClient =
8383
kubernetesClient != null ? kubernetesClient : this.infrastructureKubernetesClient;
8484
this.infrastructure = infrastructure;

operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionIT.java

Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
/*
2+
* Copyright Java Operator SDK Authors
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package io.javaoperatorsdk.operator.junit;
17+
18+
import java.nio.file.Path;
19+
import java.util.List;
20+
21+
import org.junit.jupiter.api.Test;
22+
23+
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
24+
25+
import static org.junit.jupiter.api.Assertions.*;
26+
27+
class LocallyRunOperatorExtensionTest {
28+
29+
@Test
30+
void getAdditionalCRDsFromFiles() {
31+
System.out.println(Path.of("").toAbsolutePath());
32+
System.out.println(Path.of("src/test/crd/test.crd").toAbsolutePath());
33+
final var crds =
34+
LocallyRunOperatorExtension.getAdditionalCRDsFromFiles(
35+
List.of("src/test/resources/crd/test.crd", "src/test/crd/test.crd"),
36+
new KubernetesClientBuilder().build());
37+
assertNotNull(crds);
38+
assertEquals(2, crds.size());
39+
assertEquals("src/test/crd/test.crd", crds.get("externals.crd.example"));
40+
assertEquals("src/test/resources/crd/test.crd", crds.get("tests.crd.example"));
41+
}
42+
43+
@Test
44+
void overrideInfrastructureAndUserKubernetesClient() {
45+
var infrastructureClient = new KubernetesClientBuilder().build();
46+
var userKubernetesClient = new KubernetesClientBuilder().build();
47+
48+
LocallyRunOperatorExtension extension =
49+
LocallyRunOperatorExtension.builder()
50+
.withInfrastructureKubernetesClient(infrastructureClient)
51+
.withKubernetesClient(userKubernetesClient)
52+
.build();
53+
54+
assertEquals(infrastructureClient, extension.getInfrastructureKubernetesClient());
55+
assertEquals(userKubernetesClient, extension.getKubernetesClient());
56+
assertNotEquals(extension.getInfrastructureKubernetesClient(), extension.getKubernetesClient());
57+
}
58+
59+
@Test
60+
void overrideInfrastructureAndVerifyUserKubernetesClientIsTheSame() {
61+
var infrastructureClient = new KubernetesClientBuilder().build();
62+
63+
LocallyRunOperatorExtension extension =
64+
LocallyRunOperatorExtension.builder()
65+
.withInfrastructureKubernetesClient(infrastructureClient)
66+
.build();
67+
68+
assertEquals(infrastructureClient, extension.getInfrastructureKubernetesClient());
69+
assertEquals(infrastructureClient, extension.getKubernetesClient());
70+
assertEquals(extension.getInfrastructureKubernetesClient(), extension.getKubernetesClient());
71+
}
72+
73+
@Test
74+
void overrideKubernetesClientAndVerifyInfrastructureClientIsTheSame() {
75+
var userKubernetesClient = new KubernetesClientBuilder().build();
76+
77+
LocallyRunOperatorExtension extension =
78+
LocallyRunOperatorExtension.builder().withKubernetesClient(userKubernetesClient).build();
79+
80+
assertEquals(userKubernetesClient, extension.getKubernetesClient());
81+
assertEquals(userKubernetesClient, extension.getInfrastructureKubernetesClient());
82+
assertEquals(extension.getKubernetesClient(), extension.getInfrastructureKubernetesClient());
83+
}
84+
}

0 commit comments

Comments
 (0)