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(); }
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"); }
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"); }