mirror of
https://github.com/nushell/nushell
synced 2024-12-25 12:33:17 +00:00
Add tests to test the --max-age
arg in http commands (#14245)
- fixes #14241 Signed-off-by: Alex Johnson <alex.kattathra.johnson@gmail.com>
This commit is contained in:
parent
8b19399b13
commit
22ca5a6b8d
6 changed files with 132 additions and 0 deletions
|
@ -1,3 +1,5 @@
|
|||
use std::{thread, time::Duration};
|
||||
|
||||
use mockito::Server;
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
|
@ -122,3 +124,21 @@ fn http_delete_redirect_mode_error() {
|
|||
"Redirect encountered when redirect handling mode was 'error' (301 Moved Permanently)"
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_delete_timeout() {
|
||||
let mut server = Server::new();
|
||||
let _mock = server
|
||||
.mock("DELETE", "/")
|
||||
.with_chunked_body(|w| {
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
w.write_all(b"Delayed response!")
|
||||
})
|
||||
.create();
|
||||
|
||||
let actual = nu!(pipeline(
|
||||
format!("http delete --max-time 500ms {url}", url = server.url()).as_str()
|
||||
));
|
||||
|
||||
assert!(&actual.err.contains("nu::shell::io_error"));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::{thread, time::Duration};
|
||||
|
||||
use mockito::Server;
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
|
@ -316,3 +318,21 @@ fn http_get_with_unknown_mime_type() {
|
|||
|
||||
assert_eq!(actual.out, "[1,2,3]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_get_timeout() {
|
||||
let mut server = Server::new();
|
||||
let _mock = server
|
||||
.mock("GET", "/")
|
||||
.with_chunked_body(|w| {
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
w.write_all(b"Delayed response!")
|
||||
})
|
||||
.create();
|
||||
|
||||
let actual = nu!(pipeline(
|
||||
format!("http get --max-time 500ms {url}", url = server.url()).as_str()
|
||||
));
|
||||
|
||||
assert!(&actual.err.contains("nu::shell::io_error"));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::{thread, time::Duration};
|
||||
|
||||
use mockito::Server;
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
|
@ -41,3 +43,21 @@ fn http_options_failed_due_to_server_error() {
|
|||
|
||||
assert!(actual.err.contains("Bad request (400)"))
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_options_timeout() {
|
||||
let mut server = Server::new();
|
||||
let _mock = server
|
||||
.mock("OPTIONS", "/")
|
||||
.with_chunked_body(|w| {
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
w.write_all(b"Delayed response!")
|
||||
})
|
||||
.create();
|
||||
|
||||
let actual = nu!(pipeline(
|
||||
format!("http options --max-time 500ms {url}", url = server.url()).as_str()
|
||||
));
|
||||
|
||||
assert!(&actual.err.contains("nu::shell::io_error"));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::{thread, time::Duration};
|
||||
|
||||
use mockito::Server;
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
|
@ -162,3 +164,25 @@ fn http_patch_redirect_mode_error() {
|
|||
"Redirect encountered when redirect handling mode was 'error' (301 Moved Permanently)"
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_patch_timeout() {
|
||||
let mut server = Server::new();
|
||||
let _mock = server
|
||||
.mock("PATCH", "/")
|
||||
.with_chunked_body(|w| {
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
w.write_all(b"Delayed response!")
|
||||
})
|
||||
.create();
|
||||
|
||||
let actual = nu!(pipeline(
|
||||
format!(
|
||||
"http patch --max-time 500ms {url} patchbody",
|
||||
url = server.url()
|
||||
)
|
||||
.as_str()
|
||||
));
|
||||
|
||||
assert!(&actual.err.contains("nu::shell::io_error"));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::{thread, time::Duration};
|
||||
|
||||
use mockito::{Matcher, Server, ServerOpts};
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
|
@ -276,3 +278,25 @@ fn http_post_multipart_is_success() {
|
|||
|
||||
assert!(actual.out.is_empty())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_post_timeout() {
|
||||
let mut server = Server::new();
|
||||
let _mock = server
|
||||
.mock("POST", "/")
|
||||
.with_chunked_body(|w| {
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
w.write_all(b"Delayed response!")
|
||||
})
|
||||
.create();
|
||||
|
||||
let actual = nu!(pipeline(
|
||||
format!(
|
||||
"http post --max-time 500ms {url} postbody",
|
||||
url = server.url()
|
||||
)
|
||||
.as_str()
|
||||
));
|
||||
|
||||
assert!(&actual.err.contains("nu::shell::io_error"));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::{thread, time::Duration};
|
||||
|
||||
use mockito::Server;
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
|
@ -162,3 +164,25 @@ fn http_put_redirect_mode_error() {
|
|||
"Redirect encountered when redirect handling mode was 'error' (301 Moved Permanently)"
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_put_timeout() {
|
||||
let mut server = Server::new();
|
||||
let _mock = server
|
||||
.mock("PUT", "/")
|
||||
.with_chunked_body(|w| {
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
w.write_all(b"Delayed response!")
|
||||
})
|
||||
.create();
|
||||
|
||||
let actual = nu!(pipeline(
|
||||
format!(
|
||||
"http put --max-time 500ms {url} putbody",
|
||||
url = server.url()
|
||||
)
|
||||
.as_str()
|
||||
));
|
||||
|
||||
assert!(&actual.err.contains("nu::shell::io_error"));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue