public MsgNThenRabbitIntegration(ITestOutputHelper output) { _output = output; var serviceCollection = CreateServiceCollection(); serviceCollection.AddSingleton <IMessageHandler, BlockMessageHandler>(); var messageGroupHandler = Substitute.For <IMessageGroupHandler>(); serviceCollection.AddSingleton <IMessageGroupHandler>(messageGroupHandler); var serviceProvider = serviceCollection.BuildServiceProvider(); _messageHandler = (BlockMessageHandler)serviceProvider.GetRequiredService <IMessageHandler>(); _listener = serviceProvider.GetRequiredService <IRabbitMqListener>(); _andThenPublisher = serviceProvider.GetRequiredService <IMessageAndThenPublisher>(); _rabbit = serviceProvider.GetRequiredService <IConnection>(); _output.WriteLine("Binding"); _andThenPublisher.BindDirectQueue(ExchangeName, QueueName); }
private static void SendMessages(IMessageAndThenPublisher andThenPublisher, string exchangeName, int numMessages) { for (int i = 0; i < numMessages; i++) { andThenPublisher.PublishSingle(new SimpleMessage() { Body = new byte[1] { (byte)'a' }, Exchange = exchangeName, RoutingKey = null, Properties = new MessageProperties() }, new SimpleMessage() { Properties = new MessageProperties(), Body = new byte[0], Exchange = "TestAndThen" }, AndThenDeliveryMode.FromLastClient); } }