diff --git a/build.sbt b/build.sbt index 7184223..9f5c547 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,12 @@ lazy val root = project .in(file(".")) - .aggregate(serviceLocatorDns, lagom13JavaServiceLocatorDns, lagom13ScalaServiceLocatorDns) + .aggregate( + serviceLocatorDns, + lagom13JavaServiceLocatorDns, + lagom13ScalaServiceLocatorDns, + lagom14JavaServiceLocatorDns, + lagom14ScalaServiceLocatorDns + ) lazy val serviceLocatorDns = project .in(file("service-locator-dns")) @@ -27,4 +33,4 @@ lazy val lagom14ScalaServiceLocatorDns = project .enablePlugins(AutomateHeaderPlugin) name := "root" -publishArtifact := false \ No newline at end of file +publishArtifact := false diff --git a/lagom13-scala-service-locator-dns/build.sbt b/lagom13-scala-service-locator-dns/build.sbt index b5bdbd6..180d392 100644 --- a/lagom13-scala-service-locator-dns/build.sbt +++ b/lagom13-scala-service-locator-dns/build.sbt @@ -3,6 +3,7 @@ name := "lagom13-scala-service-locator-dns" libraryDependencies ++= Seq( Library.lagom13ScalaClient, Library.akkaTestkit % "test", + Library.lagom13ScalaServer % "test", Library.scalaTest % "test" ) diff --git a/lagom13-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala b/lagom13-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala index 3de6a2f..a0227b3 100755 --- a/lagom13-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala +++ b/lagom13-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala @@ -17,18 +17,31 @@ import org.scalatest._ import com.lightbend.dns.locator.{ ServiceLocator => ServiceLocatorService } import com.lightbend.lagom.internal.client.{ CircuitBreakerConfig, CircuitBreakerMetricsProviderImpl, CircuitBreakers } import com.lightbend.lagom.internal.spi.CircuitBreakerMetricsProvider -import play.api.{ ApplicationLoader, BuiltInComponentsFromContext, Environment } +import com.lightbend.lagom.scaladsl.api.Service.named +import com.lightbend.lagom.scaladsl.api.{ Descriptor, Service } +import com.lightbend.lagom.scaladsl.dns +import com.lightbend.lagom.scaladsl.server.{ LagomApplication, LagomApplicationContext } import play.api.libs.ws.ahc.AhcWSComponents import play.api.routing.Router import scala.concurrent.ExecutionContext +object DnsServiceLocatorSpec { + class DummyService extends Service { + override def descriptor: Descriptor = { + import Service._ + named("dummy") + } + } +} + class DnsServiceLocatorSpec extends WordSpec with Matchers with BeforeAndAfterAll with ScalaFutures { implicit val system: ActorSystem = ActorSystem("ServiceLocatorSpec", ConfigFactory.load()) implicit val mat: Materializer = ActorMaterializer.create(system) - val app = new BuiltInComponentsFromContext(ApplicationLoader.createContext(Environment.simple())) with AhcWSComponents with DnsServiceLocatorComponents { + val app = new LagomApplication(LagomApplicationContext.Test) with AhcWSComponents with DnsServiceLocatorComponents { + override lazy val lagomServer = serverFor[DnsServiceLocatorSpec.DummyService](new dns.DnsServiceLocatorSpec.DummyService()) override lazy val actorSystem: ActorSystem = system override lazy val materializer: Materializer = mat override lazy val executionContext: ExecutionContext = actorSystem.dispatcher diff --git a/lagom14-scala-service-locator-dns/build.sbt b/lagom14-scala-service-locator-dns/build.sbt index 490a129..e55857f 100644 --- a/lagom14-scala-service-locator-dns/build.sbt +++ b/lagom14-scala-service-locator-dns/build.sbt @@ -3,6 +3,7 @@ name := "lagom14-scala-service-locator-dns" libraryDependencies ++= Seq( Library.lagom14ScalaClient, Library.akkaTestkit % "test", + Library.lagom14ScalaServer % "test", Library.scalaTest % "test" ) diff --git a/lagom14-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala b/lagom14-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala index 3de6a2f..42a3764 100755 --- a/lagom14-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala +++ b/lagom14-scala-service-locator-dns/src/test/scala/com/lightbend/lagom/scaladsl/dns/DnsServiceLocatorSpec.scala @@ -17,18 +17,29 @@ import org.scalatest._ import com.lightbend.dns.locator.{ ServiceLocator => ServiceLocatorService } import com.lightbend.lagom.internal.client.{ CircuitBreakerConfig, CircuitBreakerMetricsProviderImpl, CircuitBreakers } import com.lightbend.lagom.internal.spi.CircuitBreakerMetricsProvider -import play.api.{ ApplicationLoader, BuiltInComponentsFromContext, Environment } +import com.lightbend.lagom.scaladsl.api.{ Descriptor, Service } +import com.lightbend.lagom.scaladsl.server.{ LagomApplication, LagomApplicationContext } import play.api.libs.ws.ahc.AhcWSComponents import play.api.routing.Router import scala.concurrent.ExecutionContext +object DnsServiceLocatorSpec { + class DummyService extends Service { + override def descriptor: Descriptor = { + import Service._ + named("dummy") + } + } +} + class DnsServiceLocatorSpec extends WordSpec with Matchers with BeforeAndAfterAll with ScalaFutures { implicit val system: ActorSystem = ActorSystem("ServiceLocatorSpec", ConfigFactory.load()) implicit val mat: Materializer = ActorMaterializer.create(system) - val app = new BuiltInComponentsFromContext(ApplicationLoader.createContext(Environment.simple())) with AhcWSComponents with DnsServiceLocatorComponents { + val app = new LagomApplication(LagomApplicationContext.Test) with AhcWSComponents with DnsServiceLocatorComponents { + override lazy val lagomServer = serverFor[DnsServiceLocatorSpec.DummyService](new DnsServiceLocatorSpec.DummyService()) override lazy val actorSystem: ActorSystem = system override lazy val materializer: Materializer = mat override lazy val executionContext: ExecutionContext = actorSystem.dispatcher diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 8f320ef..0e7557d 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -23,7 +23,9 @@ object Library { val lagom13JavaClient = "com.lightbend.lagom" %% "lagom-javadsl-client" % Version.lagom13 val lagom14JavaClient = "com.lightbend.lagom" %% "lagom-javadsl-client" % Version.lagom14 val lagom13ScalaClient = "com.lightbend.lagom" %% "lagom-scaladsl-client" % Version.lagom13 + val lagom13ScalaServer = "com.lightbend.lagom" %% "lagom-scaladsl-server" % Version.lagom13 val lagom14ScalaClient = "com.lightbend.lagom" %% "lagom-scaladsl-client" % Version.lagom14 + val lagom14ScalaServer = "com.lightbend.lagom" %% "lagom-scaladsl-server" % Version.lagom14 val scalaTest = "org.scalatest" %% "scalatest" % Version.scalaTest }