rrva
04/12/2017, 12:07 PMpublic <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType)
nhaarman
04/12/2017, 12:12 PMrrva
04/12/2017, 12:16 PMval mockRestTemplate = mock<RestTemplate> {
val r : ElasticResult<Map<String, Any>>
on { exchange(any<RequestEntity<String>>(), any<ParameterizedTypeReference<ElasticResult<Map<String, Any>>>>()) }
}
looks OK, but how do I specify doReturn r
?nhaarman
04/12/2017, 12:17 PMon { methodCall() } doReturn result
rrva
04/12/2017, 12:22 PMval result = mock<ElasticResult<Map<String, Any>>> {}
val mockRestTemplate = mock<RestTemplate> {
on { exchange(any<RequestEntity<String>>(),
any<ParameterizedTypeReference<ElasticResult<Map<String, Any>>>>()) } doReturn result
}
gives
Error:(29, 91) Kotlin: None of the following functions can be called with the arguments supplied:
public infix fun <T> OngoingStubbing<???>.doReturn(t: ???): OngoingStubbing<???> defined in com.nhaarman.mockito_kotlin
public fun <T> OngoingStubbing<???>.doReturn(t: ???, vararg ts: ???): OngoingStubbing<???> defined in com.nhaarman.mockito_kotlin
public infix inline fun <reified T> OngoingStubbing<ResponseEntity<ElasticResult<Map<String, Any>>!>!>.doReturn(ts: List<ResponseEntity<ElasticResult<Map<String, Any>>!>!>): OngoingStubbing<ResponseEntity<ElasticResult<Map<String, Any>>!>!> defined in com.nhaarman.mockito_kotlin
nhaarman
04/12/2017, 12:31 PMany<ParameterizedTypeReference<ElasticResult<Map<String, Any>>>>
is invalid, it should be any<ParameterizedTypeReference<Map<String, Any>>>
rrva
04/12/2017, 12:40 PMval request = RequestEntity<String>(body, <http://HttpMethod.POST|HttpMethod.POST>, endpoint)
val respType = object : ParameterizedTypeReference<ElasticResult<Map<String, Any>>>() {}
restTemplate.exchange(request, respType)
nhaarman
04/12/2017, 12:46 PMresult
to val result = mock<ResponseEntity<ElasticResult<Map<String, Any>>>>()
val result = mock<ResponseEntity<ElasticResult<Map<String, Any>>>> {}
val mockRestTemplate = mock<RestTemplate> {
on { exchange(any<RequestEntity<String>>(), any<ParameterizedTypeReference<ElasticResult<Map<String, Any>>>>()) }.doReturn(result)
}
rrva
04/12/2017, 3:58 PM