Skip to content
Prev Previous commit
Next Next commit
fix tests...
  • Loading branch information
katrinafyi committed Aug 31, 2025
commit 460541d62967dba81d51890ec141a42cfff667db
6 changes: 3 additions & 3 deletions lychee-bin/src/commands/check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ mod tests {
use crate::{formatters::get_response_formatter, options};
use http::StatusCode;
use log::info;
use lychee_lib::{CacheStatus, ClientBuilder, ErrorKind, InputSource, Uri};
use lychee_lib::{CacheStatus, ClientBuilder, ErrorKind, ResolvedInputSource, Uri};

use super::*;

Expand All @@ -408,7 +408,7 @@ mod tests {
let response = Response::new(
Uri::try_from("http://127.0.0.1").unwrap(),
Status::Cached(CacheStatus::Ok(200)),
InputSource::Stdin,
ResolvedInputSource::Stdin,
);
let formatter = get_response_formatter(&options::OutputMode::Plain);
show_progress(
Expand All @@ -430,7 +430,7 @@ mod tests {
let response = Response::new(
Uri::try_from("http://127.0.0.1").unwrap(),
Status::Cached(CacheStatus::Ok(200)),
InputSource::Stdin,
ResolvedInputSource::Stdin,
);
let formatter = get_response_formatter(&options::OutputMode::Plain);
show_progress(
Expand Down
6 changes: 4 additions & 2 deletions lychee-bin/src/formatters/stats/markdown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,9 @@ impl StatsFormatter for Markdown {
#[cfg(test)]
mod tests {
use http::StatusCode;
use lychee_lib::{CacheStatus, InputSource, Response, ResponseBody, Status, Uri};
use lychee_lib::{
CacheStatus, InputSource, ResolvedInputSource, Response, ResponseBody, Status, Uri,
};
use reqwest::Url;

use crate::formatters::suggestion::Suggestion;
Expand Down Expand Up @@ -219,7 +221,7 @@ mod tests {
let response = Response::new(
Uri::try_from("http://127.0.0.1").unwrap(),
Status::Cached(CacheStatus::Error(Some(404))),
InputSource::Stdin,
ResolvedInputSource::Stdin,
);
stats.add(response);
stats
Expand Down
20 changes: 13 additions & 7 deletions lychee-bin/src/formatters/stats/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,14 @@ where
mod tests {
use super::*;

use lychee_lib::{ErrorKind, Response, Status, Uri};
use lychee_lib::{ErrorKind, ResolvedInputSource, Response, Status, Uri};
use url::Url;

fn make_test_url(url: &str) -> Url {
Url::parse(url).expect("Expected valid Website URI")
}

fn make_test_response(url_str: &str, source: InputSource) -> Response {
fn make_test_response(url_str: &str, source: ResolvedInputSource) -> Response {
let uri = Uri::from(make_test_url(url_str));

Response::new(uri, Status::Error(ErrorKind::TestError), source)
Expand All @@ -74,12 +74,18 @@ mod tests {

// Sorted list of test sources
let test_sources = vec![
InputSource::RemoteUrl(Box::new(make_test_url("https://example.com/404"))),
InputSource::RemoteUrl(Box::new(make_test_url("https://example.com/home"))),
InputSource::RemoteUrl(Box::new(make_test_url("https://example.com/page/1"))),
InputSource::RemoteUrl(Box::new(make_test_url("https://example.com/page/10"))),
ResolvedInputSource::RemoteUrl(Box::new(make_test_url("https://example.com/404"))),
ResolvedInputSource::RemoteUrl(Box::new(make_test_url("https://example.com/home"))),
ResolvedInputSource::RemoteUrl(Box::new(make_test_url("https://example.com/page/1"))),
ResolvedInputSource::RemoteUrl(Box::new(make_test_url("https://example.com/page/10"))),
];

let unresolved_test_sources: Vec<InputSource> = test_sources
.iter()
.map(Clone::clone)
.map(Into::<InputSource>::into)
.collect();

// Sorted list of test responses
let test_response_urls = vec![
"https://example.com/",
Expand All @@ -104,7 +110,7 @@ mod tests {
.collect();

// Check that the input sources are sorted
assert_eq!(test_sources, sorted_sources);
assert_eq!(unresolved_test_sources, sorted_sources);

// Check that the responses are sorted
for (_, response_bodies) in sorted_errors {
Expand Down
17 changes: 11 additions & 6 deletions lychee-bin/src/stats.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,9 @@ mod tests {
use std::collections::{HashMap, HashSet};

use http::StatusCode;
use lychee_lib::{ErrorKind, InputSource, Response, ResponseBody, Status, Uri};
use lychee_lib::{
ErrorKind, InputSource, ResolvedInputSource, Response, ResponseBody, Status, Uri,
};
use reqwest::Url;

use super::ResponseStats;
Expand All @@ -140,7 +142,7 @@ mod tests {
// and it's a lot faster to just generate a fake response
fn mock_response(status: Status) -> Response {
let uri = website("https://some-url.com/ok");
Response::new(uri, status, InputSource::Stdin)
Response::new(uri, status, ResolvedInputSource::Stdin)
}

fn dummy_ok() -> Response {
Expand Down Expand Up @@ -176,7 +178,10 @@ mod tests {

let response = dummy_error();
let expected_error_map: HashMap<InputSource, HashSet<ResponseBody>> =
HashMap::from_iter([(response.source().clone(), HashSet::from_iter([response.1]))]);
HashMap::from_iter([(
response.source().clone().into(),
HashSet::from_iter([response.1]),
)]);
assert_eq!(stats.error_map, expected_error_map);

assert!(stats.success_map.is_empty());
Expand All @@ -196,23 +201,23 @@ mod tests {
let mut expected_error_map: HashMap<InputSource, HashSet<ResponseBody>> = HashMap::new();
let response = dummy_error();
let entry = expected_error_map
.entry(response.source().clone())
.entry(response.source().clone().into())
.or_default();
entry.insert(response.1);
assert_eq!(stats.error_map, expected_error_map);

let mut expected_success_map: HashMap<InputSource, HashSet<ResponseBody>> = HashMap::new();
let response = dummy_ok();
let entry = expected_success_map
.entry(response.source().clone())
.entry(response.source().clone().into())
.or_default();
entry.insert(response.1);
assert_eq!(stats.success_map, expected_success_map);

let mut expected_excluded_map: HashMap<InputSource, HashSet<ResponseBody>> = HashMap::new();
let response = dummy_excluded();
let entry = expected_excluded_map
.entry(response.source().clone())
.entry(response.source().clone().into())
.or_default();
entry.insert(response.1);
assert_eq!(stats.excluded_map, expected_excluded_map);
Expand Down
4 changes: 2 additions & 2 deletions lychee-lib/src/extract/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ mod tests {
use crate::{
Uri,
test_utils::{load_fixture, mail, website},
types::{FileType, InputContent, InputSource},
types::{FileType, InputContent, InputSource, ResolvedInputSource},
utils::url::find_links,
};

Expand Down Expand Up @@ -204,7 +204,7 @@ mod tests {

#[test]
fn test_extract_relative_url() {
let source = InputSource::RemoteUrl(Box::new(
let source = ResolvedInputSource::RemoteUrl(Box::new(
Url::parse("https://example.com/some-post").unwrap(),
));

Expand Down
2 changes: 1 addition & 1 deletion lychee-lib/src/types/input/input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ mod tests {
assert!(matches!(
input,
Ok(Input {
source: ResolvedInputSource::FsPath(PathBuf { .. }),
source: InputSource::FsPath(PathBuf { .. }),
file_type_hint: None,
})
));
Expand Down
25 changes: 13 additions & 12 deletions lychee-lib/src/utils/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ mod tests {
#[test]
fn test_relative_url_resolution_from_root_dir() {
let root_dir = PathBuf::from("/tmp/lychee");
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("relative.html")];
let requests = create(uris, &source, Some(&root_dir), None, None);
Expand All @@ -320,7 +320,7 @@ mod tests {
#[test]
fn test_absolute_url_resolution_from_root_dir() {
let root_dir = PathBuf::from("/tmp/lychee");
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("https://another.com/page")];
let requests = create(uris, &source, Some(&root_dir), None, None);
Expand All @@ -336,7 +336,7 @@ mod tests {
#[test]
fn test_root_relative_url_resolution_from_root_dir() {
let root_dir = PathBuf::from("/tmp/lychee");
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("/root-relative")];
let requests = create(uris, &source, Some(&root_dir), None, None);
Expand All @@ -352,7 +352,7 @@ mod tests {
#[test]
fn test_parent_directory_url_resolution_from_root_dir() {
let root_dir = PathBuf::from("/tmp/lychee");
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("../parent")];
let requests = create(uris, &source, Some(&root_dir), None, None);
Expand All @@ -368,7 +368,7 @@ mod tests {
#[test]
fn test_fragment_url_resolution_from_root_dir() {
let root_dir = PathBuf::from("/tmp/lychee");
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("#fragment")];
let requests = create(uris, &source, Some(&root_dir), None, None);
Expand All @@ -385,7 +385,7 @@ mod tests {
fn test_relative_url_resolution_from_root_dir_and_base_url() {
let root_dir = PathBuf::from("/tmp/lychee");
let base = Base::try_from("https://example.com/path/page.html").unwrap();
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("relative.html")];
let requests = create(uris, &source, Some(&root_dir), Some(&base), None);
Expand All @@ -402,7 +402,7 @@ mod tests {
fn test_absolute_url_resolution_from_root_dir_and_base_url() {
let root_dir = PathBuf::from("/tmp/lychee");
let base = Base::try_from("https://example.com/path/page.html").unwrap();
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("https://another.com/page")];
let requests = create(uris, &source, Some(&root_dir), Some(&base), None);
Expand All @@ -419,7 +419,7 @@ mod tests {
fn test_root_relative_url_resolution_from_root_dir_and_base_url() {
let root_dir = PathBuf::from("/tmp/lychee");
let base = Base::try_from("https://example.com/path/page.html").unwrap();
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("/root-relative")];
let requests = create(uris, &source, Some(&root_dir), Some(&base), None);
Expand All @@ -436,7 +436,7 @@ mod tests {
fn test_parent_directory_url_resolution_from_root_dir_and_base_url() {
let root_dir = PathBuf::from("/tmp/lychee");
let base = Base::try_from("https://example.com/path/page.html").unwrap();
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("../parent")];
let requests = create(uris, &source, Some(&root_dir), Some(&base), None);
Expand All @@ -453,7 +453,7 @@ mod tests {
fn test_fragment_url_resolution_from_root_dir_and_base_url() {
let root_dir = PathBuf::from("/tmp/lychee");
let base = Base::try_from("https://example.com/path/page.html").unwrap();
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"));
let source = ResolvedInputSource::FsPath(PathBuf::from("/some/page.html"), None);

let uris = vec![RawUri::from("#fragment")];
let requests = create(uris, &source, Some(&root_dir), Some(&base), None);
Expand Down Expand Up @@ -484,7 +484,7 @@ mod tests {
#[test]
fn test_create_request_from_relative_file_path() {
let base = Base::Local(PathBuf::from("/tmp/lychee"));
let input_source = ResolvedInputSource::FsPath(PathBuf::from("page.html"));
let input_source = ResolvedInputSource::FsPath(PathBuf::from("page.html"), None);

let actual = create_request(
&RawUri::from("file.html"),
Expand Down Expand Up @@ -512,7 +512,8 @@ mod tests {
#[test]
fn test_create_request_from_absolute_file_path() {
let base = Base::Local(PathBuf::from("/tmp/lychee"));
let input_source = ResolvedInputSource::FsPath(PathBuf::from("/tmp/lychee/page.html"));
let input_source =
ResolvedInputSource::FsPath(PathBuf::from("/tmp/lychee/page.html"), None);

// Use an absolute path that's outside the base directory
let actual = create_request(
Expand Down