public ErrorQueueMessageVisualization get_error_message_details_Port_QueueName_SourceInstanceId_MessageId( ErrorMessageInputModel input) { var messageId = new MessageId { MessageIdentifier = input.MessageId, SourceInstanceId = input.SourceInstanceId }; var message = RetrieveMessage(messageId, input.Port, input.QueueName); if (message == null) { _fubuRequest.Set(new QueueMessageNotFound { Id = messageId, QueueName = input.QueueName }); return null; } var errorReport = ErrorReport.Deserialize(message.Data); var exceptionDetails = new ExceptionDetails { Explanation = errorReport.Explanation, ExceptionType = errorReport.ExceptionType, ExceptionMessage = errorReport.ExceptionMessage, ExceptionText = errorReport.ExceptionText }; var envelope = new Envelope(new NameValueHeaders(message.Headers)) {Data = errorReport.RawData}; envelope.UseSerializer(_serializer); return new ErrorQueueMessageVisualization { MessageId = messageId, QueueName = message.Queue, SubQueueName = message.SubQueue, Status = message.Status, SentAt = message.SentAt, Headers = message.Headers, Payload = envelope.Message, ExceptionDetails = exceptionDetails }; }
public void use_serializer() { var envelope = new Envelope { Data = new byte[] {1, 2, 3, 4} }; var serializer = MockRepository.GenerateMock<IEnvelopeSerializer>(); var theExpectedMessage = new object(); serializer.Stub(x => x.Deserialize(envelope)).Return(theExpectedMessage); envelope.UseSerializer(serializer); envelope.Message.ShouldBeTheSameAs(theExpectedMessage); }