Search in sources :

Example 21 with Index

use of org.molgenis.data.elasticsearch.generator.model.Index in project molgenis by molgenis.

the class ClientFacadeTest method testSearchFailedShards.

@Test
void testSearchFailedShards() throws IOException {
    Index index = Index.create("index");
    when(client.search(any(SearchRequest.class), eq(RequestOptions.DEFAULT))).thenReturn(searchResponse);
    when(searchResponse.getFailedShards()).thenReturn(1);
    when(searchResponse.getShardFailures()).thenReturn(singleShardSearchFailure);
    var indices = List.of(index);
    var exception = assertThrows(IndexSearchException.class, () -> clientFacade.search(queryBuilder, 0, 100, indices));
    assertEquals(List.of("index"), exception.getIndices());
    assertEquals("", exception.getQuery());
}
Also used : SearchRequest(org.elasticsearch.action.search.SearchRequest) Index(org.molgenis.data.elasticsearch.generator.model.Index) Test(org.junit.jupiter.api.Test)

Example 22 with Index

use of org.molgenis.data.elasticsearch.generator.model.Index in project molgenis by molgenis.

the class ClientFacadeTest method testIndexThrowsResourceNotFoundException.

@Test
void testIndexThrowsResourceNotFoundException() throws IOException {
    Index index = Index.create("index");
    when(document.getContent()).thenReturn(xContentBuilder);
    when(document.getId()).thenReturn("id");
    var cause = new ResourceNotFoundException("exception");
    when(client.index(any(IndexRequest.class), eq(RequestOptions.DEFAULT))).thenThrow(cause);
    var exception = assertThrows(UnknownIndexException.class, () -> clientFacade.index(index, document));
    assertEquals(List.of("index"), exception.getIndices());
    assertSame(cause, exception.getCause());
}
Also used : Index(org.molgenis.data.elasticsearch.generator.model.Index) ResourceNotFoundException(org.elasticsearch.ResourceNotFoundException) IndexRequest(org.elasticsearch.action.index.IndexRequest) GetIndexRequest(org.elasticsearch.client.indices.GetIndexRequest) DeleteIndexRequest(org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest) CreateIndexRequest(org.elasticsearch.client.indices.CreateIndexRequest) Test(org.junit.jupiter.api.Test)

Example 23 with Index

use of org.molgenis.data.elasticsearch.generator.model.Index in project molgenis by molgenis.

the class ClientFacadeTest method testIndexThrowsException.

@Test
void testIndexThrowsException() throws IOException {
    Index index = Index.create("index");
    when(document.getContent()).thenReturn(xContentBuilder);
    when(document.getId()).thenReturn("id");
    var cause = new ElasticsearchException("exception");
    when(client.index(any(IndexRequest.class), eq(RequestOptions.DEFAULT))).thenThrow(cause);
    var exception = assertThrows(DocumentIndexException.class, () -> clientFacade.index(index, document));
    assertEquals(List.of("index"), exception.getIndices());
    assertSame(cause, exception.getCause());
}
Also used : Index(org.molgenis.data.elasticsearch.generator.model.Index) ElasticsearchException(org.elasticsearch.ElasticsearchException) IndexRequest(org.elasticsearch.action.index.IndexRequest) GetIndexRequest(org.elasticsearch.client.indices.GetIndexRequest) DeleteIndexRequest(org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest) CreateIndexRequest(org.elasticsearch.client.indices.CreateIndexRequest) Test(org.junit.jupiter.api.Test)

Example 24 with Index

use of org.molgenis.data.elasticsearch.generator.model.Index in project molgenis by molgenis.

the class ClientFacadeTest method testIndexShardFailure.

@Test
void testIndexShardFailure() throws IOException {
    Index index = Index.create("index");
    when(document.getContent()).thenReturn(xContentBuilder);
    when(document.getId()).thenReturn("id");
    when(client.index(any(IndexRequest.class), eq(RequestOptions.DEFAULT))).thenReturn(indexResponse);
    when(indexResponse.getShardInfo()).thenReturn(shardInfo);
    when(shardInfo.getSuccessful()).thenReturn(0);
    when(shardInfo.getFailures()).thenReturn(singleShardIndexResponseFailure);
    var exception = assertThrows(DocumentIndexException.class, () -> clientFacade.index(index, document));
    assertEquals(List.of("index"), exception.getIndices());
    assertEquals("id", exception.getDocumentId());
}
Also used : Index(org.molgenis.data.elasticsearch.generator.model.Index) IndexRequest(org.elasticsearch.action.index.IndexRequest) GetIndexRequest(org.elasticsearch.client.indices.GetIndexRequest) DeleteIndexRequest(org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest) CreateIndexRequest(org.elasticsearch.client.indices.CreateIndexRequest) Test(org.junit.jupiter.api.Test)

Example 25 with Index

use of org.molgenis.data.elasticsearch.generator.model.Index in project molgenis by molgenis.

the class ClientFacadeTest method testDeleteResourceNotFound.

@Test
void testDeleteResourceNotFound() throws IOException {
    Index index = Index.create("index");
    when(document.getId()).thenReturn("id");
    when(client.delete(any(DeleteRequest.class), eq(RequestOptions.DEFAULT))).thenThrow(new ResourceNotFoundException("exception"));
    var exception = assertThrows(UnknownIndexException.class, () -> clientFacade.deleteById(index, document));
    assertEquals(List.of("index"), exception.getIndices());
}
Also used : Index(org.molgenis.data.elasticsearch.generator.model.Index) ResourceNotFoundException(org.elasticsearch.ResourceNotFoundException) DeleteRequest(org.elasticsearch.action.delete.DeleteRequest) Test(org.junit.jupiter.api.Test)

Aggregations

Index (org.molgenis.data.elasticsearch.generator.model.Index)37 Test (org.junit.jupiter.api.Test)23 ElasticsearchException (org.elasticsearch.ElasticsearchException)13 SearchRequest (org.elasticsearch.action.search.SearchRequest)10 DeleteIndexRequest (org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest)6 CreateIndexRequest (org.elasticsearch.client.indices.CreateIndexRequest)6 IOException (java.io.IOException)5 CountRequest (org.elasticsearch.client.core.CountRequest)5 QueryBuilder (org.elasticsearch.index.query.QueryBuilder)5 IndexSettings (org.molgenis.data.elasticsearch.generator.model.IndexSettings)5 Mapping (org.molgenis.data.elasticsearch.generator.model.Mapping)5 UnknownIndexException (org.molgenis.data.index.exception.UnknownIndexException)5 ResourceNotFoundException (org.elasticsearch.ResourceNotFoundException)4 GetIndexRequest (org.elasticsearch.client.indices.GetIndexRequest)4 IndexRequest (org.elasticsearch.action.index.IndexRequest)3 Document (org.molgenis.data.elasticsearch.generator.model.Document)3 FieldMapping (org.molgenis.data.elasticsearch.generator.model.FieldMapping)3 ElasticsearchStatusException (org.elasticsearch.ElasticsearchStatusException)2 DeleteRequest (org.elasticsearch.action.delete.DeleteRequest)2 SearchResponse (org.elasticsearch.action.search.SearchResponse)2