diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java index f389425437072e4e0efbca44a90cc4579a22b914..956313e4067c5f327b19f798ff82e05916d04359 100644 --- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java +++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java @@ -25,7 +25,6 @@ package de.ozgcloud.operator.keycloak.user; import java.util.logging.Level; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -55,8 +54,7 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea var namespace = resource.getMetadata().getNamespace(); log.info(String.format("Reconciling user %s...", userName)); - log.info("User reconciler reconcile, keep after delete is set to: " + resource.getSpec().getKeycloakUser().getKeepAfterDelete()); - log.info("Keep after delete String is set to: " + resource.getSpec().getKeepAfterDelete()); + log.info("User reconciler reconcile, keep after delete is set to: " + resource.getSpec().isKeepAfterDelete()); try { var preconditionError = preconditionService.getPreconditionErrors(resource); @@ -91,9 +89,8 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea @Override public DeleteControl cleanup(OzgKeycloakUser user, Context<OzgKeycloakUser> context) { - log.info("User reconciler cleanup, keep after delete is set to: " + user.getSpec().getKeycloakUser().getKeepAfterDelete()); - log.info("Keep after delete String is set to: " + user.getSpec().getKeepAfterDelete()); - if (StringUtils.equals(user.getSpec().getKeycloakUser().getKeepAfterDelete(), "true")) { + log.info("User reconciler cleanup, keep after delete is set to: " + user.getSpec().isKeepAfterDelete()); + if (user.getSpec().isKeepAfterDelete()) { return DeleteControl.defaultDelete(); } return cleanup(user); diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java index 97e55bea5ed39b8423d212b8c74e042fc7f96a71..d42807f5eea7a48bb368fcbc96c2826356e7d2a4 100644 --- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java +++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java @@ -46,7 +46,7 @@ import lombok.Setter; class OzgKeycloakUserSpec { @JsonProperty("keep_after_delete") - private String keepAfterDelete; + private boolean keepAfterDelete; @JsonProperty("keycloak_user") private KeycloakUserSpecUser keycloakUser; @@ -58,12 +58,6 @@ class OzgKeycloakUserSpec { @AllArgsConstructor static class KeycloakUserSpecUser { -// @JsonProperty("keep_after_delete") -// private boolean keepAfterDelete; - - @JsonProperty("keep_after_delete") - private String keepAfterDelete; - @JsonProperty("username") private String username; @@ -131,22 +125,4 @@ class OzgKeycloakUserSpec { @JsonProperty("role") private String roleName; } - -// @Getter -// @Setter -// @Builder -// @NoArgsConstructor -// @AllArgsConstructor -// static class KeycloakUserSpecRealmRole { -// -// @JsonProperty("name") -// private String name; -// -// @JsonProperty("description") -// private String description; -// -// @JsonProperty("attributes") -// @Builder.Default -// private Map<String, List<String>> attributes = new HashMap<>(); -// } } diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java index 4f8345fa3cc7243fbe02dc01b2d5a079da4cc792..58bf7617bcf900e0d619c723dbff903cadd818a7 100644 --- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java +++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java @@ -31,6 +31,7 @@ import java.util.Optional; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; @@ -38,6 +39,8 @@ import org.mockito.Mock; import org.mockito.Spy; import de.ozgcloud.operator.keycloak.OzgCustomResourceStatus; +import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser; +import io.javaoperatorsdk.operator.api.reconciler.DeleteControl; class KeycloakUserReconcilerTest { @@ -109,40 +112,41 @@ class KeycloakUserReconcilerTest { } } -// @DisplayName("Cleanup") -// @Nested -// class TestCleanup { -// -// @DisplayName("with keep_after_delete") -// @Nested -// class TestWithKeepAfterDelete { -// -// private final KeycloakUserSpecUser keycloakUser = KeycloakUserSpecUserTestFactory.createBuiler().keepAfterDelete(true).build(); -// private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.createBuilder().keycloakUser(keycloakUser).build(); -// private final OzgKeycloakUser user = OzgKeycloakUserTestFactory.create(userSpec); -// -// @Test -// void shouldNotCallService() { -// reconciler.cleanup(user, null); -// -// verify(service, never()).deleteUser(userSpec, OzgKeycloakUserTestFactory.METADATA_NAMESPACE); -// } -// -// @Test -// void shouldReturnDeleteControl() { -// var control = reconciler.cleanup(user, null); -// -// assertThat(control).usingRecursiveComparison().isEqualTo(DeleteControl.defaultDelete()); -// } -// } -// -// @Test -// void shouldCallServiceDelete() { -// var user = OzgKeycloakUserTestFactory.create(); -// -// reconciler.cleanup(user); -// -// verify(service).deleteUser(user.getSpec(), OzgKeycloakUserTestFactory.METADATA_NAMESPACE); -// } -// } + @DisplayName("Cleanup") + @Nested + class TestCleanup { + + @DisplayName("with keep_after_delete") + @Nested + class TestWithKeepAfterDelete { + + private final KeycloakUserSpecUser keycloakUser = KeycloakUserSpecUserTestFactory.createBuiler().build(); + private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.createBuilder().keepAfterDelete(true) + .keycloakUser(keycloakUser).build(); + private final OzgKeycloakUser user = OzgKeycloakUserTestFactory.create(userSpec); + + @Test + void shouldNotCallService() { + reconciler.cleanup(user, null); + + verify(service, never()).deleteUser(userSpec, OzgKeycloakUserTestFactory.METADATA_NAMESPACE); + } + + @Test + void shouldReturnDeleteControl() { + var control = reconciler.cleanup(user, null); + + assertThat(control).usingRecursiveComparison().isEqualTo(DeleteControl.defaultDelete()); + } + } + + @Test + void shouldCallServiceDelete() { + var user = OzgKeycloakUserTestFactory.create(); + + reconciler.cleanup(user); + + verify(service).deleteUser(user.getSpec(), OzgKeycloakUserTestFactory.METADATA_NAMESPACE); + } + } }