pekko/akka-actor-tests/src/test/scala/akka/TestUtils.scala

36 lines
1.1 KiB
Scala
Raw Normal View History

2013-01-18 13:20:17 +01:00
/**
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
*/
package akka
2013-01-18 13:20:17 +01:00
import scala.collection.immutable
import java.net.InetSocketAddress
import java.nio.channels.ServerSocketChannel
import akka.actor.{ Terminated, ActorSystem, ActorRef }
2013-01-18 13:20:17 +01:00
import akka.testkit.TestProbe
object TestUtils {
def temporaryServerAddress(address: String = "127.0.0.1"): InetSocketAddress =
temporaryServerAddresses(1, address).head
def temporaryServerAddresses(numberOfAddresses: Int, hostname: String = "127.0.0.1"): immutable.IndexedSeq[InetSocketAddress] = {
val sockets = for (_ 1 to numberOfAddresses) yield {
val serverSocket = ServerSocketChannel.open()
serverSocket.socket.bind(new InetSocketAddress(hostname, 0))
val port = serverSocket.socket.getLocalPort
(serverSocket, new InetSocketAddress(hostname, port))
}
sockets collect { case (socket, address) socket.close(); address }
}
2013-01-18 13:20:17 +01:00
def verifyActorTermination(actor: ActorRef)(implicit system: ActorSystem): Unit = {
val watcher = TestProbe()
watcher.watch(actor)
watcher.expectTerminated(actor)
2013-01-18 13:20:17 +01:00
}
}