mirror of
https://github.com/YGGverse/agate.git
synced 2026-04-08 20:45:29 +00:00
add more tests
This commit is contained in:
parent
3c6684d54c
commit
9925d927a4
5 changed files with 154 additions and 7 deletions
5
Cargo.lock
generated
5
Cargo.lock
generated
|
|
@ -147,9 +147,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gemini-fetch"
|
name = "gemini-fetch"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/Johann150/gemini-fetch.git#5b5d986a857bfb1c444892d56c1946b353987f1c"
|
||||||
checksum = "cc9dc5c196fd09461b039356a198fb59d55a8edcefdc5dd81ca763c0e8a04625"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"ring",
|
"ring",
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ configparser = "2.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
assert_cmd = "1.0"
|
assert_cmd = "1.0"
|
||||||
gemini-fetch = "0.2.0"
|
gemini-fetch = { version = "0.2.1", git = "https://github.com/Johann150/gemini-fetch.git" }
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# test setting a mime type
|
# test setting a mime type
|
||||||
index.gmi: text/gemini
|
test: text/html
|
||||||
# test globs and setting parameters
|
# test globs and setting parameters
|
||||||
*.de.gmi: ;lang=de
|
*.de.gmi: ;lang=de
|
||||||
# test double star globs
|
# test double star globs
|
||||||
|
|
|
||||||
0
tests/data/content/test
Normal file
0
tests/data/content/test
Normal file
152
tests/tests.rs
152
tests/tests.rs
|
|
@ -83,6 +83,154 @@ fn index_page() {
|
||||||
.unwrap()
|
.unwrap()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
println!("{:?}", page);
|
|
||||||
|
#[test]
|
||||||
|
fn meta() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1966"],
|
||||||
|
addr(1966),
|
||||||
|
"gemini://localhost/test",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
page.header,
|
||||||
|
Header {
|
||||||
|
status: Status::Success,
|
||||||
|
meta: "text/html".to_string(),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn meta_param() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1967"],
|
||||||
|
addr(1967),
|
||||||
|
"gemini://localhost/test.gmi",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
page.header,
|
||||||
|
Header {
|
||||||
|
status: Status::Success,
|
||||||
|
meta: "text/gemini;lang=en ;charset=us-ascii".to_string(),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn glob() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1968"],
|
||||||
|
addr(1968),
|
||||||
|
"gemini://localhost/test.de.gmi",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
page.header,
|
||||||
|
Header {
|
||||||
|
status: Status::Success,
|
||||||
|
meta: "text/gemini;lang=de".to_string(),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn doubleglob() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1969", "-C"],
|
||||||
|
addr(1969),
|
||||||
|
"gemini://localhost/testdir/a.nl.gmi",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
page.header,
|
||||||
|
Header {
|
||||||
|
status: Status::Success,
|
||||||
|
meta: "text/gemini;lang=nl".to_string(),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn full_header_preset() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1970"],
|
||||||
|
addr(1970),
|
||||||
|
"gemini://localhost/gone.txt",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
page.header,
|
||||||
|
Header {
|
||||||
|
status: Status::Gone,
|
||||||
|
meta: "This file is no longer available.".to_string(),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn hostname_check() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1971", "--hostname", "example.org"],
|
||||||
|
addr(1971),
|
||||||
|
"gemini://example.com/",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(page.header.status, Status::ProxyRequestRefused);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn port_check() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1972", "--hostname", "example.org"],
|
||||||
|
addr(1972),
|
||||||
|
"gemini://example.org:1971/",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(page.header.status, Status::ProxyRequestRefused);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn secret_nonexistent() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1973"],
|
||||||
|
addr(1973),
|
||||||
|
"gemini://localhost/.secret",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(page.header.status, Status::Gone);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn secret_exists() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1974"],
|
||||||
|
addr(1974),
|
||||||
|
"gemini://localhost/.meta",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(page.header.status, Status::Gone);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn serve_secret() {
|
||||||
|
let page = get(
|
||||||
|
&["--addr", "[::]:1975", "--serve-secret"],
|
||||||
|
addr(1975),
|
||||||
|
"gemini://localhost/.meta",
|
||||||
|
)
|
||||||
|
.expect("could not get page");
|
||||||
|
|
||||||
|
assert_eq!(page.header.status, Status::Success);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue