public void Initialize_ThenValid()
        {
            var services = new ServiceCollection();
            var receiveEndpointBuilder = new ReceiveEndpointBuilder <IHost, IReceiveEndpointConfigurator>(services);

            Assert.Same(services, receiveEndpointBuilder.Services);
        }
        public void AddConsumer_ThenValid()
        {
            var services = new ServiceCollection();
            var receiveEndpointBuilder = new ReceiveEndpointBuilder <IHost, IReceiveEndpointConfigurator>(services);

            var mockHost                        = new Mock <IHost>(MockBehavior.Strict);
            var mockServiceProvider             = new Mock <IServiceProvider>(MockBehavior.Strict);
            var mockReceiveEndpointConfigurator = new Mock <IReceiveEndpointConfigurator>(MockBehavior.Strict);
            var mockConsumerFactory             = new Mock <IConsumerFactory <IConsumer> >(MockBehavior.Strict);

            mockServiceProvider
            .Setup(_ => _.GetService(typeof(IConsumerFactory <IConsumer>)))
            .Returns(mockConsumerFactory.Object)
            .Verifiable();

            mockReceiveEndpointConfigurator
            .Setup(_ => _.AddEndpointSpecification(It.IsAny <ConsumerConfigurator <IConsumer> >()))
            .Verifiable();

            receiveEndpointBuilder.AddConsumer <IConsumer>();

            receiveEndpointBuilder.Configure(mockHost.Object, mockReceiveEndpointConfigurator.Object, mockServiceProvider.Object);

            mockServiceProvider.Verify();
            mockReceiveEndpointConfigurator.Verify();
        }
        public IBrokeredMessageReceiver Build()
        {
            var result = BusConfigurationResult.CompileResults(Validate());

            try
            {
                var builder = new ReceiveEndpointBuilder(_endpointConfiguration);

                foreach (var specification in Specifications)
                {
                    specification.Configure(builder);
                }

                return(new BrokeredMessageReceiver(CreateReceiveEndpointContext()));
            }
            catch (Exception ex)
            {
                throw new ConfigurationException(result, "An exception occurred creating the BrokeredMessageReceiver", ex);
            }
        }
        public IReceivePipeDispatcher Build()
        {
            var result = BusConfigurationResult.CompileResults(Validate());

            try
            {
                var builder = new ReceiveEndpointBuilder(_endpointConfiguration);

                foreach (var specification in Specifications)
                {
                    specification.Configure(builder);
                }

                return(new ReceivePipeDispatcher(_endpointConfiguration.CreateReceivePipe(), _endpointConfiguration.ReceiveObservers, _hostConfiguration));
            }
            catch (Exception ex)
            {
                throw new ConfigurationException(result, "An exception occurred during mediator creation", ex);
            }
        }
        public void AddConfigurator_GivenVariantEndpoint_ThenValid()
        {
            var services = new ServiceCollection();
            var receiveEndpointBuilder = new ReceiveEndpointBuilder <IHost, IReceiveEndpointConfigurator>(services);

            var mockHost                        = new Mock <IHost>(MockBehavior.Strict);
            var mockServiceProvider             = new Mock <IServiceProvider>(MockBehavior.Strict);
            var mockReceiveEndpointConfigurator = new Mock <IReceiveEndpointConfigurator>(MockBehavior.Strict);

            var configuratorWasCalled = false;

            receiveEndpointBuilder.AddConfigurator(configurator =>
            {
                configuratorWasCalled = true;
                Assert.Same(mockReceiveEndpointConfigurator.Object, configurator);
            });

            receiveEndpointBuilder.Configure(mockHost.Object, mockReceiveEndpointConfigurator.Object, mockServiceProvider.Object);

            Assert.True(configuratorWasCalled);
        }
Beispiel #6
0
        public IReceivePipeDispatcher Build()
        {
            var result = BusConfigurationResult.CompileResults(Validate());

            try
            {
                var builder = new ReceiveEndpointBuilder(_endpointConfiguration);

                foreach (var specification in Specifications)
                {
                    specification.Configure(builder);
                }

                var logContext = LogContext.Current.CreateLogContext(LogCategoryName.Transport.Receive);

                return(new ReceivePipeDispatcher(_endpointConfiguration.CreateReceivePipe(), _endpointConfiguration.ReceiveObservers, logContext));
            }
            catch (Exception ex)
            {
                throw new ConfigurationException(result, "An exception occurred during handler creation", ex);
            }
        }
        public void AddConfigurator_GivenGeneric_ThenValid()
        {
            var services = new ServiceCollection();
            var receiveEndpointBuilder = new ReceiveEndpointBuilder <IInMemoryHost, IInMemoryReceiveEndpointConfigurator>(services);

            var mockHost                        = new Mock <IInMemoryHost>(MockBehavior.Strict);
            var mockServiceProvider             = new Mock <IServiceProvider>(MockBehavior.Strict);
            var mockReceiveEndpointConfigurator = new Mock <IInMemoryReceiveEndpointConfigurator>(MockBehavior.Strict);

            var configuratorWasCalled = false;
            IReceiveEndpointBuilder <IInMemoryHost, IInMemoryReceiveEndpointConfigurator> receiveEndpointBuilderGeneric = receiveEndpointBuilder;

            receiveEndpointBuilderGeneric.AddConfigurator((host, configurator, serviceProvider) =>
            {
                configuratorWasCalled = true;
                Assert.Same(mockHost.Object, host);
                Assert.Same(mockServiceProvider.Object, serviceProvider);
                Assert.Same(mockReceiveEndpointConfigurator.Object, configurator);
            });

            receiveEndpointBuilder.Configure(mockHost.Object, mockReceiveEndpointConfigurator.Object, mockServiceProvider.Object);

            Assert.True(configuratorWasCalled);
        }