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()); }
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()); }
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"); }
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()); }
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(); }