public void Retrieving_all_events_should_return_the_same_as_added() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new SourcedEvent[] { new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo", 35), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter) }; var eventSource = MockRepository.GenerateMock<IEventSource>(); eventSource.Stub(e => e.EventSourceId).Return(id); eventSource.Stub(e => e.InitialVersion).Return(0); eventSource.Stub(e => e.Version).Return(events.Length); eventSource.Stub(e => e.GetUncommittedEvents()).Return(events); targetStore.Save(eventSource); var result = targetStore.GetAllEvents(id); result.Count().Should().Be(events.Length); result.First().EventIdentifier.Should().Be(events.First().EventIdentifier); Assert.IsTrue(result.SequenceEqual(events)); }
public void Saving_event_source_should_succeed() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new SourcedEvent[] { new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo", 35), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter) }; var eventSource = MockRepository.GenerateMock<IEventSource>(); eventSource.Stub(e => e.EventSourceId).Return(id); eventSource.Stub(e => e.InitialVersion).Return(0); eventSource.Stub(e => e.Version).Return(events.Length); eventSource.Stub(e => e.GetUncommittedEvents()).Return(events); targetStore.Save(eventSource); }
public void Saving_event_source_while_there_is_a_newer_event_source_should_throw_concurency_exception() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new SourcedEvent[] { new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo", 35), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter) }; var eventSource = MockRepository.GenerateMock <IEventSource>(); eventSource.Stub(e => e.EventSourceId).Return(id).Repeat.Any(); eventSource.Stub(e => e.InitialVersion).Return(0).Repeat.Any(); eventSource.Stub(e => e.Version).Return(events.Length).Repeat.Any(); eventSource.Stub(e => e.GetUncommittedEvents()).Return(events).Repeat.Any(); targetStore.Save(eventSource); Action act = () => targetStore.Save(eventSource); act.ShouldThrow <ConcurrencyException>(); }
public void Retrieving_all_events_should_return_the_same_as_added() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new SourcedEvent[] { new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo", 35), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter) }; var eventSource = MockRepository.GenerateMock <IEventSource>(); eventSource.Stub(e => e.EventSourceId).Return(id); eventSource.Stub(e => e.InitialVersion).Return(0); eventSource.Stub(e => e.Version).Return(events.Length); eventSource.Stub(e => e.GetUncommittedEvents()).Return(events); targetStore.Save(eventSource); var result = targetStore.GetAllEvents(id); result.Count().Should().Be(events.Length); result.First().EventIdentifier.Should().Be(events.First().EventIdentifier); Assert.IsTrue(result.SequenceEqual(events)); }
public void Event_saving_smoke_test() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new UncommittedEventStream(Guid.NewGuid()); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerCreatedEvent("Foo", 35), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); targetStore.Store(events); }
public void Saving_event_source_should_succeed() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new SourcedEvent[] { new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo", 35), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter) }; var eventSource = MockRepository.GenerateMock <IEventSource>(); eventSource.Stub(e => e.EventSourceId).Return(id); eventSource.Stub(e => e.InitialVersion).Return(0); eventSource.Stub(e => e.Version).Return(events.Length); eventSource.Stub(e => e.GetUncommittedEvents()).Return(events); targetStore.Save(eventSource); }
public void Event_saving_smoke_test() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new UncommittedEventStream(Guid.NewGuid()); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerCreatedEvent("Foo", 35), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); targetStore.Store(events); }
public void Saving_event_source_while_there_is_a_newer_event_source_should_throw_concurency_exception() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new UncommittedEventStream(Guid.NewGuid()); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerCreatedEvent("Foo", 35), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); targetStore.Store(events); Action act = () => targetStore.Store(events); act.ShouldThrow <ConcurrencyException>(); }
public void Retrieving_all_events_should_return_the_same_as_added() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new UncommittedEventStream(Guid.NewGuid()); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerCreatedEvent("Foo", 35), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); targetStore.Store(events); var result = targetStore.ReadFrom(id, long.MinValue, long.MaxValue); result.Count().Should().Be(events.Count()); result.First().EventIdentifier.Should().Be(events.First().EventIdentifier); var streamList = events.ToList(); var resultList = result.ToList(); for (int i = 0; i < resultList.Count; i++) { Assert.IsTrue(AreEqual(streamList[i], resultList[i])); } }
public void Retrieving_all_events_should_return_the_same_as_added() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new UncommittedEventStream(Guid.NewGuid()); events.Append(new UncommittedEvent(Guid.NewGuid(), id, typeof(object), sequenceCounter++, 0, DateTime.UtcNow, new CustomerCreatedEvent("Foo", 35), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, typeof(object), sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, typeof(object), sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, typeof(object), sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); targetStore.Store(events); var result = targetStore.ReadFrom(id, long.MinValue, long.MaxValue); result.Count().Should().Be(events.Count()); result.First().EventIdentifier.Should().Be(events.First().EventIdentifier); var streamList = events.ToList(); var resultList = result.ToList(); for (int i = 0; i < resultList.Count; i++) { Assert.IsTrue(AreEqual(streamList[i], resultList[i])); } }
public void Saving_event_source_while_there_is_a_newer_event_source_should_throw_concurency_exception() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new SourcedEvent[] { new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo", 35), new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Name" + sequenceCounter) }; var eventSource = MockRepository.GenerateMock<IEventSource>(); eventSource.Stub(e => e.EventSourceId).Return(id).Repeat.Any(); eventSource.Stub(e => e.InitialVersion).Return(0).Repeat.Any(); eventSource.Stub(e => e.Version).Return(events.Length).Repeat.Any(); eventSource.Stub(e => e.GetUncommittedEvents()).Return(events).Repeat.Any(); targetStore.Save(eventSource); Action act = () => targetStore.Save(eventSource); act.ShouldThrow<ConcurrencyException>(); }
public void Saving_event_source_while_there_is_a_newer_event_source_should_throw_concurency_exception() { var targetStore = new RavenDBEventStore(_documentStore); var id = Guid.NewGuid(); int sequenceCounter = 0; var events = new UncommittedEventStream(Guid.NewGuid()); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerCreatedEvent("Foo", 35), new Version(1, 0))); events.Append(new UncommittedEvent(Guid.NewGuid(), id, sequenceCounter++, 0, DateTime.UtcNow, new CustomerNameChanged( "Name" + sequenceCounter), new Version(1, 0))); targetStore.Store(events); Action act = () => targetStore.Store(events); act.ShouldThrow<ConcurrencyException>(); }