예제 #1
0
        public static void UseRabbitMqBusEngine(this INybusConfigurator nybus, Action <IRabbitMqConfigurator> configure = null)
        {
            nybus.AddServiceConfiguration(svc => svc.AddSingleton <IConfigurationFactory, ConfigurationFactory>());

            nybus.AddServiceConfiguration(svc => svc.AddSingleton <IConnectionFactoryProviders, ConnectionFactoryProviders>());

            var configurator = new RabbitMqConfigurator();

            configurator.RegisterQueueFactoryProvider <StaticQueueFactoryProvider>();

            configurator.RegisterQueueFactoryProvider <TemporaryQueueFactoryProvider>();

            configure?.Invoke(configurator);

            configurator.Apply(nybus);

            nybus.UseBusEngine <RabbitMqBusEngine>();
        }
예제 #2
0
        public void RegisterQueueFactoryProvider_adds_provider_with_default_setup(RabbitMqConfigurator sut, TestNybusConfigurator configurator)
        {
            sut.RegisterQueueFactoryProvider <TestQueueFactoryProvider>();

            sut.Apply(configurator);

            var services = new ServiceCollection();

            configurator.ApplyServiceConfigurations(services);

            var serviceProvider = services.BuildServiceProvider();

            var provider = serviceProvider.GetService <IQueueFactoryProvider>();

            Assert.That(provider, Is.InstanceOf <TestQueueFactoryProvider>());
        }
예제 #3
0
        public void RegisterQueueFactoryProvider_adds_provider_with_custom_setup(RabbitMqConfigurator sut, TestNybusConfigurator configurator, TestQueueFactoryProvider factoryProvider, Func <IServiceProvider, IQueueFactoryProvider> setup)
        {
            Mock.Get(setup).Setup(p => p(It.IsAny <IServiceProvider>())).Returns(factoryProvider);

            sut.RegisterQueueFactoryProvider <TestQueueFactoryProvider>(setup);

            sut.Apply(configurator);

            var services = new ServiceCollection();

            configurator.ApplyServiceConfigurations(services);

            var serviceProvider = services.BuildServiceProvider();

            var provider = serviceProvider.GetService <IQueueFactoryProvider>();

            Mock.Get(setup).Verify(s => s(It.IsAny <IServiceProvider>()), Times.Once);
            Assert.That(provider, Is.SameAs(factoryProvider));
        }