コード例 #1
0
        public virtual async Task RetrieveVersionConstrainedSnapshot()
        {
            var eventStore = new Mock <IEventStore>();

            var nextEventId = 0L;

            eventStore.Setup(es => es.WriteEvents(It.IsAny <IList <DomainEvent> >()))
            .ReturnsAsync(() => nextEventId++);

            var item = new ConfigEnvironment(new EnvironmentIdentifier("Foo", "Bar"));

            item.Create();
            await item.WriteRecordedEvents(eventStore.Object);

            var firstSnapshot = item.CreateSnapshot();

            item.UpdateKeys(new[] { new ConfigEnvironmentKey("Foo", "1", "", "", 1) });
            await item.WriteRecordedEvents(eventStore.Object);

            var secondSnapshot = item.CreateSnapshot();

            item.UpdateKeys(new[] { new ConfigEnvironmentKey("Foo", "2", "", "", 2) });
            await item.WriteRecordedEvents(eventStore.Object);

            var thirdSnapshot = item.CreateSnapshot();

            await Store.SaveSnapshots(new[] { firstSnapshot, secondSnapshot, thirdSnapshot });

            var result = await Store.GetSnapshot(nameof(ConfigEnvironment), item.Identifier.ToString(), 1);

            Assert.False(result.IsError, "result.IsError");
            Assert.Equal(secondSnapshot, result.Data);
        }
コード例 #2
0
        public void CreateAssignsValues()
        {
            var item = new ConfigEnvironment(new EnvironmentIdentifier("Foo", "Bar"));

            item.Create();

            Assert.True(item.Created);
            Assert.Empty(item.Keys);
        }
コード例 #3
0
        public void CreateDefault()
        {
            var item = new ConfigEnvironment(new EnvironmentIdentifier("Foo", "Bar"));

            item.Create(true);

            Assert.True(item.Created);
            Assert.False(item.Deleted);
            Assert.True(item.IsDefault);
            Assert.Empty(item.Keys);
            Assert.Empty(item.KeyPaths);
        }
コード例 #4
0
        public virtual async Task StoreDomainObjectSnapshot()
        {
            var item = new ConfigEnvironment(new EnvironmentIdentifier("Foo", "Bar"));

            item.Create();
            item.ImportKeys(new List <ConfigEnvironmentKey> {
                new ConfigEnvironmentKey("Jar", "Jar", "", "", 4711)
            });

            var snapshot = item.CreateSnapshot();

            var result = await Store.SaveSnapshots(new[] { snapshot });

            Assert.False(result.IsError, "result.IsError");
        }
コード例 #5
0
        public virtual async Task RetrieveDomainObjectSnapshot()
        {
            var item = new ConfigEnvironment(new EnvironmentIdentifier("Foo", "Bar"));

            item.Create();
            item.ImportKeys(new List <ConfigEnvironmentKey> {
                new ConfigEnvironmentKey("Jar", "Jar", "", "", 4711)
            });

            var snapshot = item.CreateSnapshot();

            await Store.SaveSnapshots(new[] { snapshot });

            var result = await Store.GetSnapshot <ConfigEnvironment>(new EnvironmentIdentifier("Foo", "Bar").ToString());

            Assert.False(result.IsError, "result.IsError");
            Assert.NotNull(result.Data);
            Assert.Equal(snapshot, result.Data);
        }
コード例 #6
0
        public virtual async Task GetLatestSnapshotNumbers()
        {
            var esMock = new Mock <IEventStore>(MockBehavior.Strict);

            esMock.Setup(es => es.WriteEvents(It.IsAny <IList <DomainEvent> >()))
            .ReturnsAsync(1)
            .Verifiable("Events not written to EventStore");

            var item = new ConfigEnvironment(new EnvironmentIdentifier("Foo", "Bar"));

            item.Create();
            await item.WriteRecordedEvents(esMock.Object);

            var snapshot = item.CreateSnapshot();

            await Store.SaveSnapshots(new[] { snapshot });

            var result = await Store.GetLatestSnapshotNumbers();

            Assert.False(result.IsError, "result.IsError");
            Assert.Equal(1, result.Data);
        }