Ejemplo n.º 1
0
        public void Saving_snapshot_should_not_throw_an_exception_when_snapshot_is_valid()
        {
            var targetStore = new RavenDBSnapshotStore(_documentStore);

            var anId = Guid.NewGuid();
            var aVersion = 12;
            var snapshot = new MySnapshot { EventSourceId = anId, EventSourceVersion = aVersion };

            targetStore.SaveShapshot(snapshot);

            var savedSnapshot = targetStore.GetSnapshot(anId);
            savedSnapshot.EventSourceId.Should().Be(anId);
            savedSnapshot.EventSourceVersion.Should().Be(aVersion);
        }
Ejemplo n.º 2
0
        public void CanCreateInstanceWithParameters()
        {
            var aggregateType = typeof(MyDynamicEventSourcedAggregateRoot).FullName;
            var aggregateId   = Guid.NewGuid();
            var snapshot      = new MySnapshot(22).WithVersion(2);

            var testee = new SnapshotDescriptor(aggregateType, aggregateId, snapshot);

            testee.AggregateType.Should().Be(aggregateType);
            testee.AggregateId.Should().Be(aggregateId);
            testee.Version.Should().Be(2);
            testee.Timestamp.Should().BeCloseTo(DateTime.Now, 1000);
            testee.SnapshotType.Should().Be("SimpleDomain.TestDoubles.MySnapshot");
            testee.Snapshot.Should().BeSameAs(snapshot);
        }
Ejemplo n.º 3
0
        public async Task CanSaveSnapshots()
        {
            bool hasSnapshot;

            hasSnapshot = await this.testee.HasSnapshotAsync().ConfigureAwait(false);

            hasSnapshot.Should().BeFalse();

            var snapshot = new MySnapshot(11).WithVersion(0);

            await this.testee.SaveSnapshotAsync(snapshot).ConfigureAwait(false);

            hasSnapshot = await this.testee.HasSnapshotAsync().ConfigureAwait(false);

            hasSnapshot.Should().BeTrue();
        }
        public async Task CanGetAggregateRootById_ByReplayingAllEventsFromSnapshot()
        {
            var snapshot            = new MySnapshot(22).WithVersion(2);
            var eventsSinceSnapshot = EventHistory.Create(new ValueEvent(33), new ValueEvent(44));

            A.CallTo(() => this.eventStream.HasSnapshotAsync()).Returns(true);
            A.CallTo(() => this.eventStream.GetLatestSnapshotAsync()).Returns(snapshot);
            A.CallTo(() => this.eventStream.ReplayAsyncFromSnapshot(snapshot)).Returns(eventsSinceSnapshot);

            var aggregateRoot = await this.testee
                                .GetByIdAsync <MyDynamicEventSourcedAggregateRoot>(this.aggregateId)
                                .ConfigureAwait(false);

            aggregateRoot.Version.Should().Be(4);
            aggregateRoot.Value.Should().Be(44);
        }
Ejemplo n.º 5
0
        public void Saving_snapshot_should_not_throw_an_exception_when_snapshot_is_valid()
        {
            var targetStore = new MsSqlServerEventStore(connectionString);

            var anId     = Guid.NewGuid();
            var aVersion = 12;
            var snapshot = new MySnapshot {
                EventSourceId = anId, EventSourceVersion = aVersion
            };

            targetStore.SaveShapshot(snapshot);

            var savedSnapshot = targetStore.GetSnapshot(anId);

            savedSnapshot.EventSourceId.Should().Be(anId);
            savedSnapshot.EventSourceVersion.Should().Be(aVersion);
        }
Ejemplo n.º 6
0
        public async Task CanGetLatestSnapshot()
        {
            var firstSnapshot  = new MySnapshot(11).WithVersion(0);
            var secondSnapshot = new MySnapshot(22).WithVersion(1);

            await this.testee.SaveSnapshotAsync(firstSnapshot).ConfigureAwait(false);

            await this.testee.SaveSnapshotAsync(secondSnapshot).ConfigureAwait(false);

            var latestSnapshot = await this.testee.GetLatestSnapshotAsync().ConfigureAwait(false);

            latestSnapshot.Should().BeAssignableTo <MySnapshot>();

            var myLatestSnapshot = latestSnapshot as MySnapshot;

            if (myLatestSnapshot != null)
            {
                myLatestSnapshot.Value.Should().Be(22);
                myLatestSnapshot.Version.Should().Be(1);
            }
        }
Ejemplo n.º 7
0
        public void CanFluentlySetVersion()
        {
            var snapshot = new MySnapshot(13).WithVersion(33);

            snapshot.Version.Should().Be(33);
        }
        public void Saving_snapshot_should_not_throw_an_exception_when_snapshot_is_valid()
        {
            var targetStore = new SimpleMicrosoftSqlServerEventStore(DEFAULT_CONNECTION);

            var anId = Guid.NewGuid();
            var aVersion = 12;
            var snapshot = new MySnapshot{EventSourceId=anId, EventSourceVersion=aVersion};

            targetStore.SaveShapshot(snapshot);

            var savedSnapshot = targetStore.GetSnapshot(anId);
            savedSnapshot.EventSourceId.Should().Be(anId);
            savedSnapshot.EventSourceVersion.Should().Be(aVersion);
        }