public void Should_not_declare_exchange_the_second_time_declare_is_called() { var exchangeDeclareCount = 0; var advancedBus = Substitute.For <IAdvancedBus>(); IExchange exchange = new Exchange(exchangeName); advancedBus.ExchangeDeclare(exchangeName, "topic").Returns(x => { exchangeDeclareCount++; return(exchange); }); var exchangeDeclareStrategy = new DefaultExchangeDeclareStrategy(Substitute.For <IConventions>(), advancedBus); var _ = exchangeDeclareStrategy.DeclareExchange(exchangeName, ExchangeType.Topic); var declaredExchange = exchangeDeclareStrategy.DeclareExchange(exchangeName, ExchangeType.Topic); advancedBus.Received().ExchangeDeclare(exchangeName, "topic"); declaredExchange.Should().BeSameAs(exchange); exchangeDeclareCount.Should().Be(1); }
public void Should_declare_exchange_the_first_time_declare_is_called() { var exchangeDeclareCount = 0; var advancedBus = Substitute.For <IAdvancedBus>(); IExchange exchange = new Exchange(exchangeName); advancedBus.ExchangeDeclareAsync(exchangeName, Arg.Any <Action <IExchangeDeclareConfiguration> >()) .Returns(x => { exchangeDeclareCount++; return(Task.FromResult(exchange)); }); var publishExchangeDeclareStrategy = new DefaultExchangeDeclareStrategy(Substitute.For <IConventions>(), advancedBus); var declaredExchange = publishExchangeDeclareStrategy.DeclareExchange(exchangeName, ExchangeType.Topic); advancedBus.Received().ExchangeDeclareAsync(exchangeName, Arg.Any <Action <IExchangeDeclareConfiguration> >()); declaredExchange.Should().BeSameAs(exchange); exchangeDeclareCount.Should().Be(1); }