akkadotnet / Akka.Persistence.Redis

Redis storage for Akka.NET Persistence

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fix ReadJournal_query_CurrentPersistenceIds_should_not_see_new_events_after_complete spec

alexvaluyskiy opened this issue · comments

Akka.Persistence.TCK should rewrite the spec to

dJournal_query_CurrentPersistenceIds_should_not_see_new_events_after_opening.cs
[Fact]
public virtual void ReadJournal_query_CurrentPersistenceIds_should_not_see_new_events_after_opening()
{
    var queries = Sys.ReadJournalFor<RocksDbReadJournal>(RocksDbReadJournal.Identifier);

    var expectedList = new List<string> { "a", "b", "c" };
    var actualList = new List<string>();

    Setup("a", 1);
    Setup("b", 1);
    Setup("c", 1);

    var greenSrc = queries.CurrentPersistenceIds();
    var probe = greenSrc.RunWith(this.SinkProbe<string>(), _materializer);
    probe.Request(2);
    actualList.AddRange(probe.ExpectNextN(2));
    probe.ExpectNoMsg(TimeSpan.FromMilliseconds(100));

    Setup("d", 1);

    probe.ExpectNoMsg(TimeSpan.FromMilliseconds(100));
    probe.Request(5);
    actualList.AddRange(probe.ExpectNextN(1));
    probe.ExpectComplete();

    // events could be unordered
    Assert.True(!actualList.Except(expectedList).Any()); // should not have "d"
}