public void TestOneRequiredGroup() { var binder = GetBinder(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingOptions = CreateProducerBindingOptions(producerOptions); var output = CreateBindableChannel("output", producerBindingOptions); var consumerOptions = GetConsumerOptions("output", bindingsOptions); var testDestination = "testDestination" + Guid.NewGuid().ToString().Replace("-", string.Empty); producerOptions.RequiredGroups = new List <string>() { "test1" }; var producerBinding = binder.BindProducer(testDestination, output, producerOptions); var testPayload = "foo-" + Guid.NewGuid().ToString(); output.Send(MessageBuilder.WithPayload(testPayload).SetHeader("contentType", MimeTypeUtils.TEXT_PLAIN).Build()); var inbound1 = new QueueChannel(); var consumerBinding = binder.BindConsumer(testDestination, "test1", inbound1, consumerOptions); var receivedMessage1 = (Message <byte[]>)Receive(inbound1); Assert.NotNull(receivedMessage1); Assert.Equal(testPayload, Encoding.UTF8.GetString(receivedMessage1.Payload)); producerBinding.Unbind(); consumerBinding.Unbind(); }
public void TestSendPojoReceivePojoWithStreamListenerDefaultContentType() { var handler = BuildStreamListener(GetType(), "EchoStation", typeof(Station)); var binder = GetBinder(); var delimiter = GetDestinationNameDelimiter(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingProperties = CreateProducerBindingOptions(producerOptions); var moduleOutputChannel = CreateBindableChannel("output", producerBindingProperties); var consumerProperties = GetConsumerOptions("output", bindingsOptions); var consumerBindingProperties = CreateConsumerBindingOptions(consumerProperties); var moduleInputChannel = CreateBindableChannel("input", consumerBindingProperties); var producerBinding = binder.BindProducer($"bar{delimiter}0a", moduleOutputChannel, producerBindingProperties.Producer); var consumerBinding = binder.BindConsumer($"bar{delimiter}0a", "test-1", moduleInputChannel, consumerBindingProperties.Consumer); var station = new Station(); var message = MessageBuilder.WithPayload(station).Build(); moduleInputChannel.Subscribe(handler); moduleOutputChannel.Send(message); var replyChannel = (QueueChannel)handler.OutputChannel; var replyMessage = replyChannel.Receive(5000); Assert.IsType <Station>(replyMessage.Payload); producerBinding.Unbind(); consumerBinding.Unbind(); }
public void TestSendJsonReceiveJsonWithStreamListener() { var handler = BuildStreamListener(GetType(), "EchoStationString", typeof(string)); var binder = GetBinder(); var delimiter = GetDestinationNameDelimiter(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingProperties = CreateProducerBindingOptions(producerOptions); var moduleOutputChannel = CreateBindableChannel("output", producerBindingProperties); var consumerProperties = GetConsumerOptions("output", bindingsOptions); var consumerBindingProperties = CreateConsumerBindingOptions(consumerProperties); var moduleInputChannel = CreateBindableChannel("input", consumerBindingProperties); var producerBinding = binder.BindProducer($"bad{delimiter}0e", moduleOutputChannel, producerBindingProperties.Producer); var consumerBinding = binder.BindConsumer($"bad{delimiter}0e", "test-5", moduleInputChannel, consumerBindingProperties.Consumer); var value = "{\"readings\":[{\"stationid\":\"fgh\",\"customerid\":\"12345\",\"timestamp\":null},{\"stationid\":\"hjk\",\"customerid\":\"222\",\"timestamp\":null}]}"; var message = MessageBuilder.WithPayload(value).SetHeader("contentType", MimeTypeUtils.APPLICATION_JSON).Build(); moduleInputChannel.Subscribe(handler); moduleOutputChannel.Send(message); var channel = (QueueChannel)handler.OutputChannel; var reply = channel.Receive(5000); Assert.NotNull(reply); Assert.IsType <string>(reply.Payload); producerBinding.Unbind(); consumerBinding.Unbind(); }
public void TestClean() { var bindingsOptions = new RabbitBindingsOptions(); var binder = GetBinder(); var delimiter = GetDestinationNameDelimiter(); var foo0ProducerBinding = binder.BindProducer($"foo{delimiter}0", CreateBindableChannel("output", GetDefaultBindingOptions()), GetProducerOptions("output", bindingsOptions)); var foo0ConsumerBinding = binder.BindConsumer($"foo{delimiter}0", "testClean", CreateBindableChannel("input", GetDefaultBindingOptions()), GetConsumerOptions("input", bindingsOptions)); var foo1ProducerBinding = binder.BindProducer($"foo{delimiter}1", CreateBindableChannel("output", GetDefaultBindingOptions()), GetProducerOptions("output1", bindingsOptions)); var foo1ConsumerBinding = binder.BindConsumer($"foo{delimiter}1", "testClean", CreateBindableChannel("input", GetDefaultBindingOptions()), GetConsumerOptions("input1", bindingsOptions)); var foo2ProducerBinding = binder.BindProducer($"foo{delimiter}2", CreateBindableChannel("output", GetDefaultBindingOptions()), GetProducerOptions("output2", bindingsOptions)); foo0ProducerBinding.Unbind(); Assert.False(foo0ProducerBinding.IsRunning); foo0ConsumerBinding.Unbind(); foo1ProducerBinding.Unbind(); Assert.False(foo0ConsumerBinding.IsRunning); Assert.False(foo1ProducerBinding.IsRunning); foo1ConsumerBinding.Unbind(); foo2ProducerBinding.Unbind(); Assert.False(foo1ConsumerBinding.IsRunning); Assert.False(foo2ProducerBinding.IsRunning); }
public RabbitTestBinder(IConnectionFactory connectionFactory, RabbitMessageChannelBinder binder, ILogger <RabbitTestBinder> logger) { _logger = logger; PollableConsumerBinder = binder; _rabbitAdmin = new RabbitAdmin(GetApplicationContext(), connectionFactory, logger); BindingsOptions = binder.BindingsOptions; }
public RabbitExchangeQueueProvisioner(IConnectionFactory connectionFactory, List <IDeclarableCustomizer> customizers, RabbitBindingsOptions bindingsOptions, IApplicationContext applicationContext, ILogger <RabbitExchangeQueueProvisioner> logger) { Admin = new RabbitAdmin(applicationContext, connectionFactory, logger); var serviceProvider = new ServiceCollection().BuildServiceProvider(); _autoDeclareContext = applicationContext; _logger = logger; Admin.ApplicationContext = _autoDeclareContext; Admin.Initialize(); Customizers = customizers; Options = bindingsOptions; }
public void TestSendPojoReceivePojoWithStreamListener() { var handler = BuildStreamListener(GetType(), "EchoStation", typeof(Station)); var binder = GetBinder(); var delimiter = GetDestinationNameDelimiter(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingProperties = CreateProducerBindingOptions(producerOptions); var moduleOutputChannel = CreateBindableChannel("output", producerBindingProperties); var consumerProperties = GetConsumerOptions("output", bindingsOptions); var consumerBindingProperties = CreateConsumerBindingOptions(consumerProperties); var moduleInputChannel = CreateBindableChannel("input", consumerBindingProperties); var producerBinding = binder.BindProducer($"bad{delimiter}0f", moduleOutputChannel, producerBindingProperties.Producer); var consumerBinding = binder.BindConsumer($"bad{delimiter}0f", "test-6", moduleInputChannel, consumerBindingProperties.Consumer); var r1 = new Station.Readings { CustomerId = "123", StationId = "XYZ" }; var r2 = new Station.Readings { CustomerId = "546", StationId = "ABC" }; var station = new Station { ReadingsList = new List <Station.Readings> { r1, r2 } }; var message = MessageBuilder.WithPayload(station).SetHeader("contentType", MimeTypeUtils.APPLICATION_JSON).Build(); moduleInputChannel.Subscribe(handler); moduleOutputChannel.Send(message); var channel = (QueueChannel)handler.OutputChannel; var reply = channel.Receive(5000); Assert.NotNull(reply); Assert.IsType <Station>(reply.Payload); producerBinding.Unbind(); consumerBinding.Unbind(); }
protected ConsumerOptions GetConsumerOptions(string bindingName, RabbitBindingsOptions bindingsOptions, RabbitConsumerOptions rabbitConsumerOptions = null, RabbitBindingOptions bindingOptions = null) { rabbitConsumerOptions ??= new RabbitConsumerOptions(); rabbitConsumerOptions.PostProcess(); bindingOptions ??= new RabbitBindingOptions(); bindingOptions.Consumer = rabbitConsumerOptions; bindingsOptions.Bindings.Add(bindingName, bindingOptions); var consumerOptions = new ConsumerOptions() { BindingName = bindingName }; consumerOptions.PostProcess(bindingName); return(consumerOptions); }
public void TestSendAndReceiveNoOriginalContentType() { var binder = GetBinder(); var delimiter = GetDestinationNameDelimiter(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingProperties = CreateProducerBindingOptions(producerOptions); var moduleOutputChannel = CreateBindableChannel("output", producerBindingProperties); var consumerProperties = GetConsumerOptions("output", bindingsOptions); var inputBindingProperties = CreateConsumerBindingOptions(consumerProperties); var moduleInputChannel = CreateBindableChannel("input", inputBindingProperties); var producerBinding = binder.BindProducer($"bar{delimiter}0", moduleOutputChannel, producerBindingProperties.Producer); var consumerBinding = binder.BindConsumer($"bar{delimiter}0", "testSendAndReceiveNoOriginalContentType", moduleInputChannel, consumerProperties); BinderBindUnbindLatency(); var message = MessageBuilder.WithPayload("foo").SetHeader("contentType", MimeTypeUtils.TEXT_PLAIN).Build(); moduleOutputChannel.Send(message); var latch = new CountdownEvent(1); var inboundMessageRef = new AtomicReference <IMessage>(); moduleInputChannel.Subscribe(new TestMessageHandler() { OnHandleMessage = (message) => { inboundMessageRef.GetAndSet(message); latch.Signal(); } }); moduleOutputChannel.Send(message); Assert.True(latch.Wait(TimeSpan.FromSeconds(5)), "Failed to receive message"); Assert.NotNull(inboundMessageRef.Value); Assert.Equal("foo", ((byte[])inboundMessageRef.Value.Payload).GetString()); Assert.Equal("text/plain", inboundMessageRef.Value.Headers.ContentType()); producerBinding.Unbind(); consumerBinding.Unbind(); }
public RabbitMessageChannelBinder(IApplicationContext context, ILogger <RabbitMessageChannelBinder> logger, SteeltoeConnectionFactory connectionFactory, RabbitOptions rabbitOptions, RabbitBinderOptions binderOptions, RabbitBindingsOptions bindingsOptions, RabbitExchangeQueueProvisioner provisioningProvider, IListenerContainerCustomizer containerCustomizer, IMessageSourceCustomizer sourceCustomizer) : base(context, Array.Empty <string>(), provisioningProvider, containerCustomizer, sourceCustomizer, logger) { if (connectionFactory == null) { throw new ArgumentNullException(nameof(connectionFactory)); } if (rabbitOptions == null) { throw new ArgumentNullException(nameof(rabbitOptions)); } _logger = logger; ConnectionFactory = connectionFactory; RabbitConnectionOptions = rabbitOptions; BinderOptions = binderOptions; BindingsOptions = bindingsOptions; ServiceName = "rabbitBinder"; }
public void TestSendAndReceive() { var ccf = GetResource(); var bindingsOptions = new RabbitBindingsOptions(); var binder = GetBinder(bindingsOptions); var delimiter = GetDestinationNameDelimiter(); var producerOptions = GetProducerOptions("input", bindingsOptions); var consumerProperties = GetConsumerOptions("output", bindingsOptions); var outputBindingProperties = CreateProducerBindingOptions(producerOptions); var moduleOutputChannel = CreateBindableChannel("output", GetDefaultBindingOptions()); var inputBindingProperties = CreateConsumerBindingOptions(consumerProperties); var moduleInputChannel = CreateBindableChannel("input", GetDefaultBindingOptions()); var producerBinding = binder.BindProducer($"foo{delimiter}0", moduleOutputChannel, producerOptions); var consumerBinding = binder.BindConsumer($"foo{delimiter}0", "testSendAndReceive", moduleInputChannel, consumerProperties); var message = MessageBuilder.WithPayload("foo").SetHeader(MessageHeaders.CONTENT_TYPE, MimeType.ToMimeType("text/plain")).Build(); var latch = new CountdownEvent(1); var inboundMessageRef = new AtomicReference <IMessage>(); moduleInputChannel.Subscribe(new TestMessageHandler() { OnHandleMessage = (message) => { inboundMessageRef.GetAndSet(message); latch.Signal(); } }); moduleOutputChannel.Send(message); Assert.True(latch.Wait(TimeSpan.FromSeconds(5)), "Failed to receive message"); var actual = inboundMessageRef.Value; Assert.Equal("foo".GetBytes(), actual.Payload); Assert.Equal("text/plain", actual.Headers.ContentType()); producerBinding.Unbind(); consumerBinding.Unbind(); }
protected ProducerOptions GetProducerOptions(string bindingName, RabbitBindingsOptions bindingsOptions, RabbitBindingOptions bindingOptions = null) { var rabbitProducerOptions = new RabbitProducerOptions(); rabbitProducerOptions.PostProcess(); bindingOptions ??= new RabbitBindingOptions(); bindingOptions.Producer = rabbitProducerOptions; bindingsOptions.Bindings.Add(bindingName, bindingOptions); var producerOptions = new ProducerOptions() { BindingName = bindingName }; producerOptions.PostProcess(bindingName); return(producerOptions); }
public void TestSendAndReceiveMultipleTopics() { var binder = GetBinder(); var delimiter = GetDestinationNameDelimiter(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingProperties = CreateProducerBindingOptions(producerOptions); var consumerProperties = GetConsumerOptions("output", bindingsOptions); var moduleOutputChannel1 = CreateBindableChannel("output1", producerBindingProperties); var moduleOutputChannel2 = CreateBindableChannel("output2", producerBindingProperties); var moduleInputChannel = new QueueChannel(); var producerBinding1 = binder.BindProducer($"foo{delimiter}xy", moduleOutputChannel1, producerBindingProperties.Producer); var producerBinding2 = binder.BindProducer($"foo{delimiter}yz", moduleOutputChannel2, producerBindingProperties.Producer); var consumerBinding1 = binder.BindConsumer($"foo{delimiter}xy", "testSendAndReceiveMultipleTopics", moduleInputChannel, consumerProperties); var consumerBinding2 = binder.BindConsumer($"foo{delimiter}yz", "testSendAndReceiveMultipleTopics", moduleInputChannel, consumerProperties); var testPayload1 = "foo" + Guid.NewGuid(); var message1 = MessageBuilder.WithPayload(testPayload1.GetBytes()).SetHeader("contentType", MimeTypeUtils.APPLICATION_OCTET_STREAM).Build(); var testPayload2 = "foo" + Guid.NewGuid(); var message2 = MessageBuilder.WithPayload(testPayload2.GetBytes()).SetHeader("contentType", MimeTypeUtils.APPLICATION_OCTET_STREAM).Build(); BinderBindUnbindLatency(); moduleOutputChannel1.Send(message1); moduleOutputChannel2.Send(message2); var messages = new IMessage[] { Receive(moduleInputChannel), Receive(moduleInputChannel) }; Assert.NotNull(messages[0]); Assert.NotNull(messages[1]); Assert.Contains(messages, (m) => ((byte[])m.Payload).GetString() == testPayload1); Assert.Contains(messages, (m) => ((byte[])m.Payload).GetString() == testPayload2); producerBinding1.Unbind(); producerBinding2.Unbind(); consumerBinding1.Unbind(); consumerBinding2.Unbind(); }
protected abstract B GetBinder(RabbitBindingsOptions bindingsOptions = null);
public void TestPartitionedModuleSpEL() { var bindingsOptions = new RabbitBindingsOptions(); var binder = GetBinder(bindingsOptions); var consumerProperties = GetConsumerOptions("input", bindingsOptions); consumerProperties.Concurrency = 2; consumerProperties.InstanceIndex = 0; consumerProperties.InstanceCount = 3; consumerProperties.Partitioned = true; var delimiter = GetDestinationNameDelimiter(); var input0 = new QueueChannel { ComponentName = "test.input0S" }; var input0Binding = binder.BindConsumer($"part{delimiter}0", "testPartitionedModuleSpEL", input0, consumerProperties); consumerProperties.InstanceIndex = 1; var input1 = new QueueChannel(); input1.ComponentName = "test.input1S"; var input1Binding = binder.BindConsumer($"part{delimiter}0", "testPartitionedModuleSpEL", input1, consumerProperties); consumerProperties.InstanceIndex = 2; var input2 = new QueueChannel(); input2.ComponentName = "test.input2S"; var input2Binding = binder.BindConsumer($"part{delimiter}0", "testPartitionedModuleSpEL", input2, consumerProperties); var producerProperties = GetProducerOptions("output", bindingsOptions); var rabbitProducerOptions = bindingsOptions.GetRabbitProducerOptions("output"); rabbitProducerOptions.RoutingKeyExpression = "'part.0'"; producerProperties.PartitionKeyExpression = "Payload"; producerProperties.PartitionSelectorExpression = "ToString()"; // For strings, Java hash is not equivalent to GetHashCode, but for 0,1,2 ToString() is equivalent to hash. producerProperties.PartitionCount = 3; var output = CreateBindableChannel("output", CreateProducerBindingOptions(producerProperties)); output.ComponentName = "test.output"; var outputBinding = binder.BindProducer($"part{delimiter}0", output, producerProperties); try { var endpoint = ExtractEndpoint(outputBinding); CheckRkExpressionForPartitionedModuleSpEL(endpoint); } catch (Exception ex) { _logger?.LogError(ex, ex.Message); } var message2 = MessageBuilder.WithPayload("2").SetHeader("correlationId", "foo").SetHeader("contentType", MimeTypeUtils.TEXT_PLAIN).SetHeader("sequenceNumber", 42).SetHeader("sequenceSize", 43).Build(); output.Send(message2); output.Send(MessageBuilder.WithPayload("1").SetHeader("contentType", MimeTypeUtils.TEXT_PLAIN).Build()); output.Send(MessageBuilder.WithPayload("0").SetHeader("contentType", MimeTypeUtils.TEXT_PLAIN).Build()); var receive0 = Receive(input0); Assert.NotNull(receive0); var receive1 = Receive(input1); Assert.NotNull(receive1); var receive2 = Receive(input2); Assert.NotNull(receive2); Func <IMessage, bool> correlationHeadersForPayload2 = (m) => { var accessor = new IntegrationMessageHeaderAccessor(m); return("foo".Equals(accessor.GetCorrelationId()) && accessor.GetSequenceNumber() == 42 && accessor.GetSequenceSize() == 43); }; if (UsesExplicitRouting()) { Assert.Equal("0", ((byte[])receive0.Payload).GetString()); Assert.Equal("1", ((byte[])receive1.Payload).GetString()); Assert.Equal("2", ((byte[])receive2.Payload).GetString()); Assert.True(correlationHeadersForPayload2(receive2)); } else { var receivedMessages = new List <IMessage>() { receive0, receive1, receive2 }; Assert.Contains(receivedMessages, m => ((byte[])m.Payload).ToString() == "0"); Assert.Contains(receivedMessages, m => ((byte[])m.Payload).ToString() == "1"); Assert.Contains(receivedMessages, m => ((byte[])m.Payload).ToString() == "2"); Func <IMessage, bool> payloadIs2 = (m) => m.Payload.Equals("2".GetBytes()); Assert.Single(receivedMessages.Where(payloadIs2).Where(correlationHeadersForPayload2)); } input0Binding.Unbind(); input1Binding.Unbind(); input2Binding.Unbind(); outputBinding.Unbind(); }
public RabbitTestBinder(IConnectionFactory connectionFactory, RabbitOptions rabbitOptions, RabbitBinderOptions binderOptions, RabbitBindingsOptions bindingsOptions, ILoggerFactory loggerFactory) : this(connectionFactory, new RabbitMessageChannelBinder(GetApplicationContext(), loggerFactory.CreateLogger <RabbitMessageChannelBinder>(), connectionFactory, rabbitOptions, binderOptions, bindingsOptions, new RabbitExchangeQueueProvisioner(connectionFactory, bindingsOptions, GetApplicationContext(), loggerFactory.CreateLogger <RabbitExchangeQueueProvisioner>())), loggerFactory.CreateLogger <RabbitTestBinder>()) { BindingsOptions = bindingsOptions; }
public RabbitTestBinder(IConnectionFactory connectionFactory, IOptionsMonitor <RabbitOptions> rabbitOptions, IOptionsMonitor <RabbitBinderOptions> binderOptions, IOptionsMonitor <RabbitBindingsOptions> bindingsOptions, ILoggerFactory loggerFactory) : this(connectionFactory, new RabbitMessageChannelBinder(GetApplicationContext(), loggerFactory.CreateLogger <RabbitMessageChannelBinder>(), connectionFactory, rabbitOptions, binderOptions, bindingsOptions, new RabbitExchangeQueueProvisioner(connectionFactory, bindingsOptions, GetApplicationContext(), loggerFactory.CreateLogger <RabbitExchangeQueueProvisioner>())), loggerFactory.CreateLogger <RabbitTestBinder>()) { BindingsOptions = bindingsOptions.CurrentValue; _loggerFactory = loggerFactory; }
public RabbitMessageChannelBinder(IApplicationContext context, ILogger <RabbitMessageChannelBinder> logger, SteeltoeConnectionFactory connectionFactory, RabbitOptions rabbitOptions, RabbitBinderOptions binderOptions, RabbitBindingsOptions bindingsOptions, RabbitExchangeQueueProvisioner provisioningProvider, IListenerContainerCustomizer containerCustomizer) : this(context, logger, connectionFactory, rabbitOptions, binderOptions, bindingsOptions, provisioningProvider, containerCustomizer, null) { }
public void TestAnonymousGroup() { var binder = GetBinder(); var bindingsOptions = new RabbitBindingsOptions(); var producerOptions = GetProducerOptions("input", bindingsOptions); var producerBindingOptions = CreateProducerBindingOptions(producerOptions); var output = CreateBindableChannel("output", producerBindingOptions); var consumerOptions = GetConsumerOptions("output", bindingsOptions); var delimiter = GetDestinationNameDelimiter(); var producerBinding = binder.BindProducer($"defaultGroup{delimiter}0", output, producerBindingOptions.Producer); var input1 = new QueueChannel(); var binding1 = binder.BindConsumer($"defaultGroup{delimiter}0", null, input1, consumerOptions); var input2 = new QueueChannel(); var binding2 = binder.BindConsumer($"defaultGroup{delimiter}0", null, input2, consumerOptions); var testPayload1 = "foo-" + Guid.NewGuid().ToString(); output.Send(MessageBuilder.WithPayload(testPayload1) .SetHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN) .Build()); var receivedMessage1 = (Message <byte[]>)Receive(input1); Assert.NotNull(receivedMessage1); Assert.Equal(testPayload1, Encoding.UTF8.GetString(receivedMessage1.Payload)); var receivedMessage2 = (Message <byte[]>)Receive(input2); Assert.NotNull(receivedMessage2); Assert.Equal(testPayload1, Encoding.UTF8.GetString(receivedMessage2.Payload)); binding2.Unbind(); var testPayload2 = "foo-" + Guid.NewGuid().ToString(); output.Send(MessageBuilder.WithPayload(testPayload2) .SetHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN) .Build()); binding2 = binder.BindConsumer($"defaultGroup{delimiter}0", null, input2, consumerOptions); var testPayload3 = "foo-" + Guid.NewGuid().ToString(); output.Send(MessageBuilder.WithPayload(testPayload3) .SetHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN) .Build()); receivedMessage1 = (Message <byte[]>)Receive(input1); Assert.NotNull(receivedMessage1); Assert.Equal(testPayload2, Encoding.UTF8.GetString(receivedMessage1.Payload)); receivedMessage1 = (Message <byte[]>)Receive(input1); Assert.NotNull(receivedMessage1); Assert.NotNull(receivedMessage1.Payload); receivedMessage2 = (Message <byte[]>)Receive(input2); Assert.NotNull(receivedMessage2); Assert.Equal(testPayload3, Encoding.UTF8.GetString(receivedMessage2.Payload)); producerBinding.Unbind(); binding1.Unbind(); binding2.Unbind(); }
public RabbitExchangeQueueProvisioner(IConnectionFactory connectionFactory, RabbitBindingsOptions bindingsOptions, IApplicationContext applicationContext, ILogger <RabbitExchangeQueueProvisioner> logger) : this(connectionFactory, new List <IDeclarableCustomizer>(), bindingsOptions, applicationContext, logger) { }