public void DomainEventHandlerResolver_CanBeCreated_IsCreated() { Dictionary <String, String[]> eventHandlerConfiguration = new Dictionary <String, String[]>(); eventHandlerConfiguration.Add("TestEventType1", new String[] { "EstateReporting.BusinessLogic.EventHandling.EstateDomainEventHandler, EstateReporting.BusinessLogic" }); Mock <IDomainEventHandler> domainEventHandler = new Mock <IDomainEventHandler>(); Func <Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return(domainEventHandler.Object); }; DomainEventHandlerResolver resolver = new DomainEventHandlerResolver(eventHandlerConfiguration, createDomainEventHandlerFunc); resolver.ShouldNotBeNull(); }
public void DomainEventHandlerResolver_GetDomainEventHandlers_EstateCreatedEvent_NoHandlersConfigured_EventHandlersReturned() { Dictionary <String, String[]> eventHandlerConfiguration = new Dictionary <String, String[]>(); EstateCreatedEvent estateCreatedEvent = TestData.EstateCreatedEvent; Mock <IDomainEventHandler> domainEventHandler = new Mock <IDomainEventHandler>(); Func <Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return(domainEventHandler.Object); }; DomainEventHandlerResolver resolver = new DomainEventHandlerResolver(eventHandlerConfiguration, createDomainEventHandlerFunc); List <IDomainEventHandler> handlers = resolver.GetDomainEventHandlers(estateCreatedEvent); handlers.ShouldBeNull(); }
public void DomainEventHandlerResolver_GetDomainEventHandlers_ResponseReceivedFromProviderEvent_NoHandlersConfigured_EventHandlersReturned() { Dictionary <String, String[]> eventHandlerConfiguration = new Dictionary <String, String[]>(); ResponseReceivedFromEmailProviderEvent responseReceivedFromProviderEvent = TestData.ResponseReceivedFromEmailProviderEvent; Mock <IDomainEventHandler> domainEventHandler = new Mock <IDomainEventHandler>(); Func <Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return(domainEventHandler.Object); }; DomainEventHandlerResolver resolver = new DomainEventHandlerResolver(eventHandlerConfiguration, createDomainEventHandlerFunc); List <IDomainEventHandler> handlers = resolver.GetDomainEventHandlers(responseReceivedFromProviderEvent); handlers.ShouldBeNull(); }
public void DomainEventHandlerResolver_GetDomainEventHandlers_EstateCreatedEvent_EventNotConfigured_EventHandlersReturned() { String handlerTypeName = "EstateReporting.BusinessLogic.EventHandling.EstateDomainEventHandler, EstateReporting.BusinessLogic"; Dictionary <String, String[]> eventHandlerConfiguration = new Dictionary <String, String[]>(); EstateCreatedEvent estateCreatedEvent = TestData.EstateCreatedEvent; eventHandlerConfiguration.Add("RandomEvent", new String[] { handlerTypeName }); Mock <IDomainEventHandler> domainEventHandler = new Mock <IDomainEventHandler>(); Func <Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return(domainEventHandler.Object); }; DomainEventHandlerResolver resolver = new DomainEventHandlerResolver(eventHandlerConfiguration, createDomainEventHandlerFunc); List <IDomainEventHandler> handlers = resolver.GetDomainEventHandlers(estateCreatedEvent); handlers.ShouldBeNull(); }
public void DomainEventHandlerResolver_GetDomainEventHandlers_ResponseReceivedFromProviderEvent_EventNotConfigured_EventHandlersReturned() { String handlerTypeName = "MessagingService.BusinessLogic.EventHandling.EmailDomainEventHandler, MessagingService.BusinessLogic"; Dictionary <String, String[]> eventHandlerConfiguration = new Dictionary <String, String[]>(); ResponseReceivedFromEmailProviderEvent responseReceivedFromProviderEvent = TestData.ResponseReceivedFromEmailProviderEvent; eventHandlerConfiguration.Add("RandomEvent", new String[] { handlerTypeName }); Mock <IDomainEventHandler> domainEventHandler = new Mock <IDomainEventHandler>(); Func <Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return(domainEventHandler.Object); }; DomainEventHandlerResolver resolver = new DomainEventHandlerResolver(eventHandlerConfiguration, createDomainEventHandlerFunc); List <IDomainEventHandler> handlers = resolver.GetDomainEventHandlers(responseReceivedFromProviderEvent); handlers.ShouldBeNull(); }
static async Task SubscriptionsTest() { String eventStoreConnectionString = "esdb://127.0.0.1:2113?tls=false"; Int32 inflightMessages = 1; Int32 persistentSubscriptionPollingInSeconds = 10; String filter = String.Empty; String ignore = String.Empty; String streamName = String.Empty; Int32 cacheDuration = 0; ISubscriptionRepository subscriptionRepository = SubscriptionRepository.Create(eventStoreConnectionString, cacheDuration); //((SubscriptionRepository)subscriptionRepository).Trace += (sender, s) => Extensions.log(TraceEventType.Information, "REPOSITORY", s); // init our SubscriptionRepository subscriptionRepository.PreWarm(CancellationToken.None).Wait(); IDomainEventHandlerResolver eventHandlerResolver = new DomainEventHandlerResolver(new Dictionary <String, String[]>(), null); SubscriptionWorker concurrentSubscriptions = SubscriptionWorker.CreateConcurrentSubscriptionWorker(Program.ConfigureEventStoreSettings(), eventHandlerResolver, subscriptionRepository, inflightMessages, persistentSubscriptionPollingInSeconds); //concurrentSubscriptions.Trace += (_, args) => Extensions.concurrentLog(TraceEventType.Information, args.Message); //concurrentSubscriptions.Warning += (_, args) => Extensions.concurrentLog(TraceEventType.Warning, args.Message); //concurrentSubscriptions.Error += (_, args) => Extensions.concurrentLog(TraceEventType.Error, args.Message); if (!String.IsNullOrEmpty(ignore)) { concurrentSubscriptions = concurrentSubscriptions.IgnoreSubscriptions(ignore); } if (!String.IsNullOrEmpty(filter)) { //NOTE: Not overly happy with this design, but //the idea is if we supply a filter, this overrides ignore concurrentSubscriptions = concurrentSubscriptions.FilterSubscriptions(filter) .IgnoreSubscriptions(null); } if (!String.IsNullOrEmpty(streamName)) { concurrentSubscriptions = concurrentSubscriptions.FilterByStreamName(streamName); } concurrentSubscriptions.StartAsync(CancellationToken.None).Wait(); }
public void DomainEventHandlerResolver_GetDomainEventHandlers_TransactionHasBeenCompletedEvent_EventHandlersReturned() { String handlerTypeName = "VoucherManagement.BusinessLogic.EventHandling.VoucherDomainEventHandler, VoucherManagement.BusinessLogic"; Dictionary <String, String[]> eventHandlerConfiguration = new Dictionary <String, String[]>(); VoucherIssuedEvent voucherIssuedEvent = TestData.VoucherIssuedEvent; eventHandlerConfiguration.Add(voucherIssuedEvent.GetType().Name, new String[] { handlerTypeName }); Mock <IDomainEventHandler> domainEventHandler = new Mock <IDomainEventHandler>(); Func <Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return(domainEventHandler.Object); }; DomainEventHandlerResolver resolver = new DomainEventHandlerResolver(eventHandlerConfiguration, createDomainEventHandlerFunc); List <IDomainEventHandler> handlers = resolver.GetDomainEventHandlers(voucherIssuedEvent); handlers.ShouldNotBeNull(); handlers.Any().ShouldBeTrue(); handlers.Count.ShouldBe(1); }
public void Setup() { eventHandlers = new List<IDomainEventHandler<IDomainEvent>>(); sut = new DomainEventHandlerResolver(eventHandlers); }
public void Setup() { eventHandlers = new List <IDomainEventHandler <IDomainEvent> >(); sut = new DomainEventHandlerResolver(eventHandlers); }