From e4bc8640dbd98e55e96584e96867ca11268c6588 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 26 Aug 2024 22:32:24 +0200
Subject: [PATCH] OZG-6177 add junittests remoteservice reconciler classes

---
 ...CloudElsterTransferUserReconcilerTest.java | 163 ++++--------------
 1 file changed, 34 insertions(+), 129 deletions(-)

diff --git a/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java b/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java
index 8d4f959..ebcaf0b 100644
--- a/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java
@@ -1,6 +1,7 @@
 package de.ozgcloud.operator.elstertransfer.user;
 
 import static org.assertj.core.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
@@ -28,8 +29,8 @@ class OzgCloudElsterTransferUserReconcilerTest {
 	@Mock
 	private OzgCloudElsterTransferUserService service;
 
-	@Mock
-	private MixedOperation<OzgCloudElsterTransferUser, KubernetesResourceList<OzgCloudElsterTransferUser>, Resource<OzgCloudElsterTransferUser>> mixedOperation;
+	//@Mock
+	//private MixedOperation<OzgCloudElsterTransferUser, KubernetesResourceList<OzgCloudElsterTransferUser>, Resource<OzgCloudElsterTransferUser>> mixedOperation;
 
 	@Mock
 	private KubernetesClient client;
@@ -37,173 +38,77 @@ class OzgCloudElsterTransferUserReconcilerTest {
 	@DisplayName("Reconcile")
 	@Nested
 	class TestReconcile {
+		OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
 
 		@Test
 		void shouldCallUpdateConfigMap() {
 
-			OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
-
 			reconciler.reconcile(user, null);
 
 			verify(service).updateConfigMapAndRestartDeploymentAndCreateSecret(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
 		}
-
-	/* 	@Test
-		void shouldCallRestartDeployment() {
-			OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
-
-			reconciler.reconcile(user, null);
-
-			verify(service).restartDeployment(OzgCloudElsterTransferUserTestFactory.ETR_NAMESPACE,
-					OzgCloudElsterTransferUserTestFactory.DEPLOYMENT_NAME);
-
-		}
-
 		@Test
-		void shouldCallCreateOrUpdateSecret() {
-			OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
-
-			reconciler.reconcile(user, null);
-
-			verify(service).createOrUpdateSecret(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
-
-		}
-			
+			void shouldReturnUpdateStatus() {
+				var response = reconciler.reconcile(OzgCloudElsterTransferUserTestFactory.create(), null);
 	
+				assertThat(response.getResource()).isNotNull();
+			}
+
 			@Test
 			void shouldCallGetElsterTransferUserStatus() {
-				OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
 	
 				reconciler.reconcile(user, null);
 	
 				verify(reconciler).getElsterTransferUserStatus(any(), any());
 			}
-			@Test
-			void shouldReturnUpdateStatus() {
-				var response = reconciler.reconcile(OzgCloudElsterTransferUserTestFactory.create(), null);
-	
-				assertThat(response.getResource()).isNotNull();
-			}
-
+			
 			@Test
 		    void shouldSetStatusOk() {
 			var response = reconciler.reconcile(OzgCloudElsterTransferUserTestFactory.create(), null);
 
 			assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK);
 		}
-	 	
-
-	}
-
-	@DisplayName("Reconciler Cleanup")
-	@Nested
-	class TestReconcilerCleanup {
-
-		@DisplayName("with keep_after_delete")
+		@DisplayName("test getElsterTransferUserStatus")
 		@Nested
-		class TestWithKeepAfterDelete {
+		class TestGetElsterTransferUserStatus {
 
-			private final OzgCloudElsterTransferUserSpec userSpec = OzgCloudElsterTransferUserSpecTestFactory.createBuilder().keepAfterDelete(true)
-					.build();
-			private final OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create(userSpec);
+			void shouldRetrunOzgCloudElsterTransferUserStatus(){
 
-			@Test
-			void shouldNotCallService() {
-				reconciler.cleanup(user, null);
+				OzgCloudElsterTransferUserStatus result = reconciler.getElsterTransferUserStatus(OzgCloudCustomResourceStatus.OK, "Status: OK");
 
-				verify(service, never()).deleteUser(anyString(), anyString());
-			}
-
-			@Test
-			void shouldReturnDeleteControl() {
-				var control = reconciler.cleanup(user, null);
-
-				assertThat(control).usingRecursiveComparison().isEqualTo(DeleteControl.defaultDelete());
+				assertEquals(OzgCloudCustomResourceStatus.OK, result.getStatus());
+                assertEquals("Status: OK", result.getMessage());
 			}
 		}
 
-		@DisplayName("test cleanup")
-		@Nested
-		class TestCleanup {
-
-			private final OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
-
-			@Test
-			void shouldDeleteUserIfUserExists() {
-				when(service.userExists(anyString(), anyString(), anyString())).thenReturn(true);
-
-				reconciler.cleanup(user, null);
-
-				verify(reconciler).deleteUser(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
-			}
-
-			@Test
-			void shouldReturnValueFromDeleteUser() {
-				DeleteControl expected = DeleteControl.defaultDelete();
-				when(reconciler.deleteUser(anyString())).thenReturn(expected);
-				when(service.userExists(anyString(), anyString(), anyString())).thenReturn(true);
-
-				DeleteControl response = reconciler.cleanup(user, null);
-
-				assertThat(response).isEqualTo(expected);
-			}
-
-			@Test
-			void shouldCallUserExists() {
-
-				reconciler.cleanup(user, null);
-
-				verify(service).userExists(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE, OzgCloudElsterTransferUserTestFactory.ETR_NAMESPACE,
-						OzgCloudElsterTransferUserTestFactory.CONFIG_MAP_NAME);
-			}
-
-			@Test
-			void shouldNotDeleteUserIfUserNotExists() {
-				when(service.userExists(anyString(), anyString(), anyString())).thenReturn(false);
-
-				reconciler.cleanup(user, null);
-
-				verify(reconciler, never()).deleteUser(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
-			}
-
-			@Test
-			void shouldReturnDeleteControlIfUserNotExists() {
-				when(service.userExists(anyString(), anyString(), anyString())).thenReturn(false);
-
-				var control = reconciler.cleanup(user, null);
-
-				assertThat(control).usingRecursiveComparison().isEqualTo(DeleteControl.defaultDelete());
-			}
-
-			@Test
-			void shouldCallCreateOrUpdateSecret() {
-				when(service.userExists(anyString(), anyString(), anyString())).thenReturn(true);
+		@Test
+        void shouldReturnErrorStatus() {
+        
+            OzgCloudElsterTransferUserStatus result = reconciler.getElsterTransferUserStatus(OzgCloudCustomResourceStatus.ERROR, "An error occurred");
 
-				reconciler.cleanup(user, null);
+            assertEquals(OzgCloudCustomResourceStatus.ERROR, result.getStatus());
+            assertEquals("An error occurred", result.getMessage());
+        }
 
-				verify(service).createOrUpdateSecret(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE,anyString(),OzgCloudElsterTransferUserTestFactory.MUK_USER_SECRET_NAME);
-			}
-		}
+	}
 
-		@DisplayName("test delete")
-		@Nested
-		class TestDelete {
+	@DisplayName("Reconciler Cleanup")
+	@Nested
+	class TestReconcilerCleanup {
 
 			private final OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
 
 			@Test
 			void shouldCallServiceDelete() {
-				OzgCloudElsterTransferUserSpec userSpec = OzgCloudElsterTransferUserSpecTestFactory.create();
 
-				reconciler.deleteUser(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
+				reconciler.cleanup(user, null);
 
-				verify(service).deleteUser(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE,
-						OzgCloudElsterTransferUserTestFactory.CONFIG_MAP_NAME);
+				verify(service).deleteUserAndRestartDeploymentIfNotKeepUserAndUserExists(user);
 			}
 
 			@Test
-			void shouldReturnDeleteControl() {
-				var control = reconciler.deleteUser(anyString());
+			void shouldReturnDeleteControlIfErrorNotThrow() {
+				var control = reconciler.cleanup(user, null);
 
 				assertThat(control).usingRecursiveComparison().isEqualTo(DeleteControl.defaultDelete());
 			}
@@ -211,15 +116,15 @@ class OzgCloudElsterTransferUserReconcilerTest {
 			@Test
 			void shouldRescheduleOnError() {
 				doThrow(RuntimeException.class).when(service)
-						.deleteUser(anyString(), anyString());
+						.deleteUserAndRestartDeploymentIfNotKeepUserAndUserExists(user);
 
-				var control = reconciler.deleteUser(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
+				var control = reconciler.cleanup(user, null);
 
 				assertThat(control).usingRecursiveComparison()
 						.isEqualTo(DeleteControl.noFinalizerRemoval().rescheduleAfter(Config.RECONCILER_RETRY_SECONDS_ON_ERROR));
 			}
 
-		}*/
+		
 	}
 
 }
-- 
GitLab