batch_mode_batch_triple/
retry_failed_requests.rs1crate::ix!();
3
4impl BatchFileTriple {
5
6 pub async fn retry_failed_requests(&self, error_data: &BatchErrorData)
7 -> Result<(), BatchErrorProcessingError>
8 {
9 let _failed_requests = error_data.responses().iter().collect::<Vec<_>>();
11 Ok(())
14 }
15}
16
17#[cfg(test)]
18mod batch_file_triple_retry_failed_requests_exhaustive_tests {
19 use super::*;
20 use serde_json::json;
21
22 #[traced_test]
23 async fn retry_failed_requests_handles_empty_data() {
24 trace!("===== BEGIN TEST: retry_failed_requests_handles_empty_data =====");
25 let triple = make_mock_batch_file_triple();
26 let empty_error_data = BatchErrorData::new(vec![]);
27 let res = triple.retry_failed_requests(&empty_error_data).await;
28 debug!("Result of retry_failed_requests on empty data: {:?}", res);
29 assert!(res.is_ok(), "Should succeed with empty data");
30 trace!("===== END TEST: retry_failed_requests_handles_empty_data =====");
31 }
32
33 #[traced_test]
34 async fn retry_failed_requests_no_op_for_error_data() {
35 trace!("===== BEGIN TEST: retry_failed_requests_no_op_for_error_data =====");
36 let triple = make_mock_batch_file_triple();
37
38 let error_response = BatchResponseRecord::mock_with_code_and_body(
41 "req-99",
42 400,
43 &json!({
44 "error": {
45 "message": "Retry me",
46 "type": "test_error",
47 "param": null,
48 "code": null
49 }
50 }),
51 );
52 let error_data = BatchErrorData::new(vec![error_response]);
53
54 let res = triple.retry_failed_requests(&error_data).await;
56 debug!("Result of retry_failed_requests call: {:?}", res);
57 assert!(res.is_ok(), "Method is a no-op but should still succeed");
58 trace!("===== END TEST: retry_failed_requests_no_op_for_error_data =====");
59 }
60}