Skip to content

Commit 998cb28

Browse files
committed
unit tests
Signed-off-by: Attila Mészáros <csviri@gmail.com>
1 parent 5625a78 commit 998cb28

File tree

3 files changed

+62
-1
lines changed

3 files changed

+62
-1
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/Mappers.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ public static <T extends HasMetadata> SecondaryToPrimaryMapper<T> fromLabel(
4242
return fromMetadata(nameKey, namespaceKey, true);
4343
}
4444

45+
public static <T extends HasMetadata> SecondaryToPrimaryMapper<T> fromOwnerReferences(
46+
Class<? extends HasMetadata> primaryResourceType) {
47+
return fromOwnerReferences(primaryResourceType, false);
48+
}
49+
4550
public static <T extends HasMetadata> SecondaryToPrimaryMapper<T> fromOwnerReferences(
4651
Class<? extends HasMetadata> primaryResourceType, boolean clusterScoped) {
4752
return fromOwnerReferences(HasMetadata.getApiVersion(primaryResourceType),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package io.javaoperatorsdk.operator.processing.event.source.informer;
2+
3+
import java.util.UUID;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
import io.fabric8.kubernetes.api.model.ConfigMap;
8+
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
9+
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
10+
import io.javaoperatorsdk.operator.TestUtils;
11+
import io.javaoperatorsdk.operator.processing.event.ResourceID;
12+
import io.javaoperatorsdk.operator.sample.simple.TestCustomResource;
13+
import io.javaoperatorsdk.operator.sample.simple.TestCustomResourceOtherV1;
14+
15+
import static org.assertj.core.api.Assertions.assertThat;
16+
import static org.junit.jupiter.api.Assertions.*;
17+
18+
class MappersTest {
19+
20+
21+
@Test
22+
void secondaryToPrimaryMapperFromOwnerReference() {
23+
var primary = TestUtils.testCustomResource();
24+
primary.getMetadata().setUid(UUID.randomUUID().toString());
25+
var secondary = getConfigMap(primary);
26+
secondary.addOwnerReference(primary);
27+
28+
var res = Mappers.fromOwnerReferences(TestCustomResource.class)
29+
.toPrimaryResourceIDs(secondary);
30+
31+
assertThat(res).contains(ResourceID.fromResource(primary));
32+
}
33+
34+
@Test
35+
void secondaryToPrimaryMapperFromOwnerReferenceFiltersByType() {
36+
var primary = TestUtils.testCustomResource();
37+
primary.getMetadata().setUid(UUID.randomUUID().toString());
38+
var secondary = getConfigMap(primary);
39+
secondary.addOwnerReference(primary);
40+
41+
var res = Mappers.fromOwnerReferences(TestCustomResourceOtherV1.class)
42+
.toPrimaryResourceIDs(secondary);
43+
44+
assertThat(res).isEmpty();
45+
}
46+
47+
48+
private static ConfigMap getConfigMap(TestCustomResource primary) {
49+
return new ConfigMapBuilder()
50+
.withMetadata(new ObjectMetaBuilder()
51+
.withName("test1")
52+
.withNamespace(primary.getMetadata().getNamespace())
53+
.build())
54+
.build();
55+
}
56+
}

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/sample/simple/TestCustomResourceOtherV1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
@Group("sample.javaoperatorsdk.io")
99
@Version("v1")
10-
@Kind("TestCustomResource") // this is needed to override the automatically generated kind
10+
@Kind("TestCustomResourceOtherV1") // this is needed to override the automatically generated kind
1111
public class TestCustomResourceOtherV1
1212
extends CustomResource<TestCustomResourceSpec, TestCustomResourceStatus> {
1313

0 commit comments

Comments
 (0)