Пример #1
0
        public void TestThatJournalReaderReadsOneEvent()
        {
            var interest = new MockAppendResultInterest <Test1Source, SnapshotState>();

            _dispatcher.AfterCompleting(1);
            interest.AfterCompleting(1);

            var source        = new Test1Source();
            var streamName    = "123";
            var streamVersion = 1;

            _journal.Append(streamName, streamVersion, source, interest, _object);

            var accessResults = new TestResults().AfterCompleting(1);

            _journal.JournalReader("test")
            .AndThenTo(reader => reader.ReadNext()
                       .AndThenConsume(@event => {
                accessResults.WriteUsing("addAll", new List <IEntry> {
                    @event
                });
            }));

            Assert.NotNull(accessResults.ReadFrom <int, IEntry>("entry", 0));
            Assert.Equal("1", accessResults.ReadFrom <int, string>("entryId", 0));
        }
Пример #2
0
        public void TestThatJournalAppendsOneEvent()
        {
            var interest = new MockAppendResultInterest <Test1Source, SnapshotState>();

            _dispatcher.AfterCompleting(1);
            interest.AfterCompleting(1);

            var source        = new Test1Source();
            var streamName    = "123";
            var streamVersion = 1;

            _journal.Append(streamName, streamVersion, source, interest, _object);

            Assert.Equal(1, interest.ReceivedAppendsSize);

            var entries     = interest.Entries;
            var journalData = entries.First();

            Assert.NotNull(journalData);
            Assert.Equal(streamName, journalData.StreamName);
            Assert.Equal(streamVersion, journalData.StreamVersion);
            Assert.Equal(Result.Success, journalData.Result);
            Assert.False(journalData.Snapshot.IsPresent);

            var sourceList = journalData.Sources;

            Assert.Single(sourceList);
            Assert.Equal(source, sourceList.First());

            Assert.Equal(1, _dispatcher.DispatchedCount());
            var dispatched = _dispatcher.GetDispatched()[0];

            Assert.NotEqual(new DateTimeOffset(), dispatched.CreatedOn);
            Assert.False(dispatched.State.IsPresent);
            Assert.NotNull(dispatched.Id);
            var dispatchedEntries = dispatched.Entries;

            Assert.Single(dispatchedEntries);
        }