Skip to content

Commit e203f8a

Browse files
committed
Added unittest to elasticsearch helper
1 parent 31a8a1c commit e203f8a

File tree

3 files changed

+58
-1
lines changed

3 files changed

+58
-1
lines changed

.github/workflows/CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
- name: Set up JDK
3636
uses: actions/setup-java@v1
3737
with:
38-
java-version: 23
38+
java-version: 21
3939
- name: End to End tests setup
4040
run: |
4141
docker compose up -d elasticsearch

pom.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,20 @@
4747
<version>5.11.4</version>
4848
<scope>test</scope>
4949
</dependency>
50+
51+
<dependency>
52+
<groupId>org.mockito</groupId>
53+
<artifactId>mockito-core</artifactId>
54+
<version>5.15.2</version>
55+
<scope>test</scope>
56+
</dependency>
57+
58+
<dependency>
59+
<groupId>org.mockito</groupId>
60+
<artifactId>mockito-junit-jupiter</artifactId>
61+
<version>5.15.2</version>
62+
<scope>test</scope>
63+
</dependency>
5064
</dependencies>
5165

5266
<build>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package il.org.osm.israelhiking;
2+
3+
import org.junit.jupiter.api.BeforeEach;
4+
import org.junit.jupiter.api.Tag;
5+
import org.junit.jupiter.api.Test;
6+
import org.junit.jupiter.api.extension.ExtendWith;
7+
import org.mockito.ArgumentMatchers;
8+
import org.mockito.Mock;
9+
import org.mockito.junit.jupiter.MockitoExtension;
10+
import co.elastic.clients.elasticsearch.ElasticsearchClient;
11+
import co.elastic.clients.elasticsearch.indices.DeleteIndexRequest;
12+
import co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesClient;
13+
import co.elastic.clients.elasticsearch.indices.ExistsAliasRequest;
14+
import co.elastic.clients.elasticsearch.indices.ExistsRequest;
15+
import co.elastic.clients.transport.endpoints.BooleanResponse;
16+
import co.elastic.clients.util.ObjectBuilder;
17+
18+
import java.util.function.Function;
19+
import static org.mockito.Mockito.*;
20+
21+
@Tag("unit")
22+
@ExtendWith(MockitoExtension.class)
23+
class ElasticsearchServiceTest {
24+
@Mock
25+
private ElasticsearchClient esClient;
26+
@Mock
27+
private ElasticsearchIndicesClient indicesClient;
28+
private final String[] supportedLanguages = {"en", "es"};
29+
private final String indexAlias = "test-index";
30+
@BeforeEach
31+
void setUp() throws Exception {
32+
when(esClient.indices()).thenReturn(indicesClient);
33+
}
34+
@Test
35+
void testCreateElasticsearchClient() throws Exception {
36+
when(indicesClient.existsAlias(ArgumentMatchers.<Function<ExistsAliasRequest.Builder, ObjectBuilder<ExistsAliasRequest>>>any())).thenReturn(new BooleanResponse(false));
37+
when(indicesClient.exists(ArgumentMatchers.<Function<ExistsRequest.Builder, ObjectBuilder<ExistsRequest>>>any())).thenReturn(new BooleanResponse(true));
38+
39+
ElasticsearchHelper.createPointsIndex(esClient, indexAlias, supportedLanguages);
40+
41+
verify(indicesClient).delete(ArgumentMatchers.<Function<DeleteIndexRequest.Builder, ObjectBuilder<DeleteIndexRequest>>>any());
42+
}
43+
}

0 commit comments

Comments
 (0)