Skip to content

Commit 3eba1ce

Browse files
tclemCopilot
andcommitted
Address review feedback on reqwest error mapping tests
- Use localhost TcpListener instead of non-routable IP for timeout test - Fix misleading comment on builder error test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 554c8f5 commit 3eba1ce

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

crates/twirp/src/error.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -407,12 +407,20 @@ mod test {
407407

408408
#[tokio::test]
409409
async fn reqwest_timeout_error_maps_to_unavailable() {
410+
// Bind a listener that accepts but never responds, guaranteeing a timeout.
411+
let listener = std::net::TcpListener::bind("127.0.0.1:0").unwrap();
412+
let addr = listener.local_addr().unwrap();
413+
let _accept_thread = std::thread::spawn(move || {
414+
let (_stream, _) = listener.accept().unwrap();
415+
std::thread::sleep(std::time::Duration::from_secs(60));
416+
});
417+
410418
let client = reqwest::Client::builder()
411-
.timeout(std::time::Duration::from_nanos(1))
419+
.timeout(std::time::Duration::from_millis(1))
412420
.build()
413421
.unwrap();
414422
let err = client
415-
.get("http://192.0.2.1") // RFC 5737 TEST-NET, non-routable
423+
.get(format!("http://{addr}"))
416424
.send()
417425
.await
418426
.unwrap_err();
@@ -422,7 +430,7 @@ mod test {
422430

423431
#[test]
424432
fn reqwest_builder_error_maps_to_invalid_argument() {
425-
// An invalid URL scheme triggers a builder error
433+
// An empty URL string triggers a builder error
426434
let err = reqwest::Client::builder()
427435
.build()
428436
.unwrap()

0 commit comments

Comments
 (0)