public GetAggregateWithLockTest() { var eventStore = new TestEventStore(); var eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = true }; _distributedLockFactory = A.Fake <IDistributedLockFactory>(); _session = new Session(new Repository(eventStore), eventStoreSettings, _distributedLockFactory); }
public SaveWithLockTest() { _eventStore = new TestInMemoryEventStore(); _rep = new Repository(_eventStore); _eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = true }; _distributedLockFactory = A.Fake <IDistributedLockFactory>(); _session = new Session(_rep, _eventStoreSettings, _distributedLockFactory); _aggregate = new TestAggregateNoParameterLessConstructor(2); }
public GetSnapshotAggregateWithNoSnapshotTest() { var eventStore = new TestEventStore(); var snapshotStore = new NullSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(snapshotStore); var repository = new SnapshotRepository(snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); var eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = false }; var session = new Session(repository, eventStoreSettings, null); _aggregate = session.GetAsync <TestSnapshotAggregate>(Guid.NewGuid().ToString()).Result; }
public SaveSnapshotableAggregateForEachChange() { IEventStore eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(_snapshotStore); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); var eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = false }; _session = new Session(repository, eventStoreSettings, null); _aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 150; i++) { _session.Add(_aggregate); _aggregate.DoSomething(); _session.CommitAsync().Wait(); } }
public SaveNotSnapshotableAggregate() { _eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(_snapshotStore); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(_eventStore), _eventStore); var eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = false }; var session = new Session(repository, eventStoreSettings, null); var aggregate = new TestAggregate(Guid.NewGuid().ToString()); for (var i = 0; i < 200; i++) { aggregate.DoSomething(); } Task.Run(async() => { session.Add(aggregate); await session.CommitAsync(); }).Wait(); }