Esempio n. 1
0
        public When_using_default_consumer_error_strategy()
        {
            var customConventions = new Conventions(new DefaultTypeNameSerializer())
            {
                ErrorQueueNamingConvention    = info => "CustomEasyNetQErrorQueueName",
                ErrorExchangeNamingConvention = info => "CustomErrorExchangePrefixName." + info.RoutingKey
            };

            mockBuilder = new MockBuilder();

            var connectionConfiguration = new ConnectionConfiguration();
            var connection = new PersistentConnection(connectionConfiguration, mockBuilder.ConnectionFactory, new EventBus());

            errorStrategy = new DefaultConsumerErrorStrategy(
                connection,
                new JsonSerializer(),
                customConventions,
                new DefaultTypeNameSerializer(),
                new DefaultErrorMessageSerializer(),
                connectionConfiguration
                );

            const string originalMessage     = "";
            var          originalMessageBody = Encoding.UTF8.GetBytes(originalMessage);

            var context = new ConsumerExecutionContext(
                (bytes, properties, info, cancellation) => Task.FromResult(AckStrategies.Ack),
                new MessageReceivedInfo("consumerTag", 0, false, "orginalExchange", "originalRoutingKey", "queue"),
                new MessageProperties
            {
                CorrelationId = string.Empty,
                AppId         = string.Empty
            },
                originalMessageBody
                );

            try
            {
                errorAckStrategy  = errorStrategy.HandleConsumerError(context, new Exception());
                cancelAckStrategy = errorStrategy.HandleConsumerCancelled(context);
            }
            catch (Exception)
            {
                // swallow
            }
        }
Esempio n. 2
0
        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(),
                new DefaultErrorMessageSerializer());

            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
            }
        }