Created
July 14, 2015 07:54
-
-
Save eicnix/a4b9ed0258bdfac307a5 to your computer and use it in GitHub Desktop.
Mocking complete Response using Scalamock and dispatch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Example for lukaseichler.de/how-to-test-dispatch-request/ | |
import java.io.InputStream | |
import java.net.URI | |
import java.nio.ByteBuffer | |
import java.util | |
import com.ning.http.client.cookie.Cookie | |
import com.ning.http.client.{ FluentCaseInsensitiveStringsMap, Response } | |
import scala.collection.immutable.HashMap | |
class MockResponse(val body: String, val status: Int = 200, val header: Map[String, String] = new HashMap[String, String]) extends Response { | |
override def getResponseBodyExcerpt(maxLength: Int, charset: String): String = ??? | |
override def getResponseBodyExcerpt(maxLength: Int): String = ??? | |
override def getResponseBodyAsByteBuffer: ByteBuffer = ??? | |
override def getStatusCode: Int = status | |
override def getResponseBodyAsBytes: Array[Byte] = ??? | |
override def getResponseBodyAsStream: InputStream = ??? | |
override def isRedirected: Boolean = ??? | |
override def getCookies: util.List[Cookie] = ??? | |
override def hasResponseBody: Boolean = body != null | |
override def getStatusText: String = ??? | |
override def getHeaders(name: String): util.List[String] = ??? | |
override def getHeaders: FluentCaseInsensitiveStringsMap = ??? | |
override def hasResponseHeaders: Boolean = ??? | |
override def getResponseBody(charset: String): String = ??? | |
override def getResponseBody: String = body | |
override def getContentType: String = "UTF-8" | |
override def hasResponseStatus: Boolean = true | |
override def getUri: URI = ??? | |
override def getHeader(name: String): String = header(name) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Example for lukaseichler.de/how-to-test-dispatch-request/ | |
import dispatch.{HttpExecutor, _} | |
import dispatch.Defaults._ | |
val httpMock = mock[HttpExecutor] | |
(httpMock.apply(_: (Request, AsyncHandler[Response]))(_: ExecutionContext)) | |
.expects(*, *) | |
.returning(Future[Response] { | |
new MockResponse("Hello World") | |
}) | |
class Foo(http: HttpExecutor = Http) // Allow to override default HttpExecutor |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment