2013-01-18 13:20:17 +01:00
|
|
|
/**
|
|
|
|
|
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package akka.io
|
|
|
|
|
|
2013-01-22 13:48:36 +01:00
|
|
|
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 {
|
|
|
|
|
|
2013-01-22 13:48:36 +01:00
|
|
|
def temporaryServerAddress(address: String = "127.0.0.1"): InetSocketAddress = {
|
|
|
|
|
val serverSocket = ServerSocketChannel.open()
|
|
|
|
|
serverSocket.socket.bind(new InetSocketAddress(address, 0))
|
|
|
|
|
val port = serverSocket.socket.getLocalPort
|
|
|
|
|
serverSocket.close()
|
|
|
|
|
new InetSocketAddress(address, port)
|
|
|
|
|
}
|
|
|
|
|
|
2013-01-18 13:20:17 +01:00
|
|
|
def verifyActorTermination(actor: ActorRef)(implicit system: ActorSystem): Unit = {
|
|
|
|
|
val watcher = TestProbe()
|
|
|
|
|
watcher.watch(actor)
|
|
|
|
|
assert(watcher.expectMsgType[Terminated].actor == actor)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|