Пример #1
0
        public void when_reading_entity_then_rehydrates()
        {
            var newEvents = new IVersionedEvent[] {
                new TestEvent {
                    SourceId = id, Version = 2, Foo = "Baz"
                }
            };
            var serialized = newEvents.Select(x => new EventData {
                Version = x.Version, Payload = Serialize(x)
            });

            id = Guid.NewGuid();
            var eventStore = new Mock <IEventStore>();

            memento = Mock.Of <IMemento>(x => x.Version == 1);
            var cache = new MemoryCache(Guid.NewGuid().ToString());

            cache.Add("TestOriginatorEntity_" + id, new Tuple <IMemento, DateTime?>(memento, null), DateTimeOffset.UtcNow.AddMinutes(10));

            eventStore.Setup(x => x.Load(It.IsAny <string>(), 2)).Returns(serialized);
            var sut = new AzureEventSourcedRepository <TestOriginatorEntity>(eventStore.Object, Mock.Of <IEventStoreBusPublisher>(), new JsonTextSerializer(), new StandardMetadataProvider(), cache);

            var entity = sut.Find(id);

            Assert.NotNull(entity);
            Assert.Equal(id, entity.Id);
            Assert.Equal(memento, entity.Memento);
            Assert.Equal(newEvents, entity.History, new TestEventComparer());
        }
Пример #2
0
        public void when_reading_entity_then_rehydrates()
        {
            var events = new IVersionedEvent[] {
                new TestEvent {
                    SourceId = id, Version = 1, Foo = "Bar"
                },
                new TestEvent {
                    SourceId = id, Version = 2, Foo = "Baz"
                }
            };
            var serialized = events.Select(x => new EventData {
                Version = x.Version, Payload = Serialize(x)
            });

            id = Guid.NewGuid();
            var eventStore = new Mock <IEventStore>();

            eventStore.Setup(x => x.Load(It.IsAny <string>(), It.IsAny <int>())).Returns(serialized);
            var sut = new AzureEventSourcedRepository <TestEntity>(eventStore.Object, Mock.Of <IEventStoreBusPublisher>(), new JsonTextSerializer(), new StandardMetadataProvider(), null);

            var entity = sut.Find(id);

            Assert.NotNull(entity);
            Assert.Equal(id, entity.Id);
            Assert.Equal(events, entity.History, new TestEventComparer());
        }
Пример #3
0
        public when_saving_memento_originator_entity()
        {
            eventStore = new Mock <IEventStore>();
            publisher  = new Mock <IEventStoreBusPublisher>();
            cache      = new MemoryCache(Guid.NewGuid().ToString());
            var sut = new AzureEventSourcedRepository <TestOriginatorEntity>(eventStore.Object, publisher.Object, new JsonTextSerializer(), new StandardMetadataProvider(), cache);

            id      = Guid.NewGuid();
            memento = Mock.Of <IMemento>();
            var entity = new TestOriginatorEntity {
                Id     = id,
                Events =
                {
                    new TestEvent {
                        SourceId = id, Version = 1, Foo = "Bar"
                    },
                    new TestEvent {
                        SourceId = id, Version = 2, Foo = "Baz"
                    }
                },
                Memento = memento
            };

            sut.Save(entity, "correlation");
        }
        public when_saving_entity()
        {
            this.eventStore = new Mock<IEventStore>();
            this.publisher = new Mock<IEventStoreBusPublisher>();
            var sut = new AzureEventSourcedRepository<TestEntity>(eventStore.Object, publisher.Object, new JsonTextSerializer(), new StandardMetadataProvider(), null);
            this.id = Guid.NewGuid();
            var entity = new TestEntity
            {
                Id = id,
                Events =
                    {
                        new TestEvent { SourceId = id, Version = 1, Foo = "Bar" },
                        new TestEvent { SourceId = id, Version = 2, Foo = "Baz" }
                    }
            };

            sut.Save(entity, "correlation");
        }
