Interface TestRoute


  • public interface TestRoute
    A wrapped route that has a run method to run a request through the underlying route to create a TestResponse.

    A TestRoute is created by deriving a test class from the concrete RouteTest implementation for your testing framework (like JUnitRouteTest for JUnit) and then using its testRoute method to wrap a route with testing support.

    • Method Detail

      • run

        TestRouteResult run​(HttpRequest request)
        Run the request against the sealed route, meaning that exceptions and rejections will be handled by the default exception and rejection handlers. The default handlers will convert exceptions and rejections into HTTP responses with corresponding status codes (like 404 when no route matches the path or 500 in cases of exceptions).

        If you want to assert on the original rejections instead, use runWithRejections(akka.http.javadsl.model.HttpRequest).

        Parameters:
        request - (undocumented)
        Returns:
        (undocumented)
      • runClientServer

        TestRouteResult runClientServer​(HttpRequest request)
        Similar to run(akka.http.javadsl.model.HttpRequest) but runs the request through a full HTTP client and server stack.

        Run the request against the sealed route, meaning that exceptions and rejections will be handled by the default exception and rejection handlers. The default handlers will convert exceptions and rejections into HTTP responses with corresponding status codes (like 404 when no route matches the path or 500 in cases of exceptions).

        If you want to assert on the original rejections instead, use runWithRejections(akka.http.javadsl.model.HttpRequest).

        Parameters:
        request - (undocumented)
        Returns:
        (undocumented)
      • runWithRejections

        TestRouteResult runWithRejections​(HttpRequest request)
        Run the request against the "semi-sealed" route, meaning that exceptions will be handled by the default exception handler but rejections will not be handled. This means that the test will not see HTTP responses with error status codes for routes that rejected a request. Instead, the TestRouteResult allows access to the original rejection containing all the rejection details in structured form. Use TestRouteResult.assertRejections(akka.http.javadsl.server.Rejection...) to check that a route rejected a request with expected rejections.

        Otherwise, to assert on the actual error HTTP response generated by the default rejection handler, use the run(akka.http.javadsl.model.HttpRequest) method, instead.

        Parameters:
        request - (undocumented)
        Returns:
        (undocumented)
      • underlying

        Route underlying()