Esempio n. 1
0
        public void DependencyResolverDependencyResolverDiscoversEventPublishers()
        {
            var mockConfigurationFactory = new Mock <IConfigurationFactory>();
            var eventBaseConfig          = new EventBaseServiceBusTopicEventPublisherConfiguration {
                TopicName = "One"
            };

            mockConfigurationFactory
            .Setup(factory => factory.Create(It.IsAny <Type>()))
            .Returns <Type>(type =>
            {
                if (type == typeof(ServiceBusTopicEventPublisherConfiguration <EventBase>))
                {
                    return(eventBaseConfig);
                }

                return(Activator.CreateInstance(type));
            });

            var container = EntryPoint.CreateDependencyResolver(() => mockConfigurationFactory.Object);

            using (var scope = container.BeginLifetimeScope())
            {
                var eventBasePublisher = scope.Resolve <IEventPublisher <EventBase> >();
                eventBasePublisher.Should().NotBeNull("because the EventBase publisher should be resolvable");
            }
        }
Esempio n. 2
0
        public void ConfigureDependencyResolverDiscoversEventPublishers()
        {
            var mockConfigurationFactory = new Mock <IConfigurationFactory>();
            var httpConfig      = new HttpConfiguration();
            var eventBaseConfig = new EventBaseServiceBusTopicEventPublisherConfiguration {
                TopicName = "One"
            };

            try
            {
                mockConfigurationFactory
                .Setup(factory => factory.Create(It.IsAny <Type>()))
                .Returns <Type>(type =>
                {
                    if (type == typeof(ServiceBusTopicEventPublisherConfiguration <EventBase>))
                    {
                        return(eventBaseConfig);
                    }

                    return(Activator.CreateInstance(type));
                });

                Startup.ConfigureDependencyResolver(httpConfig, () => mockConfigurationFactory.Object);

                var locator = httpConfig.DependencyResolver;
                locator.Should().NotBeNull("because the dependency resolver should have been set");

                var eventBasePublisher = locator.GetService(typeof(IEventPublisher <EventBase>));
                eventBasePublisher.Should().NotBeNull("because the EventBase publisher should be resolvable");
            }
            finally
            {
                httpConfig?.DependencyResolver?.Dispose();
            }
        }