2017-03-02 06:37:51 +01:00
|
|
|
package org.moire.ultrasonic.api.subsonic.rules
|
|
|
|
|
|
|
|
import okhttp3.mockwebserver.MockWebServer
|
|
|
|
import org.junit.rules.TestRule
|
|
|
|
import org.junit.runner.Description
|
|
|
|
import org.junit.runners.model.Statement
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Starts mock web server for test and shut it down after.
|
|
|
|
*/
|
2017-07-29 22:51:57 +02:00
|
|
|
class MockWebServerRule : TestRule {
|
2017-03-02 06:37:51 +01:00
|
|
|
val mockWebServer = MockWebServer()
|
|
|
|
|
|
|
|
override fun apply(base: Statement?, description: Description?): Statement {
|
2017-12-25 12:25:54 +01:00
|
|
|
return object : Statement() {
|
2017-03-02 06:37:51 +01:00
|
|
|
override fun evaluate() {
|
|
|
|
try {
|
|
|
|
mockWebServer.start()
|
|
|
|
base?.evaluate()
|
|
|
|
} finally {
|
|
|
|
mockWebServer.shutdown()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2017-07-30 22:23:20 +02:00
|
|
|
}
|