From 869a784b593116d33b6e133a5dbe9169d2beec80 Mon Sep 17 00:00:00 2001 From: Johann150 Date: Thu, 8 Apr 2021 00:11:47 +0200 Subject: [PATCH] add tests for fragment and userinfo URLs --- tests/tests.rs | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tests/tests.rs b/tests/tests.rs index 7006935..817419f 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -244,6 +244,45 @@ fn full_header_preset() { ); } +#[test] +/// - URLS with fragments are rejected +fn fragment() { + let page = get( + &["--addr", "[::]:1983", "--hostname", "example.com"], + addr(1983), + "gemini://example.com/#fragment", + ) + .expect("could not get page"); + + assert_eq!(page.header.status, Status::BadRequest); +} + +#[test] +/// - URLS with username are rejected +fn username() { + let page = get( + &["--addr", "[::]:1984", "--hostname", "example.com"], + addr(1984), + "gemini://user@example.com/", + ) + .expect("could not get page"); + + assert_eq!(page.header.status, Status::BadRequest); +} + +#[test] +/// - URLS with password are rejected +fn password() { + let page = get( + &["--addr", "[::]:1984", "--hostname", "example.com"], + addr(1984), + "gemini://:secret@example.com/", + ) + .expect("could not get page"); + + assert_eq!(page.header.status, Status::BadRequest); +} + #[test] /// - hostname is checked when provided /// - status for wrong host is "proxy request refused"