protected IBusInstance CreateBus <T, TConfigurator>(T configurator, IBusRegistrationContext context, Action <IBusRegistrationContext, TConfigurator> configure, IEnumerable <IBusInstanceSpecification> specifications) where T : TConfigurator, IBusFactory where TConfigurator : IBusFactoryConfigurator { var loggerFactory = context.GetService <ILoggerFactory>(); if (loggerFactory != null) { LogContext.ConfigureCurrentLogContext(loggerFactory); } context.UseHealthCheck(configurator); var riders = new RiderConnectable(); configurator.ConnectBusObserver(new RiderBusObserver(riders)); configure?.Invoke(context, configurator); specifications ??= Enumerable.Empty <IBusInstanceSpecification>(); var busControl = configurator.Build(specifications); var instance = new TransportBusInstance(busControl, _hostConfiguration, riders); foreach (var specification in specifications) { specification.Configure(instance); } return(instance); }
public IBusInstance CreateBus(IBusRegistrationContext context, IEnumerable <IBusInstanceSpecification> specifications = null) { var inMemoryTestHarness = new InMemoryTestHarness(_virtualHost, specifications); var riders = new RiderConnectable(); inMemoryTestHarness.OnConfigureInMemoryBus += configurator => configurator.ConfigureEndpoints(context); inMemoryTestHarness.OnConfigureBus += configurator => configurator.ConnectBusObserver(new RiderBusObserver(riders)); return(new InMemoryTestHarnessBusInstance(inMemoryTestHarness, riders)); }
public InMemoryTestHarnessBusInstance(InMemoryTestHarness testHarness, RiderConnectable riders) { _riders = riders; Harness = testHarness; }
public TransportBusInstance(IBusControl busControl, IHostConfiguration hostConfiguration, RiderConnectable riders) { _riders = riders; BusControl = busControl; HostConfiguration = hostConfiguration; }