Skip to content

Commit 8ecfef6

Browse files
committed
improve: resource creation api in JUnit extension
Signed-off-by: Attila Mészáros <csviri@gmail.com>
1 parent 7d17e4c commit 8ecfef6

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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 15 additions & 0 deletions
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
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void addNewAndRemoveOldNamespaceTest() {
7171

7272
ConfigMap firstMap = operator.get(ConfigMap.class, TEST_RESOURCE_NAME_1);
7373
firstMap.setData(Map.of("data", "newdata"));
74-
operator.replace(firstMap);
74+
operator.createOrUpdate(firstMap);
7575
assertReconciled(reconciler, defaultNamespaceResource);
7676
}
7777

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void cleanupRemovesFinalizerWithoutConflict() throws InterruptedException {
3939
testResource = operator.get(CleanupConflictCustomResource.class, TEST_RESOURCE_NAME);
4040
testResource.getMetadata().getFinalizers().remove(ADDITIONAL_FINALIZER);
4141
testResource.getMetadata().setResourceVersion(null);
42-
operator.replace(testResource);
42+
operator.createOrUpdate(testResource);
4343

4444
await().pollDelay(Duration.ofMillis(WAIT_TIME * 2)).untilAsserted(
4545
() -> assertThat(operator.getReconcilerOfType(CleanupConflictReconciler.class)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void crudOperationOnClusterScopedCustomResource() {
4040
});
4141

4242
resource.getSpec().setData(UPDATED_DATA);
43-
operator.replace(resource);
43+
operator.createOrUpdate(resource);
4444
await().untilAsserted(() -> {
4545
var cm = operator.get(ConfigMap.class, TEST_NAME);
4646
assertThat(cm).isNotNull();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ void updateEventNotReceivedAfterCreateOrUpdate() {
3737
operator.get(CreateUpdateEventFilterTestCustomResource.class,
3838
resource.getMetadata().getName());
3939
actualCreatedResource.getSpec().setValue("2");
40-
operator.replace(actualCreatedResource);
40+
operator.createOrUpdate(actualCreatedResource);
4141

4242
assertData(operator, actualCreatedResource, 2, 2);
4343
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void mapsSecondaryByAnnotation() {
4646
assertThat(configMap.getMetadata().getOwnerReferences()).isEmpty();
4747

4848
configMap.getData().put("additional_data", "data");
49-
operator.replace(configMap);
49+
operator.createOrUpdate(configMap);
5050

5151
await().pollDelay(Duration.ofMillis(150))
5252
.untilAsserted(() -> assertThat(reconciler.getNumberOfExecutions()).isEqualTo(2));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void testCustomMappingAnnotationForDependent() {
3535
assertConfigMapData(INITIAL_VALUE);
3636

3737
cr.getSpec().setValue(CHANGED_VALUE);
38-
cr = extension.replace(cr);
38+
cr = extension.createOrUpdate(cr);
3939
assertConfigMapData(CHANGED_VALUE);
4040

4141
extension.delete(cr);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void managesCRUDOperationsForDependentInDifferentNamespace() {
3838
});
3939

4040
resource.getSpec().setValue(CHANGED_VALUE);
41-
resource = extension.replace(resource);
41+
resource = extension.createOrUpdate(resource);
4242

4343
await().untilAsserted(() -> {
4444
var cm = getDependentConfigMap();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void filtersUpdateOnConfigMap() {
3939

4040
var configMap = operator.get(ConfigMap.class, RESOURCE_NAME);
4141
configMap.setData(Map.of(CM_VALUE_KEY, CONFIG_MAP_FILTER_VALUE));
42-
operator.replace(configMap);
42+
operator.createOrUpdate(configMap);
4343

4444
await().pollDelay(Duration.ofMillis(150)).untilAsserted(() -> {
4545
assertThat(operator.getReconcilerOfType(DependentFilterTestReconciler.class)

0 commit comments

Comments
 (0)