|
1 | 1 | use crate::common::actions::when; |
2 | 2 | use crate::common::assertions::then; |
3 | 3 | use crate::common::setup::given_an_active_session; |
4 | | -use crate::common::test_messages::TestMessage; |
| 4 | +use crate::common::test_messages::{TestMessage, replace_field_value}; |
5 | 5 | use hotfix::message::{FixMessage, generate_message}; |
6 | 6 | use hotfix::session::Status; |
7 | 7 | use hotfix_message::dict::{FieldLocation, FixDatatype}; |
@@ -126,23 +126,7 @@ fn build_execution_report_with_incorrect_body_length( |
126 | 126 | let mut raw_message = |
127 | 127 | generate_message(sender_comp_id, target_comp_id, msg_seq_num, report).unwrap(); |
128 | 128 |
|
129 | | - let message_str = String::from_utf8(raw_message.clone()).unwrap(); |
130 | | - |
131 | | - let body_length_start = message_str.find("9=").unwrap(); |
132 | | - let body_length_end = |
133 | | - body_length_start + message_str[body_length_start..].find('\x01').unwrap(); |
134 | | - |
135 | | - let original_body_length = &message_str[body_length_start + 2..body_length_end]; |
136 | | - |
137 | | - // parse the original body length and make it incorrect (add 10 to it) |
138 | | - if let Ok(original_length) = original_body_length.parse::<u32>() { |
139 | | - let incorrect_length = original_length + 10; |
140 | | - let corrupted_message = message_str.replace( |
141 | | - &format!("9={}", original_length), |
142 | | - &format!("9={}", incorrect_length), |
143 | | - ); |
144 | | - raw_message = corrupted_message.into_bytes(); |
145 | | - } |
| 129 | + replace_field_value(&mut raw_message, 9, b"999"); |
146 | 130 |
|
147 | 131 | raw_message |
148 | 132 | } |
0 commit comments