Skip to content

Commit 5f4abf8

Browse files
committed
inetgration tests
Signed-off-by: Attila Mészáros <csviri@gmail.com>
1 parent 2430233 commit 5f4abf8

File tree

7 files changed

+77
-96
lines changed

7 files changed

+77
-96
lines changed

operator-framework/src/test/java/io/javaoperatorsdk/operator/GenericKubernetesDependentManagedIT.java

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,36 @@
11
package io.javaoperatorsdk.operator;
22

3-
import org.junit.jupiter.api.Test;
43
import org.junit.jupiter.api.extension.RegisterExtension;
54

6-
import io.fabric8.kubernetes.api.model.ConfigMap;
75
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
86
import io.javaoperatorsdk.operator.junit.LocallyRunOperatorExtension;
97
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentManagedCustomResource;
108
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentManagedReconciler;
11-
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentManagedSpec;
12-
import io.javaoperatorsdk.operator.sample.generickubernetesdependentstandalone.ConfigMapGenericKubernetesDependent;
9+
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentSpec;
1310

14-
import static org.assertj.core.api.Assertions.assertThat;
15-
import static org.awaitility.Awaitility.await;
16-
17-
public class GenericKubernetesDependentManagedIT {
11+
public class GenericKubernetesDependentManagedIT
12+
extends GenericKubernetesDependentTestBase<GenericKubernetesDependentManagedCustomResource> {
1813

1914
public static final String INITIAL_DATA = "Initial data";
2015

2116
@RegisterExtension
22-
LocallyRunOperatorExtension operator =
17+
LocallyRunOperatorExtension extension =
2318
LocallyRunOperatorExtension.builder()
2419
.withReconciler(new GenericKubernetesDependentManagedReconciler())
2520
.build();
2621

27-
@Test
28-
void testReconcile() {
29-
operator.create(testResource());
30-
31-
await().untilAsserted(() -> {
32-
var cm = operator.get(ConfigMap.class, "test1");
33-
assertThat(cm).isNotNull();
34-
assertThat(cm.getData()).containsEntry(ConfigMapGenericKubernetesDependent.KEY, INITIAL_DATA);
35-
});
22+
@Override
23+
public LocallyRunOperatorExtension extension() {
24+
return extension;
3625
}
3726

38-
GenericKubernetesDependentManagedCustomResource testResource() {
27+
@Override
28+
GenericKubernetesDependentManagedCustomResource testResource(String name, String data) {
3929
var resource = new GenericKubernetesDependentManagedCustomResource();
4030
resource.setMetadata(new ObjectMetaBuilder()
41-
.withName("test1")
31+
.withName(name)
4232
.build());
43-
resource.setSpec(new GenericKubernetesDependentManagedSpec());
33+
resource.setSpec(new GenericKubernetesDependentSpec());
4434
resource.getSpec().setValue(INITIAL_DATA);
4535
return resource;
4636
}
Lines changed: 11 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,35 @@
11
package io.javaoperatorsdk.operator;
22

3-
import org.junit.jupiter.api.Test;
43
import org.junit.jupiter.api.extension.RegisterExtension;
54

6-
import io.fabric8.kubernetes.api.model.ConfigMap;
7-
import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
85
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
9-
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
10-
import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
116
import io.javaoperatorsdk.operator.junit.LocallyRunOperatorExtension;
12-
import io.javaoperatorsdk.operator.sample.generickubernetesdependentstandalone.ConfigMapGenericKubernetesDependent;
7+
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentSpec;
138
import io.javaoperatorsdk.operator.sample.generickubernetesdependentstandalone.GenericKubernetesDependentStandaloneCustomResource;
149
import io.javaoperatorsdk.operator.sample.generickubernetesdependentstandalone.GenericKubernetesDependentStandaloneReconciler;
15-
import io.javaoperatorsdk.operator.sample.generickubernetesdependentstandalone.GenericKubernetesDependentStandaloneSpec;
1610

17-
import static org.assertj.core.api.Assertions.assertThat;
18-
import static org.awaitility.Awaitility.await;
19-
20-
public class GenericKubernetesDependentStandaloneIT {
21-
22-
public static final String INITIAL_DATA = "Initial data";
11+
public class GenericKubernetesDependentStandaloneIT
12+
extends GenericKubernetesDependentTestBase<GenericKubernetesDependentStandaloneCustomResource> {
2313

2414
@RegisterExtension
25-
LocallyRunOperatorExtension operator =
15+
LocallyRunOperatorExtension extension =
2616
LocallyRunOperatorExtension.builder()
2717
.withReconciler(new GenericKubernetesDependentStandaloneReconciler())
2818
.build();
2919

30-
@Test
31-
void testReconcile() {
32-
operator.create(testResource());
33-
34-
await().untilAsserted(() -> {
35-
var cm = operator.get(ConfigMap.class, "test1");
36-
assertThat(cm).isNotNull();
37-
assertThat(cm.getData()).containsEntry(ConfigMapGenericKubernetesDependent.KEY, INITIAL_DATA);
38-
});
20+
@Override
21+
public LocallyRunOperatorExtension extension() {
22+
return extension;
3923
}
4024

41-
GenericKubernetesDependentStandaloneCustomResource testResource() {
25+
@Override
26+
GenericKubernetesDependentStandaloneCustomResource testResource(String name, String data) {
4227
var resource = new GenericKubernetesDependentStandaloneCustomResource();
4328
resource.setMetadata(new ObjectMetaBuilder()
44-
.withName("test1")
29+
.withName(name)
4530
.build());
46-
resource.setSpec(new GenericKubernetesDependentStandaloneSpec());
31+
resource.setSpec(new GenericKubernetesDependentSpec());
4732
resource.getSpec().setValue(INITIAL_DATA);
48-
4933
return resource;
5034
}
51-
52-
// @Test
53-
void testInformer() {
54-
GenericKubernetesResource res = new GenericKubernetesResource();
55-
res.setApiVersion("v1");
56-
res.setKind("ConfigMap");
57-
58-
try (var client = new KubernetesClientBuilder().build()) {
59-
client.genericKubernetesResources("v1", "ConfigMap").inAnyNamespace().inform()
60-
.addEventHandler(new ResourceEventHandler<>() {
61-
@Override
62-
public void onAdd(GenericKubernetesResource genericKubernetesResource) {
63-
System.out.println(genericKubernetesResource);
64-
}
65-
66-
@Override
67-
public void onUpdate(GenericKubernetesResource genericKubernetesResource,
68-
GenericKubernetesResource t1) {
69-
System.out.println(genericKubernetesResource);
70-
}
71-
72-
@Override
73-
public void onDelete(GenericKubernetesResource genericKubernetesResource, boolean b) {
74-
System.out.println(genericKubernetesResource);
75-
}
76-
});
77-
}
78-
}
79-
8035
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.javaoperatorsdk.operator;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import io.fabric8.kubernetes.api.model.ConfigMap;
6+
import io.fabric8.kubernetes.client.CustomResource;
7+
import io.javaoperatorsdk.operator.junit.LocallyRunOperatorExtension;
8+
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentSpec;
9+
import io.javaoperatorsdk.operator.sample.generickubernetesdependentstandalone.ConfigMapGenericKubernetesDependent;
10+
11+
import static org.assertj.core.api.Assertions.assertThat;
12+
import static org.awaitility.Awaitility.await;
13+
14+
public abstract class GenericKubernetesDependentTestBase<R extends CustomResource<GenericKubernetesDependentSpec, Void>> {
15+
16+
public static final String INITIAL_DATA = "Initial data";
17+
public static final String CHANGED_DATA = "Changed data";
18+
public static final String TEST_RESOURCE_NAME = "test1";
19+
20+
@Test
21+
void testReconciliation() {
22+
var resource = extension().create(testResource(TEST_RESOURCE_NAME, INITIAL_DATA));
23+
24+
await().untilAsserted(() -> {
25+
var cm = extension().get(ConfigMap.class, TEST_RESOURCE_NAME);
26+
assertThat(cm).isNotNull();
27+
assertThat(cm.getData()).containsEntry(ConfigMapGenericKubernetesDependent.KEY, INITIAL_DATA);
28+
});
29+
30+
resource.getSpec().setValue(CHANGED_DATA);
31+
resource = extension().replace(resource);
32+
33+
await().untilAsserted(() -> {
34+
var cm = extension().get(ConfigMap.class, TEST_RESOURCE_NAME);
35+
assertThat(cm.getData()).containsEntry(ConfigMapGenericKubernetesDependent.KEY, CHANGED_DATA);
36+
});
37+
38+
extension().delete(resource);
39+
40+
await().untilAsserted(() -> {
41+
var cm = extension().get(ConfigMap.class, TEST_RESOURCE_NAME);
42+
assertThat(cm).isNull();
43+
});
44+
}
45+
46+
public abstract LocallyRunOperatorExtension extension();
47+
48+
abstract R testResource(String name, String data);
49+
50+
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/generickubernetesdependentresourcemanaged/GenericKubernetesDependentManagedCustomResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
@Version("v1")
1111
@ShortNames("gkdm")
1212
public class GenericKubernetesDependentManagedCustomResource
13-
extends CustomResource<GenericKubernetesDependentManagedSpec, Void>
13+
extends CustomResource<GenericKubernetesDependentSpec, Void>
1414
implements Namespaced {
1515
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged;
22

3-
public class GenericKubernetesDependentManagedSpec {
3+
public class GenericKubernetesDependentSpec {
44

55
private String value;
66

77
public String getValue() {
88
return value;
99
}
1010

11-
public GenericKubernetesDependentManagedSpec setValue(String value) {
11+
public GenericKubernetesDependentSpec setValue(String value) {
1212
this.value = value;
1313
return this;
1414
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/generickubernetesdependentstandalone/GenericKubernetesDependentStandaloneCustomResource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
import io.fabric8.kubernetes.model.annotation.Group;
66
import io.fabric8.kubernetes.model.annotation.ShortNames;
77
import io.fabric8.kubernetes.model.annotation.Version;
8+
import io.javaoperatorsdk.operator.sample.generickubernetesdependentresourcemanaged.GenericKubernetesDependentSpec;
89

910
@Group("sample.javaoperatorsdk")
1011
@Version("v1")
1112
@ShortNames("gkd")
1213
public class GenericKubernetesDependentStandaloneCustomResource
13-
extends CustomResource<GenericKubernetesDependentStandaloneSpec, Void>
14+
extends CustomResource<GenericKubernetesDependentSpec, Void>
1415
implements Namespaced {
1516
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/generickubernetesdependentstandalone/GenericKubernetesDependentStandaloneSpec.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)