38 lines
1.5 KiB
Rust
38 lines
1.5 KiB
Rust
// file: crates/ksp-raw-transaction-lib/tests/release_completeness.rs
|
|
// version: 1
|
|
|
|
#[test]
|
|
fn pre_002_production_module_inventory_is_exact() {
|
|
let source_root = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src");
|
|
let entries = match std::fs::read_dir(source_root) {
|
|
std::result::Result::Ok(entries) => entries,
|
|
std::result::Result::Err(_) => return,
|
|
};
|
|
let mut names = std::vec::Vec::new();
|
|
for entry in entries.flatten() {
|
|
let path = entry.path();
|
|
if path.extension().and_then(std::ffi::OsStr::to_str) == std::option::Option::Some("rs") {
|
|
if let std::option::Option::Some(name) = path.file_name().and_then(std::ffi::OsStr::to_str) {
|
|
names.push(name.to_owned());
|
|
}
|
|
}
|
|
}
|
|
names.sort();
|
|
let expected = ["acquisition.rs", "canonical.rs", "error.rs", "lib.rs", "signature.rs"];
|
|
assert_eq!(names.len(), expected.len());
|
|
for (actual, expected_name) in names.iter().zip(expected.iter()) {
|
|
assert_eq!(actual.as_str(), *expected_name);
|
|
}
|
|
return;
|
|
}
|
|
|
|
#[test]
|
|
fn pre_002_common_surface_contains_no_worker_job_or_transport_dependency_or_public_module() {
|
|
let lib = std::fs::read_to_string(std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src/lib.rs")).unwrap_or_default();
|
|
assert!(!lib.contains("pub mod "));
|
|
for forbidden in ["ksp_worker", "ksp_job", "ksp_onchain_transport", "ksp_config", "ksp_store_lib", "ksp_store_postgres"] {
|
|
assert!(!lib.contains(forbidden));
|
|
}
|
|
return;
|
|
}
|