@@ -8,25 +8,25 @@ import org.junit.runner.Description
88import org.junit.runners.model.Statement
99
1010class WebServerRule (
11- private val lazyMockDispatchers : Lazy <Collection < ResponseBinder > >,
11+ private val lazyMockDispatcher : Lazy <ResponseBinder >,
1212 private val lazyResponseStore : Lazy <ResponseStore >
1313) : TestRule {
1414 override fun apply (base : Statement , description : Description ): Statement =
1515 WebServerInitializationStatement (
16- lazyMockDispatchers ,
16+ lazyMockDispatcher ,
1717 lazyResponseStore,
1818 base,
1919 description
2020 )
2121
2222 private class WebServerInitializationStatement (
23- private val lazyMockDispatchers : Lazy <Collection < ResponseBinder > >,
23+ private val lazyMockDispatcher : Lazy <ResponseBinder >,
2424 private val lazyResponseStore : Lazy <ResponseStore >,
2525 private val base : Statement ,
2626 private val description : Description
2727 ) : Statement() {
2828 val responseStore by lazy { lazyResponseStore.value }
29- val mockDispatchers by lazy { lazyMockDispatchers .value }
29+ val mockDispatcher by lazy { lazyMockDispatcher .value }
3030
3131 override fun evaluate () {
3232 val requestResponses = description.requestResponseIds()
@@ -37,29 +37,24 @@ class WebServerRule(
3737 )
3838 }
3939
40- mockDispatchers.forEach { dispatcher ->
41- requestResponses.forEach { requestResponse ->
42- dispatcher
43- .bindResponse(requestResponse.request, requestResponse.responseFactory)
44- }
40+ requestResponses.forEach { requestResponse ->
41+ mockDispatcher.bindResponse(requestResponse)
4542 }
4643 val stubbedResponseKeys = requestResponses
4744 .map { requestResponse -> requestResponse.request.url }
4845 .toSet()
4946
5047 base.evaluate()
5148
52- val usedResponseKeys = mockDispatchers
53- .flatMap { dispatcher -> dispatcher.usedEndpoints }
54- .toSet()
49+ val usedResponseKeys = mockDispatcher.usedEndpoints.toSet()
5550
5651 val unusedResponseKeys = stubbedResponseKeys - usedResponseKeys
5752 check(unusedResponseKeys.isEmpty()) {
5853 " ${unusedResponseKeys.size} unused stubbed URLs:\n [" +
5954 unusedResponseKeys.joinToString(" ]\n [" ) + " ]"
6055 }
6156
62- mockDispatchers.forEach( ResponseBinder :: reset)
57+ mockDispatcher. reset( )
6358 }
6459
6560 private fun Description.requestResponseIds () =
0 commit comments