Skip to content

Commit 9b26d18

Browse files
committedJan 31, 2024
improve: resource creation api in JUnit extension
Signed-off-by: Attila Mészáros <csviri@gmail.com>
1 parent 8342b91 commit 9b26d18

File tree

42 files changed

+68
-53
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+68
-53
lines changed
 

‎caffeine-bounded-cache-support/src/test/java/io/javaoperatorsdk/operator/processing/event/source/cache/BoundedCacheTestBase.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ private void updateTestResources() {
6363
IntStream.range(0, NUMBER_OF_RESOURCE_TO_TEST).forEach(i -> {
6464
var cm = extension().get(ConfigMap.class, RESOURCE_NAME_PREFIX + i);
6565
cm.getData().put(DATA_KEY, UPDATED_PREFIX + i);
66-
extension().replace(cm);
66+
extension().createOrUpdate(cm);
6767
});
6868
}
6969

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

+15
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.fabric8.kubernetes.api.model.*;
2121
import io.fabric8.kubernetes.client.KubernetesClient;
2222
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
23+
import io.fabric8.kubernetes.client.dsl.NonDeletingOperation;
2324
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
2425
import io.fabric8.kubernetes.client.dsl.Resource;
2526
import io.fabric8.kubernetes.client.utils.Utils;
@@ -107,6 +108,16 @@ public <T extends HasMetadata> T get(Class<T> type, String name) {
107108
return kubernetesClient.resources(type).inNamespace(namespace).withName(name).get();
108109
}
109110

111+
public <T extends HasMetadata> T createOr(T resource,
112+
Function<NonDeletingOperation<T>, T> conflictAction) {
113+
return kubernetesClient.resource(resource).inNamespace(namespace).createOr(conflictAction);
114+
}
115+
116+
public <T extends HasMetadata> T createOrUpdate(T resource) {
117+
return kubernetesClient.resource(resource).inNamespace(namespace)
118+
.createOr(NonDeletingOperation::update);
119+
}
120+
110121
public <T extends HasMetadata> T create(T resource) {
111122
return kubernetesClient.resource(resource).inNamespace(namespace).create();
112123
}
@@ -116,6 +127,10 @@ public <T extends HasMetadata> T create(Class<T> type, T resource) {
116127
return create(resource);
117128
}
118129

130+
/**
131+
* Use createOrUpdate instead.
132+
*/
133+
@Deprecated(forRemoval = true)
119134
public <T extends HasMetadata> T replace(T resource) {
120135
return kubernetesClient.resource(resource).inNamespace(namespace).replace();
121136
}

0 commit comments

Comments
 (0)