|
Akka/Scala example source code file (ActorSystemActivatorTest.scala)
The ActorSystemActivatorTest.scala Akka example source code/** * Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com> */ package akka.osgi import language.postfixOps import org.scalatest.WordSpec import akka.actor.ActorSystem import akka.pattern.ask import scala.concurrent.Await import scala.concurrent.duration._ import scala.collection.immutable import akka.util.Timeout import de.kalpatec.pojosr.framework.launch.BundleDescriptor import test.{ RuntimeNameActorSystemActivator, TestActivators, PingPongActorSystemActivator } import test.PingPong._ import PojoSRTestSupport.bundle import org.scalatest.Matchers /** * Test cases for [[akka.osgi.ActorSystemActivator]] in 2 different scenarios: * - no name configured for [[akka.actor.ActorSystem]] * - runtime name configuration */ object ActorSystemActivatorTest { val TEST_BUNDLE_NAME = "akka.osgi.test.activator" } class PingPongActorSystemActivatorTest extends WordSpec with Matchers with PojoSRTestSupport { import ActorSystemActivatorTest._ val testBundles: immutable.Seq[BundleDescriptor] = buildTestBundles(List( bundle(TEST_BUNDLE_NAME).withActivator(classOf[PingPongActorSystemActivator]))) "PingPongActorSystemActivator" must { "start and register the ActorSystem when bundle starts" in { filterErrors() { val system = serviceForType[ActorSystem] val actor = system.actorSelection("/user/pong") implicit val timeout = Timeout(5 seconds) Await.result(actor ? Ping, timeout.duration) should be(Pong) } } "stop the ActorSystem when bundle stops" in { filterErrors() { val system = serviceForType[ActorSystem] system.isTerminated should be(false) bundleForName(TEST_BUNDLE_NAME).stop() system.awaitTermination() system.isTerminated should be(true) } } } } class RuntimeNameActorSystemActivatorTest extends WordSpec with Matchers with PojoSRTestSupport { import ActorSystemActivatorTest._ val testBundles: immutable.Seq[BundleDescriptor] = buildTestBundles(List(bundle(TEST_BUNDLE_NAME).withActivator(classOf[RuntimeNameActorSystemActivator]))) "RuntimeNameActorSystemActivator" must { "register an ActorSystem and add the bundle id to the system name" in { filterErrors() { serviceForType[ActorSystem].name should be(TestActivators.ACTOR_SYSTEM_NAME_PATTERN.format(bundleForName(TEST_BUNDLE_NAME).getBundleId)) } } } } Other Akka source code examplesHere is a short list of links related to this Akka ActorSystemActivatorTest.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.