public static IBus CreateBus() { var connectionFactory = new InMemoryConnectionFactory(); var serializer = new JsonSerializer(); var logger = new ConsoleLogger(); var conventions = new Conventions(); var consumerErrorStrategy = new DefaultConsumerErrorStrategy(connectionFactory, serializer, logger, conventions); var advancedBus = new RabbitAdvancedBus( new ConnectionConfiguration(), connectionFactory, TypeNameSerializer.Serialize, serializer, new QueueingConsumerFactory(logger, consumerErrorStrategy), logger, CorrelationIdGenerator.GetCorrelationId, conventions); return new RabbitBus( TypeNameSerializer.Serialize, logger, conventions, advancedBus); }
public void SetUp() { var connectionFactory = new ConnectionFactoryWrapper(new ConnectionFactory { HostName = "localhost", VirtualHost = "/", UserName = "******", Password = "******" }); var serializer = new JsonSerializer(); var logger = new ConsoleLogger(); var consumerErrorStrategy = new DefaultConsumerErrorStrategy(connectionFactory, serializer, logger); var conventions = new Conventions(); advancedBus = new RabbitAdvancedBus( connectionFactory, TypeNameSerializer.Serialize, serializer, new QueueingConsumerFactory(logger, consumerErrorStrategy), logger, CorrelationIdGenerator.GetCorrelationId, conventions); while (!advancedBus.IsConnected) { Thread.Sleep(10); } }
public void SetUp() { connectionFactory = new ConnectionFactoryWrapper(new ConnectionFactory { HostName = "localhost", UserName = "******", Password = "******" }); serializer = new JsonSerializer(); consumerErrorStrategy = new DefaultConsumerErrorStrategy(connectionFactory, serializer, new ConsoleLogger()); }
public void SetUp() { connectionFactory = new ConnectionFactoryWrapper(new ConnectionConfiguration { Hosts = new List<IHostConfiguration> { new HostConfiguration { Host = "localhost", Port = 5672 } }, UserName = "******", Password = "******" }, new DefaultClusterHostSelectionStrategy<ConnectionFactoryInfo>()); serializer = new JsonSerializer(); consumerErrorStrategy = new DefaultConsumerErrorStrategy(connectionFactory, serializer, new ConsoleLogger()); }
public void SetUp() { var customConventions = new Conventions(new TypeNameSerializer()) { ErrorQueueNamingConvention = () => "CustomEasyNetQErrorQueueName", ErrorExchangeNamingConvention = info => "CustomErrorExchangePrefixName." + info.RoutingKey }; mockBuilder = new MockBuilder(); errorStrategy = new DefaultConsumerErrorStrategy( mockBuilder.ConnectionFactory, new JsonSerializer(new TypeNameSerializer()), MockRepository.GenerateStub <IEasyNetQLogger>(), customConventions, new TypeNameSerializer()); const string originalMessage = ""; var originalMessageBody = Encoding.UTF8.GetBytes(originalMessage); var context = new ConsumerExecutionContext( (bytes, properties, arg3) => null, new MessageReceivedInfo("consumerTag", 0, false, "orginalExchange", "originalRoutingKey", "queue"), new MessageProperties { CorrelationId = string.Empty, AppId = string.Empty }, originalMessageBody, MockRepository.GenerateStub <IBasicConsumer>() ); try { errorAckStrategy = errorStrategy.HandleConsumerError(context, new Exception()); cancelAckStrategy = errorStrategy.HandleConsumerCancelled(context); } catch (Exception) { // swallow } }
public void SetUp() { var configuration = new ConnectionConfiguration { Hosts = new List <IHostConfiguration> { new HostConfiguration { Host = "localhost", Port = 5672 } }, UserName = "******", Password = "******" }; configuration.Validate(); connectionFactory = new ConnectionFactoryWrapper(configuration, new DefaultClusterHostSelectionStrategy <ConnectionFactoryInfo>()); serializer = new JsonSerializer(); conventions = new Conventions(); consumerErrorStrategy = new DefaultConsumerErrorStrategy(connectionFactory, serializer, new ConsoleLogger(), conventions); }
public void SetUp() { var customConventions = new Conventions { ErrorQueueNamingConvention = () => "CustomEasyNetQErrorQueueName", ErrorExchangeNamingConvention = originalRoutingKey => "CustomErrorExchangePrefixName." + originalRoutingKey }; mockBuilder = new MockBuilder(); errorStrategy = new DefaultConsumerErrorStrategy( mockBuilder.ConnectionFactory, new JsonSerializer(), MockRepository.GenerateStub <IEasyNetQLogger>(), customConventions); const string originalMessage = ""; var originalMessageBody = Encoding.UTF8.GetBytes(originalMessage); var deliverArgs = new BasicDeliverEventArgs { RoutingKey = "originalRoutingKey", Exchange = "orginalExchange", Body = originalMessageBody, BasicProperties = new BasicProperties { CorrelationId = string.Empty, AppId = string.Empty } }; try { errorStrategy.HandleConsumerError(deliverArgs, new Exception()); } catch (Exception) { // swallow } }
public void Should_not_reconnect_if_has_been_disposed() { const string originalMessage = "{ Text:\"Hello World\"}"; var originalMessageBody = Encoding.UTF8.GetBytes(originalMessage); var exception = new Exception("I just threw!"); var context = new ConsumerExecutionContext( (bytes, properties, arg3) => null, new MessageReceivedInfo("consumertag", 0, false, "orginalExchange", "originalRoutingKey", "queue"), new MessageProperties { CorrelationId = "123", AppId = "456" }, originalMessageBody, Substitute.For <IBasicConsumer>() ); var logger = Substitute.For <IEasyNetQLogger>(); connectionFactory = Substitute.For <IConnectionFactory>(); consumerErrorStrategy = new DefaultConsumerErrorStrategy( connectionFactory, Substitute.For <ISerializer>(), logger, Substitute.For <IConventions>(), Substitute.For <ITypeNameSerializer>(), Substitute.For <IErrorMessageSerializer>()); consumerErrorStrategy.Dispose(); var ackStrategy = consumerErrorStrategy.HandleConsumerError(context, exception); connectionFactory.DidNotReceive().CreateConnection(); logger.Received().ErrorWrite(Arg.Is <string>(x => x.Contains("DefaultConsumerErrorStrategy was already disposed")), Arg.Any <object[]>()); Assert.Equal(AckStrategies.NackWithRequeue, ackStrategy); }
public void Should_not_reconnect_if_has_been_disposed() { const string originalMessage = "{ Text:\"Hello World\"}"; var originalMessageBody = Encoding.UTF8.GetBytes(originalMessage); var exception = new Exception("I just threw!"); var context = new ConsumerExecutionContext( (bytes, properties, arg3) => null, new MessageReceivedInfo("consumertag", 0, false, "orginalExchange", "originalRoutingKey", "queue"), new MessageProperties { CorrelationId = "123", AppId = "456" }, originalMessageBody, MockRepository.GenerateStub <IBasicConsumer>() ); var logger = MockRepository.GenerateMock <IEasyNetQLogger>(); connectionFactory = MockRepository.GenerateMock <IConnectionFactory>(); consumerErrorStrategy = new DefaultConsumerErrorStrategy( connectionFactory, MockRepository.GenerateStub <ISerializer>(), logger, MockRepository.GenerateStub <IConventions>(), MockRepository.GenerateStub <ITypeNameSerializer>(), MockRepository.GenerateStub <IErrorMessageSerializer>()); consumerErrorStrategy.Dispose(); var ackStrategy = consumerErrorStrategy.HandleConsumerError(context, exception); connectionFactory.AssertWasNotCalled(f => f.CreateConnection()); logger.AssertWasCalled(l => l.ErrorWrite(Arg.Text.Contains("DefaultConsumerErrorStrategy was already disposed"), Arg <Object> .Is.Anything)); Assert.AreEqual(AckStrategies.NackWithRequeue, ackStrategy); }
public void SetUp() { var mockModel = new MockModel { ExchangeDeclareAction = (exchangeName, type, durable, autoDelete, arguments) => createdExchangeName = exchangeName, QueueDeclareAction = (queue, durable, exclusive, autoDelete, arguments) => { createdQueueName = queue; return new QueueDeclareOk(queue, 0, 0); } }; var customConventions = new Conventions { ErrorQueueNamingConvention = () => "CustomEasyNetQErrorQueueName", ErrorExchangeNamingConvention = (originalRoutingKey) => "CustomErrorExchangePrefixName." + originalRoutingKey }; errorStrategy = new DefaultConsumerErrorStrategy(new MockConnectionFactory(new MockConnection(mockModel)), new JsonSerializer(), new MockLogger(), customConventions); const string originalMessage = ""; var originalMessageBody = Encoding.UTF8.GetBytes(originalMessage); var deliverArgs = new BasicDeliverEventArgs { RoutingKey = "originalRoutingKey", Exchange = "orginalExchange", Body = originalMessageBody, BasicProperties = new BasicProperties { CorrelationId = string.Empty, AppId = string.Empty } }; try { errorStrategy.HandleConsumerError(deliverArgs, new Exception()); } catch (Exception exc) { // swallow } }