public GetAggregateWithLockTest()
        {
            var eventStore         = new TestEventStore();
            var eventStoreSettings = new TestEventStoreSettings {
                SessionLockEnabled = true
            };

            _distributedLockFactory = A.Fake <IDistributedLockFactory>();
            _session = new Session(new Repository(eventStore), eventStoreSettings, _distributedLockFactory);
        }
Example #2
0
 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;
        }
Example #4
0
        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();
        }