wix-incubator / wix-http-testkit   0.1.25

MIT License GitHub

Tools for testing HTTP services

Scala versions: 2.13 2.12

Build Status

HTTP Testkit


Wix Http Testkit is a library that will address many of the End-to-end testing concerns you might encounter.

Wix HTTP Testkit aims to be:

  • Simple Testing REST services or starting mock/stub servers is very simple and requires very few lines of code.
  • Fast Leveraging Akka-Http infrastructure, starting servers takes milliseconds.
  • Integrated: Other than providing a set of DSLs to support composing and executing REST HTTP calls and creating and configuring web servers, it also contains out of the box matcher libraries for Specs2 to easily validate each aspect of the tested flow.

Getting Started

Testing Client

Import DSL

import com.wix.e2e.http.client.sync._

Issue Call

    val somePort = 99123 /// any port
    implicit val baseUri = BaseUri(port = somePort)

        but = withParam("param1" -> "value") 
          and header("header" -> "value") 
          and withCookie("cookie" -> "cookieValue"))

Use Specs2 Matcher suite to match response

    import com.wix.e2e.http.matchers.ResponseMatchers._

    put("/anotherPath") must haveBodyWith("someBody")

For more info see Http Client Documentation and Response Matchers Suite.

Web Servers

Import Factory

    import com.wix.e2e.http.server.WebServerFactory._

Run an easily programmable web server

    val handler: RequestHandler = { case r: HttpRequest => HttpResponse()  }
    val server = aMockWebServerWith(handler).build

Or run a programmable that will record all incoming messages

    val server = aStubWebServer.build

Match against recorded requests

  import com.wix.e2e.http.matchers.RequestMatchers._
  server must receivedAnyRequestThat(must = beGet)

For more info see Web Server Documentation and Request Matchers Suite.


HTTP-testkit version '0.1.25' is available on Maven Central Repository. Scala versions 2.11.x, 2.12.x and 2.13.x are supported.


Simply add the wix-http-testkit module to your build settings:

libraryDependencies += "com.wix" %% "http-testkit" % "0.1.25"





Ideas and feature requests welcome! Report an issue or contact the maintainer directly.


This project is licensed under MIT License.