java - how to mock ElasticSearch Client for unit testing in scala -


i want mock elasticsearch client test code without running es service trying

import java.nio.file.files class campaignestest val file= files.createtempdirectory("tempesdata")   def getclient():mocktransportclient={      val settings = settings.builder()                 .put("http.enabled", "false")                 .put("path.data", file.tostring()).build();      val client = new mocktransportclient(settings);        client   }  class campaigntestsearch extends playspec{ val campaignestest= new campaignestest       val client=campaignestest.getclient   val response = client.preparesearch("dbtest")       .settypes(campaign_collection_name)       .setsearchtype(searchtype.dfs_query_then_fetch)       .addfields("uuid","campaignname","artworkid","activationdate","_source")       .setquery(query)       .execute()       .actionget()   } 

getting exception these lines

campaignestest line no val client = new mocktransportclient(settings);    campaigntestsearch line no 46 val client=campaignestest.getclient 

exception encountered when attempting run suite class name:

org.scalatest.deferredabortedsuite *** aborted *** [info]   java.lang.illegalstateexception: running tests failed invoke randomizedcontext#getrandom [info]   @ org.elasticsearch.common.randomness.get(randomness.java:105) [info]   @ org.elasticsearch.client.transport.transportclientnodesservice.<init>(transportclientnodesservice.java:100) [info]   @ org.elasticsearch.client.transport.transportclient.buildtemplate(transportclient.java:159) [info]   @ org.elasticsearch.client.transport.transportclient.<init>(transportclient.java:228) [info]   @ org.elasticsearch.transport.mocktransportclient.<init>(mocktransportclient.java:34) [info]   @ testcontrollers.campaign.campaignestest.getclient(campaignestest.scala:40) [info]   @ testcontrollers.campaign.campaigntestsearch.<init>(campaigntestsearch.scala:46) [info]   @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) [info]   @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:62) [info]   @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) [info]   ... [info]   cause: java.lang.reflect.invocationtargetexception: [info]   @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) [info]   @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) [info]   @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) [info]   @ java.lang.reflect.method.invoke(method.java:498) [info]   @ org.elasticsearch.common.randomness.get(randomness.java:101) [info]   @ org.elasticsearch.client.transport.transportclientnodesservice.<init>(transportclientnodesservice.java:100) [info]   @ org.elasticsearch.client.transport.transportclient.buildtemplate(transportclient.java:159) [info]   @ org.elasticsearch.client.transport.transportclient.<init>(transportclient.java:228) [info]   @ org.elasticsearch.transport.mocktransportclient.<init>(mocktransportclient.java:34) [info]   @ testcontrollers.campaign.campaignestest.getclient(campaignestest.scala:40) [info]   ... [info]   cause: java.lang.illegalstateexception: no context information thread: thread[id=10, name=pool-1-thread-1, state=runnable, group=main]. thread running under class com.carrotsearch.randomizedtesting.randomizedrunner runner context? add @runwith(class com.carrotsearch.randomizedtesting.randomizedrunner.class) test class. make sure code accesses random contexts within @beforeclass , @afterclass boundary (for example, static test class initializers not permitted access random contexts). [info]   @ com.carrotsearch.randomizedtesting.randomizedcontext.context(randomizedcontext.java:244) [info]   @ com.carrotsearch.randomizedtesting.randomizedcontext.current(randomizedcontext.java:151) [info]   @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) [info]   @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) [info]   @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) [info]   @ java.lang.reflect.method.invoke(method.java:498) [info]   @ org.elasticsearch.common.randomness.get(randomness.java:101) [info]   @ org.elasticsearch.client.transport.transportclientnodesservice.<init>(transportclientnodesservice.java:100) [info]   @ org.elasticsearch.client.transport.transportclient.buildtemplate(transportclient.java:159) [info]   @ org.elasticsearch.client.transport.transportclient.<init>(transportclient.java:228) 

how resolve exception if there better method unit test elasticsearch code please guide thanks


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -