=per make sure ReplayFilter works OK if no previous writer ID was seen

This commit is contained in:
Konrad Malawski 2016-04-13 15:12:38 +02:00
parent 81579bd403
commit 4b81d835cd

View file

@ -16,6 +16,9 @@ class ReplayFilterSpec extends AkkaSpec with ImplicitSender {
val writerB = "writer-B"
val writerC = "writer-C"
val n1 = ReplayedMessage(PersistentRepr("a", 13, "p1", "", writerUuid = PersistentRepr.Undefined))
val n2 = ReplayedMessage(PersistentRepr("b", 14, "p1", "", writerUuid = PersistentRepr.Undefined))
val m1 = ReplayedMessage(PersistentRepr("a", 13, "p1", "", writerUuid = writerA))
val m2 = ReplayedMessage(PersistentRepr("b", 14, "p1", "", writerUuid = writerA))
val m3 = ReplayedMessage(PersistentRepr("c", 15, "p1", "", writerUuid = writerA))
@ -40,6 +43,23 @@ class ReplayFilterSpec extends AkkaSpec with ImplicitSender {
expectTerminated(filter)
}
"pass on all replayed messages (when previously no writer id was given, but now is) and then stop" in {
val filter = system.actorOf(ReplayFilter.props(
testActor, mode = RepairByDiscardOld, windowSize = 2, maxOldWriters = 10, debugEnabled = true))
filter ! n1
filter ! n2
filter ! m3
filter ! successMsg
expectMsg(n1)
expectMsg(n2)
expectMsg(m3)
expectMsg(successMsg)
watch(filter)
expectTerminated(filter)
}
"pass on all replayed messages when switching writer" in {
val filter = system.actorOf(ReplayFilter.props(
testActor, mode = RepairByDiscardOld, windowSize = 100, maxOldWriters = 10, debugEnabled = false))