mirror of
https://github.com/nushell/nushell
synced 2024-12-26 04:53:09 +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 mockito::Server;
|
||||||
use nu_test_support::{nu, pipeline};
|
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)"
|
"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 mockito::Server;
|
||||||
use nu_test_support::{nu, pipeline};
|
use nu_test_support::{nu, pipeline};
|
||||||
|
|
||||||
|
@ -316,3 +318,21 @@ fn http_get_with_unknown_mime_type() {
|
||||||
|
|
||||||
assert_eq!(actual.out, "[1,2,3]");
|
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 mockito::Server;
|
||||||
use nu_test_support::{nu, pipeline};
|
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)"))
|
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 mockito::Server;
|
||||||
use nu_test_support::{nu, pipeline};
|
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)"
|
"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 mockito::{Matcher, Server, ServerOpts};
|
||||||
use nu_test_support::{nu, pipeline};
|
use nu_test_support::{nu, pipeline};
|
||||||
|
|
||||||
|
@ -276,3 +278,25 @@ fn http_post_multipart_is_success() {
|
||||||
|
|
||||||
assert!(actual.out.is_empty())
|
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 mockito::Server;
|
||||||
use nu_test_support::{nu, pipeline};
|
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)"
|
"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