Joan Colmenero
05/20/2020, 5:13 PMprivate val mockWebServer = MockWebServer()
@JvmStatic
@BeforeClass
fun classSetUp() {
startMockWebServer()
mockWebServer.url("<http://localhost:58919/>")
}
@JvmStatic
@AfterClass
fun classTearDown() {
stopMockWebServer()
}
private fun startMockWebServer() {
mockWebServer.start(49331)
}
private fun stopMockWebServer() {
mockWebServer.close()
}
fun setDispatcher(dispatcher: Dispatcher) {
mockWebServer.dispatcher(dispatcher)
}
And the dispatcher that I send is :
private val dispatcher: Dispatcher = object : Dispatcher() {
@Throws(InterruptedException::class)
override fun dispatch(request: RecordedRequest): MockResponse {
if (request.path == "endpoint") {
return MockResponse()
.setResponseCode(200).setBody(
'''myjson'''
)
)
}
return MockResponse().setResponseCode(404)
}
}
Am I missing something?
And this is my fake retrofit for testing purposes
@Provides
@Singleton
fun provideTestRetrofit(httpClient: OkHttpClient): Retrofit =
Retrofit.Builder()
.baseUrl("<http://localhost:49331/>")
.client(httpClient)
.addConverterFactory(GsonConverterFactory.create())
.build()