diff --git a/akka-http-testkit/src/main/scala/akka/http/javadsl/testkit/RouteTest.scala b/akka-http-testkit/src/main/scala/akka/http/javadsl/testkit/RouteTest.scala index 6b171a9fee..df660bd89a 100644 --- a/akka-http-testkit/src/main/scala/akka/http/javadsl/testkit/RouteTest.scala +++ b/akka-http-testkit/src/main/scala/akka/http/javadsl/testkit/RouteTest.scala @@ -10,7 +10,7 @@ import scala.concurrent.duration._ import akka.stream.ActorMaterializer import akka.http.scaladsl.server import akka.http.javadsl.model.HttpRequest -import akka.http.javadsl.server.{ AllDirectives, Route, Directives } +import akka.http.javadsl.server.{ HttpApp, AllDirectives, Route, Directives } import akka.http.impl.util.JavaMapping.Implicits._ import akka.http.impl.server.RouteImplementation import akka.http.scaladsl.model.HttpResponse @@ -50,5 +50,10 @@ abstract class RouteTest extends AllDirectives { def run(request: HttpRequest): TestResponse = runRoute(underlying, request) } + /** + * Creates a [[TestRoute]] for the main route of an [[HttpApp]]. + */ + def testAppRoute(app: HttpApp): TestRoute = testRoute(app.createRoute) + protected def createTestResponse(response: HttpResponse): TestResponse } diff --git a/akka-http/src/main/scala/akka/http/javadsl/server/HttpApp.scala b/akka-http/src/main/scala/akka/http/javadsl/server/HttpApp.scala index 17a273dbf3..45fe666e31 100644 --- a/akka-http/src/main/scala/akka/http/javadsl/server/HttpApp.scala +++ b/akka-http/src/main/scala/akka/http/javadsl/server/HttpApp.scala @@ -16,7 +16,7 @@ import akka.http.scaladsl.Http.ServerBinding abstract class HttpApp extends AllDirectives with HttpServiceBase { - protected def createRoute(): Route + def createRoute(): Route /** * Starts an HTTP server on the given interface and port. Creates the route by calling the