Skip to content

Commit 3800497

Browse files
committed
utils integration test
Signed-off-by: Attila Mészáros <[email protected]>
1 parent cb1baf5 commit 3800497

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

operator-framework-core/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@
7979
<artifactId>awaitility</artifactId>
8080
<scope>test</scope>
8181
</dependency>
82+
<dependency>
83+
<groupId>io.fabric8</groupId>
84+
<artifactId>kube-api-test-client-inject</artifactId>
85+
<scope>test</scope>
86+
</dependency>
8287
</dependencies>
8388

8489
<build>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package io.javaoperatorsdk.operator.api.reconciler;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import io.fabric8.kubeapitest.junit.EnableKubeAPIServer;
6+
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
7+
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
8+
import io.fabric8.kubernetes.client.KubernetesClient;
9+
10+
import static org.assertj.core.api.Assertions.assertThat;
11+
12+
@EnableKubeAPIServer
13+
class PrimaryUpdateAndCacheUtilsIntegrationTest {
14+
15+
public static final String DEFAULT_NS = "default";
16+
public static final String TEST_RESOURCE_NAME = "test1";
17+
public static final String FINALIZER = "int.test/finalizer";
18+
static KubernetesClient client;
19+
20+
@Test
21+
void testFinalizerAddAndRemoval() {
22+
var cm =
23+
client
24+
.resource(
25+
new ConfigMapBuilder()
26+
.withMetadata(
27+
new ObjectMetaBuilder()
28+
.withName(TEST_RESOURCE_NAME)
29+
.withNamespace(DEFAULT_NS)
30+
.build())
31+
.build())
32+
.create();
33+
34+
PrimaryUpdateAndCacheUtils.addFinalizer(client, cm, FINALIZER);
35+
36+
cm = client.configMaps().inNamespace(DEFAULT_NS).withName(TEST_RESOURCE_NAME).get();
37+
assertThat(cm.getMetadata().getFinalizers()).containsExactly(FINALIZER);
38+
39+
PrimaryUpdateAndCacheUtils.removeFinalizer(client, cm, FINALIZER);
40+
41+
cm = client.configMaps().inNamespace(DEFAULT_NS).withName(TEST_RESOURCE_NAME).get();
42+
assertThat(cm.getMetadata().getFinalizers()).isEmpty();
43+
client.resource(cm).delete();
44+
}
45+
}

0 commit comments

Comments
 (0)