Synchronous TestKit for EventSourcedBehavior, #23712 (#28952)

* using real EventSourcedBehaviorImpl
* using new inmem journal (PersistenceTestKit)
* advantages compared to a "fake" driver
  * no difference in implementation details from real thing
  * no limitations
  * less maintance
* added internal messsages to EventSourcedBehaviorImpl to be able to grab state
  and persistenceId
  * GetState as InternalProtocol instead of Signal so that it is stashed
* serialization checks, using SerializationTestKit
* better testKitGuardian naming to allow multiple PersistenceTestKit
* support testing of restart
* support failure testing by using PersistenceTestKit
* update doc sample
* apidoc, reference docs, and javadsl
This commit is contained in:
Patrik Nordwall 2020-04-29 22:06:42 +02:00 committed by GitHub
parent a910bee99f
commit ef79738373
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 1254 additions and 235 deletions

View file

@ -243,7 +243,7 @@ object Dependencies {
Provided.levelDB,
Provided.levelDBNative)
val persistenceTestKit = l ++= Seq(Test.scalatest)
val persistenceTestKit = l ++= Seq(Test.scalatest, Test.logback)
val persistenceShared = l ++= Seq(Provided.levelDB, Provided.levelDBNative)

View file

@ -407,6 +407,27 @@ project-info {
}
]
}
akka-persistence-testkit: ${project-info.shared-info} {
title: "Akka Persistence Testkit"
jpms-name: "akka.persistence.testkit"
levels: [
{
readiness: Incubating
since: "2020-04-30"
since-version: "2.6.5"
}
]
api-docs: [
{
url: ${project-info.scaladoc}"persistence/testkit/scaladsl/index.html"
text: "API (Scaladoc)"
}
{
url: ${project-info.javadoc}"?akka/persistence/testkit/javadsl/package-summary.html"
text: "API (Javadoc)"
}
]
}
akka-remote: ${project-info.shared-info} {
title: "Akka Remoting"
jpms-name: "akka.remote"