Skip to content
Snippets Groups Projects
Commit e4a0b165 authored by Leonardo Menezes's avatar Leonardo Menezes
Browse files

added test to GetIndexController

parent c98572c0
No related branches found
No related tags found
No related merge requests found
package controllers
class GetIndexSettings extends ElasticActionController {
class GetIndexSettingsController extends ElasticActionController {
def processElasticRequest = (request, client) => client.getIndexSettings(request.get("index"), request.host)
......
......@@ -15,7 +15,7 @@ POST /apis/optimize_indices @controllers.OptimizeIndexControlle
POST /apis/clear_indices_cache @controllers.ClearIndexCacheController.execute
POST /apis/refresh_indices @controllers.RefreshIndexController.execute
POST /apis/delete_indices @controllers.DeleteIndexController.execute
POST /apis/get_index_settings @controllers.GetIndexSettings.execute
POST /apis/get_index_settings @controllers.GetIndexSettingsController.execute
POST /apis/get_index_mapping @controllers.GetIndexMappingController.execute
POST /apis/update_cluster_settings @controllers.PutClusterSettings.execute
POST /apis/get_node_stats @controllers.NodeStatsController.execute
......
package controllers
import elastic.{ElasticResponse, ElasticClient}
import exceptions.MissingRequiredParamException
import models.CerebroRequest
import org.specs2.Specification
import org.specs2.mock.Mockito
import play.api.libs.json.Json
import play.api.test.FakeApplication
import scala.concurrent.duration.Duration
import scala.concurrent.{Await, Future}
object GetIndexSettingsControllerSpec extends Specification with Mockito {
def is =
s2"""
GetIndexSettingsController should ${step(play.api.Play.start(FakeApplication()))}
invoke getIndexSettings $getIndexSettings
should throw exception if index param is missing $missingIndex
${step(play.api.Play.stop(FakeApplication()))}
"""
val controller = new GetIndexSettingsController
def getIndexSettings = {
val expectedResponse = Json.parse(
"""
|{
| "someIndex": {
| "settings": {
| "index": {
| "creation_date": "1459675569309",
| "number_of_shards": "5",
| "number_of_replicas": "1",
| "uuid": "6sN-tL30Sfyz_tW0iVqVPQ",
| "version": {
| "created": "2030099"
| }
| }
| }
| }
|}
""".stripMargin
)
val body = Json.obj("host" -> "somehost", "index" -> "someIndex")
val client = mock[ElasticClient]
client.getIndexSettings("someIndex", "somehost") returns Future.successful(ElasticResponse(200, expectedResponse))
val response = Await.result(controller.processElasticRequest(CerebroRequest(body), client), Duration("1s"))
there was one(client).getIndexSettings("someIndex", "somehost")
response.body mustEqual expectedResponse
response.status mustEqual 200
}
def missingIndex = {
val body = Json.obj("host" -> "somehost")
val client = mock[ElasticClient]
controller.processElasticRequest(CerebroRequest(body), client) must throwA[MissingRequiredParamException]
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment