protected override async Task <SnsTopicByName> CreateSystemUnderTestAsync()
        {
            var topic = new SnsTopicByName("TopicName", Sns, _serializationRegister, Substitute.For <ILoggerFactory>(), new NonGenericMessageSubjectProvider());
            await topic.ExistsAsync();

            return(topic);
        }
        protected override async Task <SnsTopicByName> CreateSystemUnderTestAsync()
        {
            var topic = new SnsTopicByName("TopicName", Sns, _serializationRegister, Substitute.For <ILoggerFactory>(), new SnsWriteConfiguration
            {
                HandleException = (ex, m) => false
            }, Substitute.For <IMessageSubjectProvider>());

            await topic.ExistsAsync();

            return(topic);
        }
示例#3
0
        private protected override async Task <SnsTopicByName> CreateSystemUnderTestAsync()
        {
            var topic = new SnsTopicByName("TopicName", Sns, _serializationRegister, Substitute.For <ILoggerFactory>(), Substitute.For <SnsWriteConfiguration>(), Substitute.For <IMessageSubjectProvider>())
            {
                MessageResponseLogger = (r, m) =>
                {
                    _response = r;
                    _message  = m;
                }
            };

            await topic.ExistsAsync();

            return(topic);
        }
示例#4
0
        private async Task <SnsTopicByName> EnsureTopicExists(RegionEndpoint region, IMessageSerialisationRegister serialisationRegister, SqsReadConfiguration queueConfig)
        {
            var snsclient = _awsClientFactory.GetAwsClientFactory().GetSnsClient(region);

            var eventTopic = _topicCache.TryGetFromCache(region.SystemName, queueConfig.PublishEndpoint);

            if (eventTopic != null)
            {
                return(eventTopic);
            }

            eventTopic = new SnsTopicByName(queueConfig.PublishEndpoint, snsclient, serialisationRegister, _loggerFactory);
            _topicCache.AddToCache(region.SystemName, queueConfig.PublishEndpoint, eventTopic);

            var exists = await eventTopic.ExistsAsync();

            if (!exists)
            {
                await eventTopic.CreateAsync();
            }

            return(eventTopic);
        }