public void SetUp() { var configuration = new ConnectionConfiguration { Hosts = new List<IHostConfiguration> { new HostConfiguration { Host = "localhost", Port = 5672 } }, UserName = "******", Password = "******" }; configuration.Validate(); var typeNameSerializer = new TypeNameSerializer(); connectionFactory = new ConnectionFactoryWrapper(configuration, new DefaultClusterHostSelectionStrategy<ConnectionFactoryInfo>()); serializer = new JsonSerializer(typeNameSerializer); conventions = new Conventions(typeNameSerializer); consumerErrorStrategy = new DefaultConsumerErrorStrategy( connectionFactory, serializer, new ConsoleLogger(), conventions, typeNameSerializer); }
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 { errorStrategy.HandleConsumerError(context, 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, 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); }