v0.3.10-pre.002
This commit is contained in:
52
crates/ksp-raw-transaction-lib/tests/dependency_boundary.rs
Normal file
52
crates/ksp-raw-transaction-lib/tests/dependency_boundary.rs
Normal file
@@ -0,0 +1,52 @@
|
||||
// file: crates/ksp-raw-transaction-lib/tests/dependency_boundary.rs
|
||||
// version: 1
|
||||
|
||||
fn manifest() -> std::string::String {
|
||||
return std::fs::read_to_string(std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("Cargo.toml")).unwrap_or_default();
|
||||
}
|
||||
|
||||
fn production_sources() -> std::string::String {
|
||||
let root = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src");
|
||||
let mut combined = std::string::String::new();
|
||||
for name in ["acquisition.rs", "canonical.rs", "error.rs", "lib.rs", "signature.rs"] {
|
||||
let source = std::fs::read_to_string(root.join(name)).unwrap_or_default();
|
||||
combined.push_str(source.as_str());
|
||||
}
|
||||
return combined;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_002_manifest_uses_api_models_and_exact_common_dependencies() {
|
||||
let manifest = manifest();
|
||||
assert!(manifest.contains("ksp-core-lib = { path = \"../ksp-core-lib\" }"));
|
||||
assert!(manifest.contains("ksp-store-api = { path = \"../ksp-store-api\" }"));
|
||||
assert!(manifest.contains("serde_json = { workspace = true }"));
|
||||
assert!(manifest.contains("sha2 = { workspace = true }"));
|
||||
for forbidden in
|
||||
["ksp-store-lib", "ksp-onchain-transport-lib", "ksp-config-lib", "ksp-job-api", "ksp-job-backfill-lib", "ksp-worker-api", "tokio", "futures"]
|
||||
{
|
||||
assert!(!manifest.contains(forbidden));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_002_production_sources_keep_transport_runtime_job_worker_and_backend_out() {
|
||||
let sources = production_sources();
|
||||
for forbidden in [
|
||||
"ksp_store_lib",
|
||||
"ksp_onchain_transport_lib",
|
||||
"ksp_config_lib",
|
||||
"ksp_job_api",
|
||||
"ksp_job_backfill_lib",
|
||||
"ksp_worker_api",
|
||||
"ksp_store_postgres_lib",
|
||||
"tokio::",
|
||||
"futures::",
|
||||
"reqwest::",
|
||||
"tonic::",
|
||||
] {
|
||||
assert!(!sources.contains(forbidden));
|
||||
}
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user