# NullPointerExcetion when running an integration test case in ES

**URL:** <https://discuss.elastic.co/t/nullpointerexcetion-when-running-an-integration-test-case-in-es/41154>\
**Category:** Elasticsearch\
**Created:** [February 8, 2016, 2:20am UTC](https://discuss.elastic.co/t/nullpointerexcetion-when-running-an-integration-test-case-in-es/41154 "2016-02-08T02:20:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![apanimesh061](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/apanimesh061/32/927_2.png) [@apanimesh061](https://discuss.elastic.co/u/apanimesh061)\
**Post date:** [February 8, 2016, 2:20am UTC](https://discuss.elastic.co/t/nullpointerexcetion-when-running-an-integration-test-case-in-es/41154/1 "2016-02-08T02:20:25Z")

</div>

I am using Elasticsearch 2.2.0 where I am trying to run the following test case:

```
package com.animesh.elasticsearch.plugin;

import org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateResponse;
import org.apache.commons.io.IOUtils;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.ESIntegTestCase;
import org.junit.Assert;
import org.junit.Test;

import java.io.IOException;
import java.util.Collection;

@ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.SUITE, numDataNodes = 0)
public class NewPluginTest extends ESIntegTestCase {

    private final static String indexName = "new_index";
    private final static String templateJson = "template.json";
    private final static String templateName = "F:\\ESPluginTest\\src\\test\\resources\\template.json";

    @Override
    protected Collection<Class<? extends Plugin>> nodePlugins() {
        return pluginList(NewSimilarityPlugin.class);
    }

    @Test
    public void IndexExists() throws IOException {
        try {
            String currentTemplate = IOUtils.toString(getClass().getResourceAsStream(templateJson));
            assertNotNull("The template should not be null", currentTemplate);
            PutIndexTemplateResponse response = client().admin()
                    .indices()
                    .preparePutTemplate(templateName)
                    .setSource(currentTemplate)
                    .execute()
                    .actionGet();
            if (!response.isAcknowledged())
                Assert.fail("Could not create the template");

            assertNotNull(getResponse.getIndexTemplates());
            assertThat(getResponse.getIndexTemplates(), hasSize(1));

        } catch (Exception e) {
            Assert.fail("There was some error in defining the template");
        }
    }
}

```

Here `NewSimilarityPlugin` is a plugin that I designed for customizing default scoring.

Following is the error stack trace that I get:

```
févr. 07, 2016 7:03:58 PM org.elasticsearch.test.ESIntegTestCase printTestMessage
INFOS: [NewPluginTest#IndexExists]: setup test
févr. 07, 2016 7:03:58 PM org.elasticsearch.test.InternalTestCluster <init>
INFOS: Setup InternalTestCluster [SUITE-CHILD_VM=[0]-CLUSTER_SEED=[-4798790696630023454]-HASH=[13D1DB516FD4]-cluster] with seed [BD67454957EB0AE2] using [0] data nodes and [0] client nodes
hello
févr. 07, 2016 7:03:58 PM org.elasticsearch.test.ESIntegTestCase printTestMessage
INFOS: [NewPluginTest#IndexExists]: starting test
févr. 07, 2016 7:03:58 PM org.elasticsearch.test.ESIntegTestCase printTestMessage
INFOS: [NewPluginTest#IndexExists]: finished test
févr. 07, 2016 7:03:58 PM org.elasticsearch.test.ESIntegTestCase printTestMessage
INFOS: [NewPluginTest#IndexExists]: cleaning up after test
févr. 07, 2016 7:03:58 PM org.elasticsearch.node.Node <init>
INFOS: [node_s0] version[2.2.0], pid[5612], build[8ff36d1/2016-01-27T13:32:39Z]
févr. 07, 2016 7:03:58 PM org.elasticsearch.node.Node <init>
INFOS: [node_s0] initializing ...

java.lang.NullPointerException
	at __randomizedtesting.SeedInfo.seed([61AFD1CE4299DDF4:312F64C6F6D6BBA8]:0)
	at org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules$1.compare(PluginsAndModules.java:56)
	at org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules$1.compare(PluginsAndModules.java:53)
	at java.util.TimSort.binarySort(TimSort.java:292)
	at java.util.TimSort.sort(TimSort.java:217)
	at java.util.Arrays.sort(Arrays.java:1512)
	at java.util.ArrayList.sort(ArrayList.java:1454)
	at java.util.Collections.sort(Collections.java:175)
	at org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules.getPluginInfos(PluginsAndModules.java:53)
	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:176)
	at org.elasticsearch.node.Node.<init>(Node.java:146)
	at org.elasticsearch.node.MockNode.<init>(MockNode.java:43)
	at org.elasticsearch.test.InternalTestCluster.buildNode(InternalTestCluster.java:606) ...

Process finished with exit code -1

```

**UPDATE:**

I noticed that `client()`'s value is null which is causing this issue.

---

<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:** [July 5, 2017, 11:18pm UTC](https://discuss.elastic.co/t/nullpointerexcetion-when-running-an-integration-test-case-in-es/41154/2 "2017-07-05T23:18:18Z")

</div>


