2012-01-19 15:13:10 +01:00
|
|
|
/**
|
|
|
|
|
* Copyright (C) 2009-2012 Typesafe Inc. <http://www.typesafe.com>
|
|
|
|
|
*/
|
|
|
|
|
package akka.pattern
|
|
|
|
|
|
2012-06-21 16:09:14 +02:00
|
|
|
import language.postfixOps
|
|
|
|
|
|
2012-01-19 15:13:10 +01:00
|
|
|
import akka.testkit.AkkaSpec
|
2012-06-29 13:33:20 +02:00
|
|
|
import scala.concurrent.util.duration._
|
2012-02-10 16:02:37 +01:00
|
|
|
import akka.testkit.DefaultTimeout
|
2012-01-19 15:13:10 +01:00
|
|
|
|
2012-02-10 16:02:37 +01:00
|
|
|
class AskSpec extends AkkaSpec with DefaultTimeout {
|
2012-01-19 15:13:10 +01:00
|
|
|
|
|
|
|
|
"The “ask” pattern" must {
|
|
|
|
|
|
|
|
|
|
"return broken promises on DeadLetters" in {
|
|
|
|
|
val dead = system.actorFor("/system/deadLetters")
|
2012-01-23 15:59:18 +01:00
|
|
|
val f = dead.ask(42)(1 second)
|
2012-05-03 21:14:47 +02:00
|
|
|
f.isCompleted must be(true)
|
2012-01-19 15:13:10 +01:00
|
|
|
f.value.get match {
|
|
|
|
|
case Left(_: AskTimeoutException) ⇒
|
|
|
|
|
case v ⇒ fail(v + " was not Left(AskTimeoutException)")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
"return broken promises on EmptyLocalActorRefs" in {
|
|
|
|
|
val empty = system.actorFor("unknown")
|
|
|
|
|
val f = empty ? 3.14
|
2012-05-03 21:14:47 +02:00
|
|
|
f.isCompleted must be(true)
|
2012-01-19 15:13:10 +01:00
|
|
|
f.value.get match {
|
|
|
|
|
case Left(_: AskTimeoutException) ⇒
|
|
|
|
|
case v ⇒ fail(v + " was not Left(AskTimeoutException)")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2012-05-03 21:14:47 +02:00
|
|
|
}
|