protected override void DoSetUp() { var servicePath = TestAzureHelper.GetPath("test"); _commandProcessor = CommandProcessor.With() .Logging(l => l.UseConsole(minLevel: Logger.Level.Debug)) .EventStore(e => e.Register <IEventStore>(c => new InMemoryEventStore())) .EventDispatcher(e => e.UseAzureServiceBusRelayEventDispatcher("cirqus", servicePath, TestAzureHelper.KeyName, TestAzureHelper.SharedAccessKey)) .Create(); RegisterForDisposal(_commandProcessor); _eventStoreProxy = new AzureServiceBusRelayEventStoreProxy("cirqus", servicePath, TestAzureHelper.KeyName, TestAzureHelper.SharedAccessKey); RegisterForDisposal(_eventStoreProxy); _viewManager = new InMemoryViewManager <View>(); var serializer = new JsonDomainEventSerializer(); var typeMapper = new DefaultDomainTypeNameMapper(); var eventDispatcher = new ViewManagerEventDispatcher(new DefaultAggregateRootRepository(_eventStoreProxy, serializer, typeMapper), _eventStoreProxy, serializer, typeMapper); RegisterForDisposal(eventDispatcher); eventDispatcher.AddViewManager(_viewManager); eventDispatcher.Initialize(); }
void SaveEvents(int numberOfCommandsToProcess, string aggregateRootId) { var eventStore = new MongoDbEventStore(_database, "Events"); var serializer = new JsonDomainEventSerializer(); var typeNameMapper = new DefaultDomainTypeNameMapper(); Enumerable.Range(0, numberOfCommandsToProcess) .ToList() .ForEach(number => { var domainEvents = new[] { new RootGotNewNumber(number) { Meta = { { DomainEvent.MetadataKeys.AggregateRootId, aggregateRootId }, { DomainEvent.MetadataKeys.SequenceNumber, number.ToString() }, { DomainEvent.MetadataKeys.TimeUtc, Time.UtcNow().ToString("u") }, { DomainEvent.MetadataKeys.Type, typeNameMapper.GetName(typeof(RootGotNewNumber)) }, { DomainEvent.MetadataKeys.Owner, typeNameMapper.GetName(typeof(Root)) }, } } }; eventStore.Save(Guid.NewGuid(), domainEvents.Select(e => serializer.Serialize(e))); }); }
static InMemoryUnitOfWork GetUnitOfWork() { var serializer = new JsonDomainEventSerializer(); var mapper = new DefaultDomainTypeNameMapper(); var eventStore = new InMemoryEventStore(serializer); var repository = new DefaultAggregateRootRepository(eventStore, serializer, mapper); return(new InMemoryUnitOfWork(repository, mapper)); }
protected override void DoSetUp() { _eventStore = new MongoDbEventStore(MongoHelper.InitializeTestDatabase(), "Events"); _domainEventSerializer = new JsonDomainEventSerializer(); _domainTypeNameMapper = new DefaultDomainTypeNameMapper(); var snapshotCache = new InMemorySnapshotCache(); _realAggregateRootRepository = new DefaultAggregateRootRepository(_eventStore, _domainEventSerializer, _domainTypeNameMapper); _cachingAggregateRootRepository = new CachingAggregateRootRepositoryDecorator(_realAggregateRootRepository, snapshotCache, _eventStore, _domainEventSerializer); }