Integration Tests with EventStore


I’m trying to integrate EventStore with the Brighter OSS project.
As such I’m creating integration tests between the two.
I thought this would be best achieved by creating an Embedded instance (via EmbeddedVNodeBuilder).
However the projections the application relies upon can’t seem to be run in (when I use the ProjectionsManager to run the required projectiosn in I see errors).
I’ve tried running Embedded with IPEndPoint(IPAddress.None, 0) (preferable) but the Exception is (Exit reason: The requested address is not valid in its context)
I’ve tried switching to a fixed loopback address IPEndPoint(IPAddress.Loopback, 1112) (preferable) but the Exception is (EventStore.ClientAPI.Exceptions.ProjectionCommandFailedExceptionServer returned 408 (Server was unable to handle request in time) for POST on

So. I’m sure I’m missing something but it’s far from clear. I’ve checked posts here (I’ve seen Greg allude to the need to set Paths and wire up Controllers but that sounds a little like peering into the guts… ).
I’ve peeked at some tests in the EventSource code and they allude to configuring / using miniweb.

And so for the question:

  • Should I be using an Embedded instance (via EmbeddedVNodeBuilder) in IntegrationTests ?
    - If so how can I configure projections?
  • Otherwise how should I run IntegrationTests againt Event Store?

I’m rather starting out with EventStore, have consumed the Blogs posts and Doco I can find, so sorry if I’m making a beginners faux pas.


Additional info, here’s code I’m using to setup ES:

var noneIp = new
IPEndPoint(IPAddress.None, 0);

s_eventStoreNode =



// tried this first




IPEndPoint(IPAddress.Loopback, 1112))

IPEndPoint(IPAddress.Loopback, 1113))

IPEndPoint(IPAddress.Loopback, 2112))

IPEndPoint(IPAddress.Loopback, 2114))




s_eventStore =


//once connected

var pm = new
ProjectionsManager(new ConsoleLogger(), new IPEndPoint(IPAddress.Loopback,
2114), new TimeSpan(0, 0, 30));



We run our integrationtests on the default closternode (v3.1.0). I haven’t yet experienced any async-related brittlenes in the tests yet. We use the --inmem-db option on the node, and use the ProjectionManager in C# API. Works so far (1½ week), but it would be cool to have som instrumentation events (maybe they already exist?) in case you have large integrations (and have to process a lot of events in the projections).