public GetEventStoreAggregateRepositoryTests() { _id = "aggregate-" + Guid.NewGuid().ToString("n"); var source = new TaskCompletionSource<bool>(); _eventStoreInitialized = source.Task; var notListening = new IPEndPoint(IPAddress.None, 0); _node = EmbeddedVNodeBuilder .AsSingleNode() .WithExternalTcpOn(notListening) .WithInternalTcpOn(notListening) .WithExternalHttpOn(notListening) .WithInternalHttpOn(notListening) .RunProjections(ProjectionsMode.All); _node.NodeStatusChanged += (_, e) => { if (e.NewVNodeState != VNodeState.Master) { return; } source.SetResult(true); }; _connection = EmbeddedEventStoreConnection.Create(_node); _sut = new GetEventStoreAggregateRepository(_connection, new DefaultGetEventStoreJsonSerializer()); _node.Start(); }
public ResolvedEventtDispatcherTests() { var source = new TaskCompletionSource<bool>(); _nodeStarted = source.Task; var notListening = new IPEndPoint(IPAddress.None, 0); _node = EmbeddedVNodeBuilder.AsSingleNode() .WithInternalTcpOn(notListening) .WithExternalTcpOn(notListening) .WithInternalHttpOn(notListening) .WithExternalHttpOn(notListening); _node.NodeStatusChanged += (_, e) => { if(e.NewVNodeState != VNodeState.Master) return; source.SetResult(true); }; _node.Start(); _connection = EmbeddedEventStoreConnection.Create(_node); }
public EmbeddedEventStoreConnectionFactory() { var noIp = new IPEndPoint(IPAddress.None, 0); _vnode = EmbeddedVNodeBuilder.AsSingleNode() .RunInMemory() .WithExternalTcpOn(noIp) .WithInternalTcpOn(noIp) .WithExternalHttpOn(noIp) .WithInternalHttpOn(noIp) .Build(); _status = Observable.FromEventPattern<VNodeStatusChangeArgs>( h => _vnode.NodeStatusChanged += h, h => _vnode.NodeStatusChanged -= h) .Select(e => e.EventArgs.NewVNodeState) .Log(new ConsoleLogger(), "VNode.State") .Publish(VNodeState.Unknown); _statusSubscription.Disposable = _status.Connect(); _vnode.Start(); _conn = EmbeddedEventStoreConnection.Create(_vnode); }
public ProcessManagerHandlerTests() { TestLogger.Configure(); var source = new TaskCompletionSource<bool>(); _nodeStarted = source.Task; var notListening = new IPEndPoint(IPAddress.None, 0); _node = EmbeddedVNodeBuilder.AsSingleNode() .WithInternalTcpOn(notListening) .WithExternalTcpOn(notListening) .WithInternalHttpOn(notListening) .WithExternalHttpOn(notListening); _node.NodeStatusChanged += (_, e) => { if(e.NewVNodeState != VNodeState.Master) { return; } source.SetResult(true); }; _node.Start(); _connection = EmbeddedEventStoreConnection.Create(_node); _commands = new List<object>(); _serializer = new DefaultGetEventStoreJsonSerializer(); var commandHandlerModule = new CommandHandlerModule(); commandHandlerModule.For<ShipOrder>() .Handle((message, _) => { _commands.Add(message.Command); return Task.FromResult(0); }); commandHandlerModule.For<BillCustomer>() .Handle((message, _) => { _commands.Add(message.Command); return Task.FromResult(0); }); var resolver = new CommandHandlerResolver(commandHandlerModule); var commandHandlingMiddleware = CommandHandlingMiddleware.HandleCommands(new CommandHandlingSettings(resolver)); var embeddedClient = commandHandlingMiddleware.CreateEmbeddedClient(); var processHandler = ProcessHandler.For<OrderFulfillment, CompareablePosition>( (command, token) => embeddedClient.PutCommand(command, Guid.NewGuid()), new EventStoreClientProcessManagerCheckpointRepository(_connection, _serializer)) .CorrelateBy<OrderPlaced>(e => e.DomainEvent.OrderId.ToString()) .CorrelateBy<OrderShipped>(e => e.DomainEvent.OrderId.ToString()) .CorrelateBy<BillingSucceeded>(e => e.DomainEvent.OrderId.ToString()) .CorrelateBy<BillingFailed>(e => e.DomainEvent.OrderId.ToString()); _dispatcher = new ResolvedEventDispatcher(_connection, new DefaultGetEventStoreJsonSerializer(), new InMemoryCheckpointRepository(), processHandler.BuildHandlerResolver(), () => { }); _orderId = Guid.NewGuid(); _streamId = ("orders-" + _orderId.ToString("n")).FormatStreamIdWithBucket(); _correlationId = _orderId.ToString(); }