Skip to content

Feature Idea: Equinox MemoryStore Reader #64

@bartelink

Description

@bartelink

Given ChangeFeed support in Equinox.MemoryStore, there should be a oneliner way to rig StreamsProjector(s) ingesting from the MemoryStore ChangeFeed that invoke Ingestion/Reaction handlers (also wired to In Memory stores) in order to be able to express workflows that rely on a the triggering of reactions via changefeeds without needing concrete Cosmos/EventStore/Kafka deps

The tests impls can be split into two levels:
a1) Set up SUT in-memory

  • wire services to In memory stores
  • wire Ingesters/Reactors to Store

a2) Set up SUT wiring to concrete stores

b) Run the scenario

Then mix and match test scenarios to best achieve meaningful test coverage e.g.:

  • On the desktop and for CI on PRs, run a1+b (if Property tests, 100s or 1000s of iterations is fine)
  • In a suitable staging environment, run a2+b (as the base functionality has already been validated by ☝️, the MaxTests can be dropped by an order of magnitude in order to conserve run time)

See a diagram that pretends this already exists

cc @fnipo any aspects I missed ?
semi-related: there should be unit tests that one can use alongside to do baseline validation that Event Contracts are correct as part of a similar local/CI test suite jet/FsCodec#50

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions