This commit is contained in:
Mateusz Gruszczyński committed 2026-10-04 11:15:58 +02:00
1 parent 87e571c170
commit fa7abc9e53
308 files changed
+49746 -50237

No files matched your search

+2 -44
View File
@@ -71,6 +71,7 @@ static READER_DOCUMENTS: &[(&str, &str, &str)] = &[
("docs/V0.24.7_AUDIT.md", "audits", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/V0.24.7_AUDIT.md"))),
("docs/V0.24.8_AUDIT.md", "audits", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/V0.24.8_AUDIT.md"))),
("docs/V0.25.0_AUDIT.md", "audits", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/V0.25.0_AUDIT.md"))),
("docs/V0.25.1_AUDIT.md", "audits", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/V0.25.1_AUDIT.md"))),
("docs/V0.25.0_SECURITY_PREPROD_AUDIT.md", "audits", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/V0.25.0_SECURITY_PREPROD_AUDIT.md"))),
("docs/VHOSTS.md", "guides", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/VHOSTS.md"))),
("docs/VHOST_ACCESS.md", "guides", include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/VHOST_ACCESS.md"))),
@@ -166,47 +167,4 @@ pub(super) fn asset(name: &'static str) -> Response {
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn reader_bundle_contains_embedded_project_and_web_server_docs() {
let value: Value = serde_json::from_slice(reader_bundle()).unwrap();
let documents = value["documents"].as_array().unwrap();
assert!(documents.iter().any(|doc| doc["path"] == "README.md"));
assert!(documents.iter().any(|doc| doc["path"] == "docs/WEB_SERVER.md"));
assert!(documents.iter().any(|doc| doc["path"] == "docs/PHP_FPM.md"));
assert!(documents.iter().all(|doc| {
doc["path"].as_str().is_some_and(|value| !value.is_empty())
&& doc["title"].as_str().is_some_and(|value| !value.is_empty())
&& doc["category"].as_str().is_some_and(|value| !value.is_empty())
&& doc["content"].as_str().is_some_and(|value| !value.is_empty())
}));
}
#[tokio::test]
async fn fixed_vendor_names_return_embedded_assets_with_expected_types() {
for (name, expected_type) in [
("swagger-ui-bundle.js", "text/javascript; charset=utf-8"),
("swagger-ui.css", "text/css; charset=utf-8"),
("licenses.txt", "text/plain; charset=utf-8"),
] {
let response = asset(name);
assert_eq!(response.status(), StatusCode::OK);
assert_eq!(response.headers()["content-type"], expected_type);
let bytes = axum::body::to_bytes(response.into_body(), 16 * 1024 * 1024)
.await
.unwrap();
assert!(!bytes.is_empty(), "{name}");
}
for name in [
"../Cargo.toml",
"index.html",
"openapi.json",
"source.json",
"unknown.js",
] {
assert_eq!(asset(name).status(), StatusCode::NOT_FOUND);
}
}
}
include!("documentation/tests.rs");