protected internal override void Apply(IManagementClient managementClient) { var destinationName = ToQueueDeclared ? ToQueue : ToExchange; _log.Info($"Declaring binding from '{FromExchange}' to '{destinationName}'"); _log.Info($" RoutingKey = {RoutingKey}"); var virtualHost = managementClient.GetVhost(VirtualHost); var exchange = managementClient.GetExchange(FromExchange, virtualHost); var info = new BindingInfo(RoutingKey); if (ToQueueDeclared) { var toQueue = managementClient.GetQueue(ToQueue, virtualHost); managementClient.CreateBinding(exchange, toQueue, info); } if (ToExchangeDeclared) { var toExchange = managementClient.GetExchange(ToExchange, virtualHost); managementClient.CreateBinding(exchange, toExchange, info); } _log.Info($"Finished declaring binding from '{FromExchange}' to '{destinationName}'"); }
public void Should_create_binding() { var vhost = managementClient.GetVhost(vhostName); var queue = managementClient.GetQueue(testQueue, vhost); var exchange = managementClient.GetExchange(testExchange, vhost); var bindingInfo = new BindingInfo(testQueue); managementClient.CreateBinding(exchange, queue, bindingInfo); }
public async Task Should_get_all_bindings_for_which_the_exchange_is_the_source() { var sourceXchange = await CreateExchange("sourceXcg").ConfigureAwait(false); var destionationXchange = await CreateExchange("destinationXcg").ConfigureAwait(false); var bindingInfo = new BindingInfo("#"); await managementClient.CreateBinding(sourceXchange, destionationXchange, bindingInfo).ConfigureAwait(false); Assert.NotEmpty((await managementClient.GetBindingsWithSourceAsync(sourceXchange).ConfigureAwait(false)).ToList()); }