# How to test java(Elasticsearch) service?

**URL:** https://discuss.elastic.co/t/how-to-test-java-elasticsearch-service/122010
**Category:** Elasticsearch
**Created:** [March 1, 2018, 9:29am UTC](https://discuss.elastic.co/t/how-to-test-java-elasticsearch-service/122010 "2018-03-01T09:29:25Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Nikita\_Krasnov](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@Nikita\_Krasnov](https://discuss.elastic.co/u/Nikita_Krasnov)
#### Post date: [March 1, 2018, 9:29am UTC](https://discuss.elastic.co/t/how-to-test-java-elasticsearch-service/122010/1 "2018-03-01T09:29:25Z")

</div>

Hello to everyone,  
I use Elastic 6.1, Rest High level client for searching and adding information(logs and metrics).  
Right know I need to test this service, methods for adding and saving information(like with the help of Junit4).  
I have found documentation for this [https://www.elastic.co/guide/en/elasticsearch/reference/current/testing-framework.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/testing-framework.html), but don't exactly understand how to do it and from what to start.  
For example, I have such code for adding logs:

```
@Override
    public void addLogsToES(ElasticSearchLogs elasticSearchLogs) throws NoConnectionException {
        String date = new SimpleDateFormat("dd.MM.yyyy").format(new Date()).toLowerCase();
        XContentBuilder builder;
        try {
            builder = XContentFactory.jsonBuilder()
                    .startObject()
                    .field("timeStamp", elasticSearchLogs.getTimeStamp())
                    .field("header", elasticSearchLogs.getHeader())
                    .field("type", elasticSearchLogs.getType())
                    .field("message", elasticSearchLogs.getMessage())
                    .field("level", elasticSearchLogs.getLevel())
                    .field("node", elasticSearchLogs.getNode())
                    .field("system", elasticSearchLogs.getSystem())
                    .field("version", elasticSearchLogs.getVersion())
                    .field("port", elasticSearchLogs.getPort())
                    .field("service", elasticSearchLogs.getService())
                    .field("module", elasticSearchLogs.getModule())
                    .field("submodule", elasticSearchLogs.getSubmodule())
                    .field("thread", elasticSearchLogs.getThread())
                    .field("operation", elasticSearchLogs.getOperation())
                    .field("sessionId", elasticSearchLogs.getSessionId())
                    .field("userLogin", elasticSearchLogs.getUserLogin())
                    .field("userName", elasticSearchLogs.getUserName())
                    .field("office", elasticSearchLogs.getOffice())
                    .field("location", elasticSearchLogs.getLocation())
                    .field("ip", elasticSearchLogs.getIp())
                    .field("device", elasticSearchLogs.getDevice())
                    .field("metricType", elasticSearchLogs.getMetricType())
                    .field("value", elasticSearchLogs.getValue())
                    .endObject();
        } catch (IOException e) {
            throw new NoConnectionException("No connection to Elasticsearch", e);
        }

        if (elasticSearchLogs.getSystem().equals("front-admin")
                           && (elasticSearchLogs.getTimeStamp() == null
                           || elasticSearchLogs.getOperation() == null
                           || elasticSearchLogs.getValue() == null || elasticSearchLogs.getValue() == null)) {
                       throw new IllegalArgumentException("elastic.metricValueEmpty");
                   }
            IndexRequest indexRequest = new IndexRequest("portal-logs-" + date,
                    "logs_info").source(builder);
            bulkProcessor.add(indexRequest);
    }

```

From what I should start?

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [March 1, 2018, 3:33pm UTC](https://discuss.elastic.co/t/how-to-test-java-elasticsearch-service/122010/2 "2018-03-01T15:33:48Z")

</div>

It's unclear to me what is actually your question?

Is it a question about "how to start elasticsearch from my maven build?" or something like this?

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [March 29, 2018, 3:34pm UTC](https://discuss.elastic.co/t/how-to-test-java-elasticsearch-service/122010/3 "2018-03-29T15:34:26Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
