From ecbc0337f4fff45a68a0f5dc271e6928690d7687 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 25 Aug 2023 12:14:31 +0200
Subject: [PATCH] OZG-3961 use resourceAdapter to create secret

---
 .../user/KeycloakUserRemoteService.java       | 10 ++++-----
 .../user/KeycloakUserRemoteServiceTest.java   | 22 ++++---------------
 2 files changed, 8 insertions(+), 24 deletions(-)

diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java
index 5bdd4c7..bcd397c 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java
@@ -48,6 +48,7 @@ import io.fabric8.kubernetes.api.model.ObjectMeta;
 import io.fabric8.kubernetes.api.model.Secret;
 import io.fabric8.kubernetes.api.model.SecretBuilder;
 import io.fabric8.kubernetes.client.dsl.Resource;
+import io.fabric8.kubernetes.client.extension.ResourceAdapter;
 import lombok.extern.java.Log;
 
 @Log
@@ -66,6 +67,8 @@ class KeycloakUserRemoteService {
 	private KubernetesRemoteService kubernetesRemoteService;
 	@Autowired
 	private KeycloakGenericRemoteService keycloakGenericRemoteService;
+	@Autowired
+	private ResourceAdapter<Secret> server;
 
 	public void createUser(UserRepresentation user, String namespace) {
 		var realmResource = getRealm(namespace);
@@ -127,12 +130,7 @@ class KeycloakUserRemoteService {
 		log.log(Level.INFO, "Create secret for user: " + userSpec.getKeycloakUser().getUsername());
 		var credentialsSecret = createUserSecret(userSpec.getKeycloakUser(), namespace);
 
-		var secret = getUserSecret(userSpec, namespace);
-
-		if (Objects.isNull(secret.get())) {
-			secret.create();
-		}
-		secret.patch(credentialsSecret);
+		server.create(credentialsSecret);
 	}
 
 	Secret createUserSecret(KeycloakUserSpecUser userSpec, String namespace) {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteServiceTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteServiceTest.java
index 9778ebf..86beaa6 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteServiceTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteServiceTest.java
@@ -62,6 +62,7 @@ import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUs
 import io.fabric8.kubernetes.api.model.Secret;
 import io.fabric8.kubernetes.api.model.SecretBuilder;
 import io.fabric8.kubernetes.client.dsl.Resource;
+import io.fabric8.kubernetes.client.extension.ResourceAdapter;
 
 class KeycloakUserRemoteServiceTest {
 
@@ -101,6 +102,8 @@ class KeycloakUserRemoteServiceTest {
 	private UserRepresentation userRepresentation;
 	@Mock
 	private KubernetesRemoteService kubernetesRemoteService;
+	@Mock
+	private ResourceAdapter<Secret> server;
 
 	@Nested
 	class TestCreateUser {
@@ -338,7 +341,6 @@ class KeycloakUserRemoteServiceTest {
 
 		@BeforeEach
 		void mock() {
-			doReturn(secretResource).when(userRemoteService).getUserSecret(any(), any());
 			doReturn(secret).when(userRemoteService).createUserSecret(any(), any());
 		}
 
@@ -349,27 +351,11 @@ class KeycloakUserRemoteServiceTest {
 			verify(userRemoteService).createUserSecret(userSpec.getKeycloakUser(), NAMESPACE);
 		}
 
-		@Test
-		void shouldGetSecret() {
-			userRemoteService.createSecret(userSpec, NAMESPACE);
-
-			verify(userRemoteService).getUserSecret(userSpec, NAMESPACE);
-		}
-
 		@Test
 		void shouldCreateSecretIfNotExists() {
-			when(secretResource.get()).thenReturn(null);
-
-			userRemoteService.createSecret(userSpec, NAMESPACE);
-
-			verify(secretResource).create();
-		}
-
-		@Test
-		void shouldPatchSecret() {
 			userRemoteService.createSecret(userSpec, NAMESPACE);
 
-			verify(secretResource).patch(secret);
+			verify(server).create(secret);
 		}
 	}
 
-- 
GitLab