From 4e237eaa17e3c1df383a6d4a2c38f0ef7ed51bdb Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 18 Dec 2023 14:41:13 +0100
Subject: [PATCH] OZG-4453 add missing test file

---
 ...zgCloudElasticsearchRemoteServiceTest.java | 91 +++++++++++++++++++
 1 file changed, 91 insertions(+)
 create mode 100644 ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/OzgCloudElasticsearchRemoteServiceTest.java

diff --git a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/OzgCloudElasticsearchRemoteServiceTest.java b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/OzgCloudElasticsearchRemoteServiceTest.java
new file mode 100644
index 0000000..726baba
--- /dev/null
+++ b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/OzgCloudElasticsearchRemoteServiceTest.java
@@ -0,0 +1,91 @@
+package de.ozgcloud.operator.common.elasticsearch;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+
+import co.elastic.clients.elasticsearch.ElasticsearchClient;
+import de.ozgcloud.operator.user.IndicesPrivilegesDataTestFactory;
+import de.ozgcloud.operator.user.PutRoleRequestDataTestFactory;
+import de.ozgcloud.operator.user.PutUserRequestDataTestFactory;
+
+class OzgCloudElasticsearchRemoteServiceTest {
+
+	@Spy
+	@InjectMocks
+	private OzgCloudElasticsearchRemoteService service;
+	@Mock
+	private ElasticsearchClient client;
+	
+	@DisplayName("Create security role")
+	@Nested
+	class TestCreateSecurityRole {
+		
+		@DisplayName("create put role request of")
+		@Nested
+		class TestCreatePutRoleRequestOf {
+			
+			@Test
+			void shouldHaveName() {
+				var request = service.createPutRoleRequestOf(PutRoleRequestDataTestFactory.create());
+				
+				assertThat(request.name()).isEqualTo(PutRoleRequestDataTestFactory.NAME);
+			}
+			
+			@DisplayName("indices privileges")
+			@Nested
+			class TestIndicesPrivileges {
+				
+				@Test
+				void shouldHaveName() {
+					var request = service.createPutRoleRequestOf(PutRoleRequestDataTestFactory.create());
+					
+					assertThat(request.indices().get(0).names()).containsExactly(IndicesPrivilegesDataTestFactory.NAME);
+				}
+				
+				@Test
+				void shouldHavePrivileges() {
+					var request = service.createPutRoleRequestOf(PutRoleRequestDataTestFactory.create());
+					
+					assertThat(request.indices().get(0).privileges()).containsExactly(IndicesPrivilegesDataTestFactory.PRIVILEGES);
+				}
+			}
+		}
+	}
+	
+	@DisplayName("Create security user")
+	@Nested
+	class TestCreateSecurityUser {
+		
+		@DisplayName("create put user request of")
+		@Nested
+		class TestCreatePutUserRequestOf {
+			
+			@Test
+			void shouldHaveName() {
+				var request = service.createPutUserRequestOf(PutUserRequestDataTestFactory.create());
+				
+				assertThat(request.username()).isEqualTo(PutUserRequestDataTestFactory.USERNAME);
+			}
+			
+			@Test
+			void shouldHaveRoles() {
+				var request = service.createPutUserRequestOf(PutUserRequestDataTestFactory.create());
+				
+				assertThat(request.roles()).containsExactly(PutUserRequestDataTestFactory.ROLES);
+			}
+			
+			@Test
+			void shouldHavePassword() {
+				var request = service.createPutUserRequestOf(PutUserRequestDataTestFactory.create());
+				
+				assertThat(request.password()).isEqualTo(PutUserRequestDataTestFactory.PASSWORD);
+			}
+		}
+	}
+}
\ No newline at end of file
-- 
GitLab