public void EventStoreProjection(Mock <ICheckPointRepository> checkpoint, Subject <IEvent> source, FakeDocumentWriter writer, TestEvent @event) { var settings = EventStore.ClientAPI.ConnectionSettings.Create(); settings.SetDefaultUserCredentials(new EventStore.ClientAPI.SystemData.UserCredentials("admin", "changeit")); var connection = EventStore.ClientAPI.EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Loopback, 1113)); connection.Connect(); new Projection <ListOfProjectedState>(connection, checkpoint.Object, writer) .FromAll() .InitialiseState(() => new ListOfProjectedState()) .When <TestEvent>((e, s) => s.AddState( new TestProjectionState(e.SomeState)), e => e.Id); connection.AppendToStream("test", ExpectedVersion.Any, JsonEventData.Create(Guid.NewGuid(), @event)); while (true) { Thread.Sleep(500); } }
public void WithoutBuilder( Subject <IEvent> source, FakeDocumentWriter writer, TestEvent @event) { writer.DB.Clear(); new DocumentWriterProjection <ListOfProjectedState>( source, writer, () => new ListOfProjectedState()) .When <TestEvent>((e, s) => s.AddState( new TestProjectionState(e.SomeState)), e => e.Id); source.OnNext(@event); writer.DB.Select(x => x.Value).ShouldContain <ListOfProjectedState>(); }
public void ShouldNotExecuteWhenForEventsNotInterestedIn( Subject<IEvent> source, FakeDocumentWriter writer, NotInterestedInThis @event) { writer.DB.Clear(); new DocumentWriterProjection<ListOfProjectedState>( source, writer, () => new ListOfProjectedState()) .When<TestEvent>((e, s) => s.AddState( new TestProjectionState(e.SomeState)), e => e.Id); source.OnNext(@event); writer.DB.Select(x => x.Value).ShouldBeEmpty(); }
public void ShouldNotExecuteWhenForEventsNotInterestedIn( Subject <IEvent> source, FakeDocumentWriter writer, NotInterestedInThis @event) { writer.DB.Clear(); new DocumentWriterProjection <ListOfProjectedState>( source, writer, () => new ListOfProjectedState()) .When <TestEvent>((e, s) => s.AddState( new TestProjectionState(e.SomeState)), e => e.Id); source.OnNext(@event); writer.DB.Select(x => x.Value).ShouldBeEmpty(); }
public void EventStoreProjection(Mock<ICheckPointRepository> checkpoint, Subject<IEvent> source, FakeDocumentWriter writer, TestEvent @event) { var settings = EventStore.ClientAPI.ConnectionSettings.Create(); settings.SetDefaultUserCredentials(new EventStore.ClientAPI.SystemData.UserCredentials("admin", "changeit")); var connection = EventStore.ClientAPI.EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Loopback, 1113)); connection.Connect(); new Projection<ListOfProjectedState>(connection,checkpoint.Object, writer) .FromAll() .InitialiseState(() => new ListOfProjectedState()) .When<TestEvent>((e, s) => s.AddState( new TestProjectionState(e.SomeState)), e => e.Id); connection.AppendToStream("test", ExpectedVersion.Any, JsonEventData.Create(Guid.NewGuid(), @event)); while (true) { Thread.Sleep(500); } }
public void WithoutBuilder( Subject<IEvent> source, FakeDocumentWriter writer, TestEvent @event) { writer.DB.Clear(); new DocumentWriterProjection<ListOfProjectedState>( source, writer, () => new ListOfProjectedState()) .When<TestEvent>((e, s) => s.AddState( new TestProjectionState(e.SomeState)), e => e.Id); source.OnNext(@event); writer.DB.Select(x => x.Value).ShouldContain<ListOfProjectedState>(); }