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 0000000000000000000000000000000000000000..726babacc70d5c29adc136cdea682cc969f4768a --- /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