From c5711a783b8c04d243fa95241486a545f2968163 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 19 Jun 2024 09:01:37 +0200
Subject: [PATCH] OZG-5400 update funktion getRealmRepresentation

---
 .../KeycloakGenericRemoteService.java         |  7 ++++++-
 .../KeycloakGenericRemoteServiceTest.java     | 19 +++++++++++++++++--
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteService.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteService.java
index 3bcbe7f..0e003fe 100644
--- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteService.java
+++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteService.java
@@ -35,7 +35,12 @@ public class KeycloakGenericRemoteService {
 	}
 
 	public Optional<RealmRepresentation> getRealmRepresentation(String realmName) {
-		return Optional.of(keycloak.realm(realmName).toRepresentation());
+		if (realmExists(realmName)) {
+			return Optional.of(keycloak.realm(realmName).toRepresentation());
+		} else {
+			return Optional.empty();
+		}
+
 	}
 
 	public Optional<RoleRepresentation> getClientRole(String roleName, String realClientId, String realm) {
diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteServiceTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteServiceTest.java
index 83e2720..26fe609 100644
--- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteServiceTest.java
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/KeycloakGenericRemoteServiceTest.java
@@ -198,13 +198,28 @@ class KeycloakGenericRemoteServiceTest {
 
 		@BeforeEach
 		void init() {
+			when(keycloak.realms()).thenReturn(realmsResource);
+		}
+
+		@Test
+		void shouldGetRealmFromKeycloakWhenExist() {
 			when(keycloak.realm(REALM)).thenReturn(realmResource);
+			when(service.realmExists(REALM)).thenReturn(true);
 			when(realmResource.toRepresentation()).thenReturn(realmRepresentation);
+
+			var realm = service.getRealmRepresentation(REALM);
+
+			assertThat(realm).isNotEmpty().contains(realmRepresentation);
 		}
 
 		@Test
-		void shouldGetClientFromKeycloak() {
-			assertThat(Optional.of(keycloak.realm(REALM).toRepresentation())).isNotEmpty().contains(realmRepresentation);
+		void shouldNotGetRealmFromKeycloakWhenNotExist() {
+
+			when(service.realmExists(REALM)).thenReturn(false);
+
+			var realm = service.getRealmRepresentation(REALM);
+
+			assertTrue(realm.isEmpty());
 		}
 	}
 }
-- 
GitLab