//Here we will process the rejected messages and see if that's ok or not protected void ProcessReject(object param) { try { lock (TimeoutOrders) { Wrapper rejectWrapper = (Wrapper)param; string key = (string)rejectWrapper.GetField(RejectFields.KEY); string text = (string)rejectWrapper.GetField(RejectFields.Text); if (TimeoutOrders.ContainsKey(key)) { TimeoutOrders.Remove(key); } if (MessageOk.ContainsKey(key)) { string refTag = (string)rejectWrapper.GetField(RejectFields.RefTagID); //We expected the message to be ok but it was ejected DoLog(string.Format("<{0}>-Test case FAILED for Order ClOrdId = {1}. We expected the order to be ok but it was rejected. Reason={2} Tag={3}", Configuration.Name, key, text, refTag != null ? refTag : "??"), Constants.MessageType.AssertFailed); } if (MissingTags.ContainsKey(key)) { string refTag = (string)rejectWrapper.GetField(RejectFields.RefTagID); if (MissingTags[key] == refTag) { DoLog(string.Format("<{0}>-Test case OK for ClOrdId ={1}. Expected to have a message rejected for missing tag ={2} and it was rejected for that tag", Configuration.Name, key, refTag), Constants.MessageType.AssertOk); } else { DoLog(string.Format("<{0}>-Test case FAILED for ClOrdId ={1}. Expected to have a message rejected for missing tag ={2} but it was rejected for tag {3}", Configuration.Name, key, MissingTags[key], refTag), Constants.MessageType.AssertFailed); } } if (ExtraTags.ContainsKey(key)) { //Validar que el error es por Extra Tags } } } catch (Exception ex) { DoLog(string.Format("{0}-Critical error processing a reject:{1}", Configuration.Name, ex.Message), Constants.MessageType.Error); } }
protected void ProcessExecutionReport(object param) { try { lock (TimeoutOrders) { Wrapper erWrapper = (Wrapper)param; string key = (string)erWrapper.GetField(ExecutionReportFields.KEY); if (TimeoutOrders.ContainsKey(key)) { TimeoutOrders.Remove(key); } if (MessageOk.ContainsKey(key)) { //We expected the message to be ok but it was ejected DoLog(string.Format("<{0}>-Test case OK for Order ClOrdId = {1}. We expected a valid ER and that was received.", Configuration.Name, key), Constants.MessageType.AssertOk); } if (MissingTags.ContainsKey(key)) { DoLog(string.Format("<{0}>-Test case FAILED for ClOrdId ={1}. Expected a missing tag {2} but received an Ok Execution Report", Configuration.Name, key, MissingTags[key]), Constants.MessageType.AssertFailed); } if (ExtraTags.ContainsKey(key)) { DoLog(string.Format("<{0}>-Test case FAILED for ClOrdId ={1}. Expected an extra tag {2} but received an Ok Execution Report", Configuration.Name, key, ExtraTags[key]), Constants.MessageType.AssertFailed); } } } catch (Exception ex) { DoLog(string.Format("{0}-Critical error processing a execution report:{1}", Configuration.Name, ex.Message), Constants.MessageType.Error); } }