public void CreateErrorReportBasic() { ErrorReport report = CreateBasicErrorReport(); string reportXml = report.Serialize(); report = ErrorReport.Deserialize(reportXml); }
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 can_dehydrate_and_rehydrate_itself() { var data = report.Serialize(); var report2 = ErrorReport.Deserialize(data); report2.Explanation.ShouldEqual(report.Explanation); report2.ExceptionMessage.ShouldEqual(report.ExceptionMessage); report2.ExceptionType.ShouldEqual(report.ExceptionType); report2.RawData.ShouldEqual(report.RawData); foreach (string key in report.Headers.Keys) { report2.Headers.Get(key).ShouldEqual(report.Headers.Get(key)); } }
public void requeues_then_moves_to_error_queue() { Wait.Until(() => TestMessageRecorder.HasProcessed(message1)).ShouldBeTrue(); Wait.Until(() => TestMessageRecorder.AllProcessed.Length == 5).ShouldBeTrue(); var scope = _queueManager.BeginTransactionalScope(); var message = scope.Receive(LightningQueuesTransport.ErrorQueueName, 5.Seconds()); message.ShouldNotBeNull(); var report = ErrorReport.Deserialize(message.Data); message.Headers.Get("ExceptionType").ShouldEqual("System.InvalidOperationException"); report.RawData.ShouldNotBeNull(); }
public async Task requeues_then_moves_to_error_queue() { Wait.Until(() => TestMessageRecorder.HasProcessed(message1)).ShouldBeTrue(); //todo need timeout var messageContext = await _queueManager.Receive(LightningQueuesTransport.ErrorQueueName).FirstAsync(); var message = messageContext.Message; message.ShouldNotBeNull(); var report = ErrorReport.Deserialize(message.Data); message.Headers.Get("ExceptionType").ShouldBe("System.InvalidOperationException"); report.RawData.ShouldNotBeNull(); }
private void HandleDroppedFile(object data) { _viewModel.ErrorReports.Clear(); foreach (string fileName in (string[])data) { try { ErrorReport report = ErrorReport.Deserialize(File.ReadAllText(fileName)); _viewModel.AddSingleErrorReport(report); } catch (System.Exception) { // TODO: Handling (message box). } } }
public QueueMessageVisualization get_message_Port_QueueName_SourceInstanceId_MessageId(MessageInputModel input) { var messageId = MessageId.Parse($"{input.SourceInstanceId}/{input.MessageId}"); var message = retrieveMessage(messageId, input.Port, input.QueueName); if (message == null) { return(new QueueMessageVisualization { NotFound = true }); } var model = new QueueMessageVisualization { MessageId = messageId, QueueName = message.Queue, SentAt = message.SentAt, Headers = message.Headers, Port = input.Port }; try { object payload; var envelope = message.ToEnvelope(); envelope.UseSerializer(_serializer); if (input.QueueName == "errors") { var errorReport = ErrorReport.Deserialize(message.Data); message = new Message { Data = errorReport.RawData, Headers = errorReport.Headers, Id = messageId, Queue = input.QueueName, }; envelope = message.ToEnvelope(); var originalMessage = _serializer.Deserialize(envelope); var errorSummary = new ErrorSummary { exceptiontype = errorReport.ExceptionType, exceptionmessage = errorReport.ExceptionMessage, exceptiontext = errorReport.ExceptionText, originalmessage = originalMessage }; payload = errorSummary; } else { payload = envelope.Message; } model.Payload = JsonSerialization.ToJson(payload, true); } catch (Exception) { model.Payload = "Could not render as JSON"; } return(model); }