public void TheyShouldBeResolvable() { var interceptorTypes = new[] {typeof (DummyInterceptor)}; var builder = new ContainerBuilder(); var typeProvider = Substitute.For<ITypeProvider>(); typeProvider.InterceptorTypes.Returns(interceptorTypes); builder.RegisterZombus(typeProvider); using (var container = builder.Build()) using (var dependencyResolver = container.Resolve<IDependencyResolver>()) using (var scope = dependencyResolver.CreateChildScope()) { var interceptorSetting = new GlobalOutboundInterceptorTypesSetting { Value = interceptorTypes }; var outboundInterceptorFactory = new OutboundInterceptorFactory(interceptorSetting, new PropertyInjector(Substitute.For<IClock>(), Substitute.For<IDispatchContextManager>(), Substitute.For<ILargeMessageBodyStore>())); var dummyBrokeredMessage = new BrokeredMessage(); var interceptors = outboundInterceptorFactory.CreateInterceptors(scope, dummyBrokeredMessage); interceptors.Count().ShouldBe(1); } }
public async Task NothingShouldGoBang() { var typeProvider = new AssemblyScanningTypeProvider(GetType().Assembly); var builder = new ContainerBuilder(); builder.RegisterZombus(typeProvider); using (builder.Build()) { } }
public void NothingShouldGoBang() { var builder = new ContainerBuilder(); var typeProvider = new AssemblyScanningTypeProvider(); builder.RegisterType<ConsoleLogger>() .As<IZombusLogger>() .SingleInstance(); builder.RegisterZombus(typeProvider); var largeMessageBodyTempPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Guid.NewGuid().ToString()); builder.Register(c => new FileSystemStorageBuilder().Configure() .WithStorageDirectory(largeMessageBodyTempPath) .WithLogger(c.Resolve<IZombusLogger>()) .Build()) .As<ILargeMessageBodyStore>() .SingleInstance(); builder.Register(c => new BusBuilder().Configure() .WithNames("IntegrationTestHarness", Environment.MachineName) .WithConnectionString( @"Endpoint=sb://shouldnotexist.example.com/;SharedAccessKeyName=IntegrationTestHarness;SharedAccessKey=borkborkbork=") .WithLargeMessageStorage(sc => sc.WithLargeMessageBodyStore(c.Resolve<ILargeMessageBodyStore>()) .WithMaxSmallMessageSize(50*1024) .WithMaxLargeMessageSize(1024*1024)) .WithTypesFrom(typeProvider) .WithDefaultTimeout(TimeSpan.FromSeconds(10)) .WithLogger(c.Resolve<IZombusLogger>()) .Build()) .As<IBus>() .SingleInstance(); using (var container = builder.Build()) { container.Resolve<IBus>(); } }
public IDependencyResolver Create(ITypeProvider typeProvider) { var builder = new ContainerBuilder(); builder.RegisterZombus(typeProvider); return builder.Build().Resolve<IDependencyResolver>(); }