Hello I have a problem with mockWebServer, when cr...
# squarelibraries
j
Hello I have a problem with mockWebServer, when creating a dispatcher is not set to the mockWebServer, I'm doing this :
Copy code
private 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 :
Copy code
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
Copy code
@Provides
    @Singleton
    fun provideTestRetrofit(httpClient: OkHttpClient): Retrofit =
        Retrofit.Builder()
            .baseUrl("<http://localhost:49331/>")
            .client(httpClient)
            .addConverterFactory(GsonConverterFactory.create())
            .build()