Пример #5
0
        public when_saving_entity()
        {
            eventStore = new Mock <IEventStore>();
            publisher  = new Mock <IEventStoreBusPublisher>();
            var sut = new AzureEventSourcedRepository <TestEntity>(eventStore.Object, publisher.Object, new JsonTextSerializer(), new StandardMetadataProvider(), null);

            id = Guid.NewGuid();
            var entity = new TestEntity {
                Id     = id,
                Events =
                {
                    new TestEvent {
                        SourceId = id, Version = 1, Foo = "Bar"
                    },
                    new TestEvent {
                        SourceId = id, Version = 2, Foo = "Baz"
                    }
                }
            };

            sut.Save(entity, "correlation");
        }
        public when_saving_memento_originator_entity()
        {
            this.eventStore = new Mock<IEventStore>();
            this.publisher = new Mock<IEventStoreBusPublisher>();
            this.cache = new MemoryCache(Guid.NewGuid().ToString());
            var sut = new AzureEventSourcedRepository<TestOriginatorEntity>(eventStore.Object, publisher.Object, new JsonTextSerializer(), new StandardMetadataProvider(), this.cache);
            this.id = Guid.NewGuid();
            this.memento = Mock.Of<IMemento>();
            var entity = new TestOriginatorEntity
            {
                Id = id,
                Events =
                    {
                        new TestEvent { SourceId = id, Version = 1, Foo = "Bar" },
                        new TestEvent { SourceId = id, Version = 2, Foo = "Baz" }
                    },
                Memento = memento,
            };

            sut.Save(entity, "correlation");
        }
 public when_reading_inexistant_entity()
 {
     this.eventStore = new Mock<IEventStore>();
     this.sut = new AzureEventSourcedRepository<TestEntity>(eventStore.Object, Mock.Of<IEventStoreBusPublisher>(), new JsonTextSerializer(), new StandardMetadataProvider(), null);
     this.id = Guid.NewGuid();
 }
        public void when_reading_entity_then_rehydrates()
        {
            var newEvents = new IVersionedEvent[]
                             {
                                 new TestEvent { SourceId = id, Version = 2, Foo = "Baz" }                              
                             };
            var serialized = newEvents.Select(x => new EventData { Version = x.Version, Payload = Serialize(x) });
            this.id = Guid.NewGuid();
            var eventStore = new Mock<IEventStore>();
            this.memento = Mock.Of<IMemento>(x => x.Version == 1);
            var cache = new MemoryCache(Guid.NewGuid().ToString());
            cache.Add("TestOriginatorEntity_" + id.ToString(), new Tuple<IMemento, DateTime?>(this.memento, null), DateTimeOffset.UtcNow.AddMinutes(10));

            eventStore.Setup(x => x.Load(It.IsAny<string>(), 2)).Returns(serialized);
            var sut = new AzureEventSourcedRepository<TestOriginatorEntity>(eventStore.Object, Mock.Of<IEventStoreBusPublisher>(), new JsonTextSerializer(), new StandardMetadataProvider(), cache);

            var entity = sut.Find(id);

            Assert.NotNull(entity);
            Assert.Equal(id, entity.Id);
            Assert.Equal(memento, entity.Memento);
            Assert.Equal(newEvents, entity.History, new TestEventComparer());
        }
        public void when_reading_entity_then_rehydrates()
        {
            var events = new IVersionedEvent[]
                             {
                                 new TestEvent { SourceId = id, Version = 1, Foo = "Bar" },
                                 new TestEvent { SourceId = id, Version = 2, Foo = "Baz" }                              
                             };
            var serialized = events.Select(x => new EventData { Version = x.Version, Payload = Serialize(x) });
            this.id = Guid.NewGuid();
            var eventStore = new Mock<IEventStore>();
            eventStore.Setup(x => x.Load(It.IsAny<string>(), It.IsAny<int>())).Returns(serialized);
            var sut = new AzureEventSourcedRepository<TestEntity>(eventStore.Object, Mock.Of<IEventStoreBusPublisher>(), new JsonTextSerializer(), new StandardMetadataProvider(), null);

            var entity = sut.Find(id);

            Assert.NotNull(entity);
            Assert.Equal(id, entity.Id);
            Assert.Equal(events, entity.History, new TestEventComparer());
        }
Пример #10
0
 public when_reading_inexistant_entity()
 {
     eventStore = new Mock <IEventStore>();
     sut        = new AzureEventSourcedRepository <TestEntity>(eventStore.Object, Mock.Of <IEventStoreBusPublisher>(), new JsonTextSerializer(), new StandardMetadataProvider(), null);
     id         = Guid.NewGuid();
 }