1mod generated {
2 #![allow(clippy::all, unused)]
3 include!(concat!(env!("OUT_DIR"), "/codegen.rs"));
4}
5pub use generated::*;
6
7mod retry;
8pub use retry::RetryPolicy;
9
10use progenitor_client::{ClientHooks, OperationInfo};
13
14impl ClientHooks<RetryPolicy> for Client {
17 async fn exec(
18 &self,
19 request: reqwest::Request,
20 info: &OperationInfo,
21 ) -> reqwest::Result<reqwest::Response> {
22 retry::execute_with_retry(
23 self.client(),
24 self.inner(),
25 self.baseurl(),
26 request,
27 info.operation_id,
28 )
29 .await
30 }
31}
32
33#[cfg(test)]
34mod tests {
35 use super::types::CheckpointMetadata;
36
37 #[test]
43 fn checkpoint_metadata_accepts_fingerprint_above_i64_max() {
44 let raw = r#"{
45 "uuid": "00000000-0000-0000-0000-000000000000",
46 "fingerprint": 14128757731148314856
47 }"#;
48 let metadata: CheckpointMetadata = serde_json::from_str(raw).unwrap();
49 assert_eq!(metadata.fingerprint, 14128757731148314856);
50 }
51}