summaryrefslogtreecommitdiff
path: root/tests/integration
diff options
context:
space:
mode:
authorMarvin Hagemeister <marvin@deno.com>2024-05-17 14:35:19 +0200
committerGitHub <noreply@github.com>2024-05-17 18:05:19 +0530
commit812f2e4c22182fdbaf783dba3cc9d178783eced7 (patch)
tree5c0f7123981248b088b7bf007bca0cb9748e5699 /tests/integration
parent20cb0e8863beb0d709adc2f41905ce3f1f465447 (diff)
fix: serve handler error with 0 arguments (#23652)
Fixes https://github.com/denoland/deno/issues/23651 Co-authored-by: Satya Rohith <me@satyarohith.com>
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/serve_tests.rs47
1 files changed, 45 insertions, 2 deletions
diff --git a/tests/integration/serve_tests.rs b/tests/integration/serve_tests.rs
index 92b0576ed..85de068c9 100644
--- a/tests/integration/serve_tests.rs
+++ b/tests/integration/serve_tests.rs
@@ -14,12 +14,12 @@ async fn deno_serve_port_0() {
.arg("serve")
.arg("--port")
.arg("0")
- .arg("./serve.ts")
+ .arg("./serve/port_0.ts")
.stdout_piped()
.spawn()
.unwrap();
let stdout = child.stdout.as_mut().unwrap();
- let mut buffer = [0; 50];
+ let mut buffer = [0; 52];
let _read = stdout.read(&mut buffer).unwrap();
let msg = std::str::from_utf8(&buffer).unwrap();
let port_regex = Regex::new(r"(\d+)").unwrap();
@@ -49,3 +49,46 @@ async fn deno_serve_port_0() {
child.kill().unwrap();
child.wait().unwrap();
}
+
+#[tokio::test]
+async fn deno_serve_no_args() {
+ let mut child = util::deno_cmd()
+ .current_dir(util::testdata_path())
+ .arg("serve")
+ .arg("--port")
+ .arg("0")
+ .arg("./serve/no_args.ts")
+ .stdout_piped()
+ .spawn()
+ .unwrap();
+ let stdout = child.stdout.as_mut().unwrap();
+ let mut buffer = [0; 52];
+ let _read = stdout.read(&mut buffer).unwrap();
+ let msg = std::str::from_utf8(&buffer).unwrap();
+ let port_regex = Regex::new(r"(\d+)").unwrap();
+ let port = port_regex.find(msg).unwrap().as_str();
+
+ let cert = reqwest::Certificate::from_pem(include_bytes!(
+ "../testdata/tls/RootCA.crt"
+ ))
+ .unwrap();
+
+ let client = reqwest::Client::builder()
+ .add_root_certificate(cert)
+ .http2_prior_knowledge()
+ .build()
+ .unwrap();
+
+ let res = client
+ .get(&format!("http://127.0.0.1:{port}"))
+ .send()
+ .await
+ .unwrap();
+ assert_eq!(200, res.status());
+
+ let body = res.text().await.unwrap();
+ assert_eq!(body, "deno serve with no args in fetch() works!");
+
+ child.kill().unwrap();
+ child.wait().unwrap();
+}