Esempio n. 1
0
        public EventPublisher(ITopicClientFactory topicClientFactory, IEventPublisherConfiguration configuration)
        {
            ValidateConstructorInputs(topicClientFactory, configuration);

            this.topicClientFactory = topicClientFactory;
            this.configuration      = configuration;
            topicClients            = new Dictionary <string, ITopicClient>();
        }
Esempio n. 2
0
        private static void ValidateConstructorInputs(
            ITopicClientFactory topicClientFactory,
            IEventPublisherConfiguration configuration)
        {
            topicClientFactory.GuardArgumentIsNotNull(nameof(topicClientFactory));

            configuration.GuardArgumentIsNotNull(nameof(configuration));
            configuration.ServiceBusConnectionString.GuardArgumentIsNotNullOrEmpty(
                $"{nameof(configuration)}.{nameof(configuration.ServiceBusConnectionString)}");
            configuration.Publishers.GuardArgumentIsNotNullOrEmpty(
                $"{nameof(configuration)}.{nameof(configuration.Publishers)}");
        }
Esempio n. 3
0
        public void TestInitialize()
        {
            fixture            = new Fixture().Customize(new AutoNSubstituteCustomization());
            configuration      = fixture.Freeze <IEventPublisherConfiguration>();
            topicClientFactory = fixture.Freeze <ITopicClientFactory>();

            var publisherInfos =
                new List <PublisherInfo>
            {
                new PublisherInfo(typeof(FakeEvent1), TopicName1, RetryPolicyBase.DefaultRetry),
                new PublisherInfo(typeof(FakeEvent2), TopicName2, RetryPolicyBase.DefaultRetry)
            };

            configuration.Publishers.Returns(publisherInfos);
            configuration.ServiceBusConnectionString.Returns(fixture.Create <string>());

            sut = fixture.Create <EventPublisher>();
        }