Exemple #1
0
        protected override IHaveFulfilledSubscriptionRequirements CreateSystemUnderTest()
        {
            // Given 2 handlers
            uniqueTopicAndQueueNames = new UniqueTopicAndQueueNames();
            proxyAwsClientFactory    = new ProxyAwsClientFactory();

            var baseQueueName = "CustomerOrders_";

            topicName = uniqueTopicAndQueueNames.GetTopicName(string.Empty, typeof(Order).Name);
            queueName = uniqueTopicAndQueueNames.GetQueueName(new SqsReadConfiguration(SubscriptionType.ToTopic)
            {
                BaseQueueName = baseQueueName
            }, typeof(Order).Name);

            bus = CreateMeABus.InRegion(RegionEndpoint.EUWest1.SystemName)
                  .WithAwsClientFactory(() => proxyAwsClientFactory)
                  .WithNamingStrategy(() => uniqueTopicAndQueueNames)
                  .WithSqsTopicSubscriber()
                  .IntoQueue(baseQueueName) // generate unique queue name
                  .WithMessageHandler <Order>(new OrderHandler())
                  .WithMessageHandler <Order>(new OrderHandler());

            bus
            .StartListening();
            return(bus);
        }
        protected override IHaveFulfilledSubscriptionRequirements CreateSystemUnderTest()
        {
            proxyAwsClientFactory = new ProxyAwsClientFactory();

            var busConfig = CreateMeABus.WithLogging(new LoggerFactory())
                            .InRegion(RegionEndpoint.EUWest1.SystemName)
                            .WithAwsClientFactory(() => proxyAwsClientFactory);

            try
            {
                // 2nd distinct handler declaration for the same queue should fail
                AttachAHandler(busConfig);
                AttachAHandler(busConfig);
            }
            catch (NotSupportedException ex)
            {
                _capturedException = ex;
            }
            return(null);
        }