Esempio n. 1
0
        public void Create_should_use_registered_creator()
        {
            var sp = NSubstitute.Substitute.For <IServiceProvider>();

            var policy = new QueueReferencesPolicy <DummyMessage>(() =>
            {
                var exchangeName   = "dummy";
                var queueName      = exchangeName + ".a";
                var dlExchangeName = exchangeName + ".b";
                var dlQueueName    = dlExchangeName + ".c";
                return(new QueueReferences(exchangeName, queueName, dlExchangeName, dlQueueName));
            });

            sp.GetService(typeof(QueueReferencesPolicy <DummyMessage>))
            .Returns(policy);
            var sut = new QueueReferenceFactory(sp);

            var result = sut.Create <DummyMessage>();

            result.Should().NotBeNull();
            result.ExchangeName.Should().Be("dummy");
            result.QueueName.Should().Be("dummy.a");
            result.DeadLetterExchangeName.Should().Be("dummy.b");
            result.DeadLetterQueue.Should().Be("dummy.b.c");
        }
 protected override void ConfigureTransportAndPersistence(IBusConfigurator cfg)
 {
     cfg.UseAzureServiceBusTransport(_fixture.Configuration, builder =>
     {
         QueueReferencesPolicy <DummyEvent> policy = () => new QueueReferences(_topicName, _subscriptionName);
         builder.UseMessageNamingPolicy(policy);
     })
     .UseInMemoryPersistence();
 }
Esempio n. 3
0
        public void UseMessageNamingPolicy <TM>(QueueReferencesPolicy <TM> policy) where TM : IMessage
        {
            if (policy == null)
            {
                throw new ArgumentNullException(nameof(policy));
            }

            _busConfigurator.Services.AddSingleton(policy);
        }
        public IAzureServiceBusConfigurationBuilder UseMessageNamingPolicy <TM>(QueueReferencesPolicy <TM> policy) where TM : IMessage
        {
            if (policy == null)
            {
                throw new ArgumentNullException(nameof(policy));
            }

            _busConfigurator.Services.AddSingleton(policy);
            return(this);
        }
        public void Create_should_use_registered_creator()
        {
            var sp = NSubstitute.Substitute.For <IServiceProvider>();

            var policy = new QueueReferencesPolicy <DummyMessage>(() => new QueueReferences("dummy", "dummy.dead"));

            sp.GetService(typeof(QueueReferencesPolicy <DummyMessage>))
            .Returns(policy);
            var sut = new QueueReferenceFactory(sp);

            var result = sut.Create <DummyMessage>();

            result.Should().NotBeNull();
            result.TopicName.Should().Be("dummy");
            result.DeadLetterTopicName.Should().Be("dummy.dead");
        }
Esempio n. 6
0
        protected override void ConfigureTransportAndPersistence(IBusConfigurator cfg)
        {
            var(_, dbName) = _cosmosFixture.CreateDbContext();
            var sqlCfg = new CosmosSqlConfiguration(_cosmosFixture.ConnectionString, dbName);

            cfg.UseAzureServiceBusTransport(_sbFixture.Configuration, builder =>
            {
                QueueReferencesPolicy <DummyEvent> policy = () =>
                {
                    var sp               = cfg.Services.BuildServiceProvider();
                    var sysInfo          = sp.GetService <SystemInfo>();
                    var subscriptionName = sysInfo.ClientGroup;
                    return(new QueueReferences(_topicName, subscriptionName));
                };
                builder.UseMessageNamingPolicy(policy);
            })
            .UseCosmosSqlPersistence(sqlCfg);
        }
        public void Create_should_use_registered_creator()
        {
            var sp = NSubstitute.Substitute.For <IServiceProvider>();

            var policy = new QueueReferencesPolicy <DummyMessage>(() =>
            {
                var TopicName        = "dummy";
                var SubscriptionName = TopicName + ".a";
                return(new QueueReferences(TopicName, SubscriptionName));
            });

            sp.GetService(typeof(QueueReferencesPolicy <DummyMessage>))
            .Returns(policy);
            var sut = new QueueReferenceFactory(sp);

            var result = sut.Create <DummyMessage>();

            result.Should().NotBeNull();
            result.TopicName.Should().Be("dummy");
            result.SubscriptionName.Should().Be("dummy.a");
        }