예제 #1
0
        private TRequest TranslateMessage(Message message)
        {
            if (_messageMapper == null)
            {
                throw new ConfigurationException(string.Format("No message mapper found for type {0} for message {1}.", typeof(TRequest).FullName, message.Id));
            }

            if (Logger != null)
            {
                Logger.DebugFormat("MessagePump: Translate message {0} on thread # {1}", message.Id, Thread.CurrentThread.ManagedThreadId);
            }

            TRequest request;

            try
            {
                request = _messageMapper.MapToRequest(message);
            }
            catch (Exception exception)
            {
                throw new MessageMappingException(string.Format("Failed to map message {0} using message mapper {1} for type {2} ", message.Id, _messageMapper.GetType().FullName, typeof(TRequest).FullName), exception);
            }

            return(request);
        }
예제 #2
0
 private TRequest TranslateMessage(Message message)
 {
     if (Logger != null)
     {
         Logger.Debug(m => m("MessagePump: Translate message {0} on thread # {1}", message.Id, Thread.CurrentThread.ManagedThreadId));
     }
     return(messageMapper.MapToRequest(message));
 }
        public void When_mapping_from_a_configuration_command_from_a_message()
        {
            _command = _mapper.MapToRequest(_message);

            //_should_rehydrate_the_command_type
            _command.Type.Should().Be(ConfigurationCommandType.CM_STARTALL);
            // _should_rehydrate_the_connection_name
            _command.ConnectionName.Should().Be("getallthethings");
        }
예제 #4
0
        public void When_mapping_from_a_configuration_command_from_a_message()
        {
            _command = _mapper.MapToRequest(_message);

            //_should_rehydrate_the_command_type
            Assert.AreEqual(ConfigurationCommandType.CM_STARTALL, _command.Type);
            // _should_rehydrate_the_connection_name
            Assert.AreEqual("getallthethings", _command.ConnectionName);
        }
        public void When_mapping_from_a_message_to_a_heartbeat_request()
        {
            _request = _mapper.MapToRequest(_message);

            //_should_put_the_message_reply_topic_into_the_address
            Assert.AreEqual(TOPIC, _request.ReplyAddress.Topic);
            //_should_put_the_message_correlation_id_into_the_address
            Assert.AreEqual(_correlationId, _request.ReplyAddress.CorrelationId);
            //_should_set_the_id_of_the_request
            Assert.AreEqual(_commandId, _request.Id);
        }
예제 #6
0
        public void When_mapping_from_a_message_to_a_heartbeat_request()
        {
            _request = _mapper.MapToRequest(_message);

            //_should_put_the_message_reply_topic_into_the_address
            _request.ReplyAddress.Topic.Should().Be(TOPIC);
            //_should_put_the_message_correlation_id_into_the_address
            _request.ReplyAddress.CorrelationId.Should().Be(_correlationId);
            //_should_set_the_id_of_the_request
            _request.Id.Should().Be(_commandId);
        }
예제 #7
0
        private TRequest TranslateMessage(Message message)
        {
            if (messageMapper == null)
            {
                throw new ConfigurationException(string.Format("No message mapper found for type {0} for message {1}.", typeof(TRequest).FullName, message.Id));
            }

            if (Logger != null)
            {
                Logger.Debug(m => m("MessagePump: Translate message {0} on thread # {1}", message.Id, Thread.CurrentThread.ManagedThreadId));
            }
            return(messageMapper.MapToRequest(message));
        }
예제 #8
0
        public void When_mapping_from_a_message_to_a_heartbeat_reply()
        {
            _request = _mapper.MapToRequest(_message);

            // _should_set_the_sender_address_topic
            _request.SendersAddress.Topic.Should().Be(TOPIC);
            // _should_set_the_sender_correlation_id
            _request.SendersAddress.CorrelationId.Should().Be(_correlationId);
            // _should_set_the_hostName
            _request.HostName.Should().Be("Test.Hostname");
            // _should_contain_the_consumers
            _request.Consumers.Should().Contain(rc => rc.ConsumerName == "Test.Subscription" && rc.State == ConsumerState.Open);
            _request.Consumers.Should().Contain(rc => rc.ConsumerName == "More.Consumers" && rc.State == ConsumerState.Shut);
        }
        public void When_mapping_from_a_message_to_a_heartbeat_reply()
        {
            _request = _mapper.MapToRequest(_message);

            // _should_set_the_sender_address_topic
            Assert.AreEqual(TOPIC, _request.SendersAddress.Topic);
            // _should_set_the_sender_correlation_id
            Assert.AreEqual(_correlationId, _request.SendersAddress.CorrelationId);
            // _should_set_the_hostName
            Assert.AreEqual("Test.Hostname", _request.HostName);
            // _should_contain_the_consumers
            Assert.True((bool)_request.Consumers.Any(rc => rc.ConnectionName == "Test.Connection" && rc.State == ConsumerState.Open));
            Assert.True(_request.Consumers.Any(rc => rc.ConnectionName == "More.Consumers" && rc.State == ConsumerState.Shut));
        }
예제 #10
0
        protected TRequest TranslateMessage(Message message)
        {
            if (_messageMapper == null)
            {
                throw new ConfigurationException($"No message mapper found for type {typeof(TRequest).FullName} for message {message.Id}.");
            }

            _logger.Value.DebugFormat("MessagePump: Translate message {0} on thread # {1}", message.Id, Thread.CurrentThread.ManagedThreadId);

            TRequest request;

            try
            {
                request = _messageMapper.MapToRequest(message);
            }
            catch (Exception exception)
            {
                throw new MessageMappingException($"Failed to map message {message.Id} using message mapper {_messageMapper.GetType().FullName} for type {typeof(TRequest).FullName} ", exception);
            }

            return(request);
        }