In memory/embedded eventstore for testing

Hello, I am just wondering if it is possible to create an in memory embedded version of the event store instance in .NET for testing purposes? I trying to write some unit tests that executes on a build server which does not have the eventstore installed.

Either look at mini node in ES source or process.start with --in-memory

Sorry for terse reply, on phone!

Hi Jin!

Have a look at MiniNode.cs in the EventStore Github project:

https://github.com/EventStore/EventStore/blob/dev/src/EventStore/EventStore.Core.Tests/Helpers/MiniNode.cs

Regards,

Sebastian

I took a quick look at it and tried to import it into my own project. It seems like there are a lot of dependencies required to get this to work and there are some mismatch in method signatures. I suspect it is probably because I am running version 2.0.1 of the event store?

I tried doing this on version 2.0.1 of the event store and I am not quite sure if it is working. Does that version support this feature?

Hi Jin!

Yes this code is from version 3.x. Not sure if any official post-2.01 binaries exist, any news on that James?

As suggested you could start a new Event Store process holding data only in memory for your tests, or you could use the 2.01 version of MiniNode:

https://github.com/EventStore/EventStore/blob/ES-NET-v2.0.1/src/EventStore/EventStore.Core.Tests/Helpers/MiniNode.cs

Cheers,

Sebastian

I just found out that in memory db functionality was added after 2.01 :frowning:

https://github.com/EventStore/EventStore/commit/a3dc5df57204ffa1416488ed11351436c6904573

That’s okay. It is not that urgent for me to have this. I could probably wait for version 3.x to be released. Thanks guys!

I’m pretty sure --mem-db existed before 2.01. I know I played with it way before that.