Search in sources :

Example 26 with Index

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

the class ClientFacadeTest method testSearchTimedOut.

@Test
void testSearchTimedOut() throws IOException {
    Index index = Index.create("index");
    when(client.search(any(SearchRequest.class), eq(RequestOptions.DEFAULT))).thenReturn(searchResponse);
    when(searchResponse.getFailedShards()).thenReturn(0);
    when(searchResponse.isTimedOut()).thenReturn(true);
    when(searchResponse.getTook()).thenReturn(TimeValue.timeValueMillis(200));
    var indices = List.of(index);
    var exception = assertThrows(IndexSearchTimeoutException.class, () -> clientFacade.search(queryBuilder, 0, 100, indices));
    assertEquals(List.of("index"), exception.getIndices());
    assertEquals("", exception.getQuery());
    assertEquals(200L, exception.getMillis());
}
Also used : SearchRequest(org.elasticsearch.action.search.SearchRequest) Index(org.molgenis.data.elasticsearch.generator.model.Index) Test(org.junit.jupiter.api.Test)

Example 27 with Index

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

the class ClientFacadeTest method testDeleteThrowsException.

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

Example 28 with Index

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

the class ClientFacadeTest method testCreateIndexThrowsElasticsearchException.

@Test
void testCreateIndexThrowsElasticsearchException() throws IOException {
    Index index = Index.create("indexname");
    IndexSettings indexSettings = IndexSettings.create(1, 1);
    FieldMapping idField = FieldMapping.create("id", MappingType.TEXT, emptyList());
    Mapping mapping = Mapping.create("type", ImmutableList.of(idField));
    Stream<Mapping> mappings = Stream.of(mapping);
    when(indicesClient.create(any(CreateIndexRequest.class), eq(RequestOptions.DEFAULT))).thenThrow(new ElasticsearchException("error creating index"));
    var exception = assertThrows(IndexCreateException.class, () -> clientFacade.createIndex(index, indexSettings, mappings));
    assertEquals(List.of("indexname"), exception.getIndices());
}
Also used : IndexSettings(org.molgenis.data.elasticsearch.generator.model.IndexSettings) FieldMapping(org.molgenis.data.elasticsearch.generator.model.FieldMapping) Index(org.molgenis.data.elasticsearch.generator.model.Index) Mapping(org.molgenis.data.elasticsearch.generator.model.Mapping) FieldMapping(org.molgenis.data.elasticsearch.generator.model.FieldMapping) ElasticsearchException(org.elasticsearch.ElasticsearchException) CreateIndexRequest(org.elasticsearch.client.indices.CreateIndexRequest) Test(org.junit.jupiter.api.Test)

Example 29 with Index

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

the class ClientFacadeTest method testIndexesExistThrowsException.

@Test
void testIndexesExistThrowsException() throws IOException {
    Index index = Index.create("index");
    when(indicesClient.exists(any(GetIndexRequest.class), eq(RequestOptions.DEFAULT))).thenThrow(new ElasticsearchException("exception"));
    var exception = assertThrows(IndexExistsException.class, () -> clientFacade.indexesExist(index));
    assertEquals(List.of("index"), exception.getIndices());
}
Also used : GetIndexRequest(org.elasticsearch.client.indices.GetIndexRequest) Index(org.molgenis.data.elasticsearch.generator.model.Index) ElasticsearchException(org.elasticsearch.ElasticsearchException) Test(org.junit.jupiter.api.Test)

Example 30 with Index

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

the class ClientFacadeTest method testGetCountThrowsNotFoundException.

@Test
void testGetCountThrowsNotFoundException() throws IOException {
    Index index = Index.create("index");
    when(client.count(any(CountRequest.class), eq(RequestOptions.DEFAULT))).thenThrow(new ElasticsearchStatusException("exception", RestStatus.NOT_FOUND));
    var exception = assertThrows(UnknownIndexException.class, () -> clientFacade.getCount(index));
    assertEquals(List.of("index"), exception.getIndices());
}
Also used : CountRequest(org.elasticsearch.client.core.CountRequest) Index(org.molgenis.data.elasticsearch.generator.model.Index) ElasticsearchStatusException(org.elasticsearch.ElasticsearchStatusException) 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