public void EmptyOrNullDataDoesNotCauseException() { var result = DataExtractor.GetBasicMessageData(null); Assert.IsNotNull(result, "result must not be null"); var data = new byte[0]; result = DataExtractor.GetBasicMessageData(data); Assert.IsNotNull(result, "result must not be null"); }
/// <summary> /// Handles the <see cref="IMessageReceiver.FeedMessageDeserializationFailed" /> event. /// </summary> /// <param name="sender">A <see cref="object"/> representation of the instance raising the event.</param> /// <param name="eventArgs">The <see cref="MessageDeserializationFailedEventArgs"/> instance containing the event data.</param> private void OnFeedMessageDeserializationFailed(object sender, MessageDeserializationFailedEventArgs eventArgs) { var rawData = eventArgs.RawData as byte[] ?? eventArgs.RawData.ToArray(); var basicMessageData = _messageDataExtractor.GetBasicMessageData(rawData); _log.LogInformation($"Extracted the following data from unparsed message data: [{basicMessageData}], raising OnUnparsableMessageReceived event"); var dispatchmentEventArgs = new UnparsableMessageEventArgs(basicMessageData.MessageType, basicMessageData.ProducerId, basicMessageData.EventId, rawData); Dispatch(UnparsableMessageReceived, dispatchmentEventArgs, "OnUnparsableMessageReceived"); }
/// <summary> /// Handles the <see cref="IMessageReceiver.FeedMessageDeserializationFailed" /> event. /// </summary> /// <param name="sender">A <see cref="object"/> representation of the instance raising the event.</param> /// <param name="eventArgs">The <see cref="MessageDeserializationFailedEventArgs"/> instance containing the event data.</param> private void OnMessageDeserializationFailed(object sender, MessageDeserializationFailedEventArgs eventArgs) { var rawData = eventArgs.RawData as byte[] ?? eventArgs.RawData.ToArray(); var basicMessageData = _messageDataExtractor.GetBasicMessageData(rawData); ExecutionLog.LogInformation($"{WriteMessageInterest()}Extracted the following data from unparsed message data: [{basicMessageData}], raising OnUnparsableMessageReceived event"); var dispatchmentEventArgs = new UnparsableMessageEventArgs(basicMessageData.MessageType, basicMessageData.ProducerId, basicMessageData.EventId, rawData); var producerId = 0; if (!string.IsNullOrEmpty(basicMessageData.ProducerId)) { int.TryParse(basicMessageData.ProducerId, out producerId); } Dispatch(OnUnparsableMessageReceived, dispatchmentEventArgs, "OnUnparsableMessageReceived", producerId); }