v0.3.6-pre.008
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
// file: crates/ksp-job-backfill-lib/tests/dependency_boundary.rs
|
||||
// version: 3
|
||||
// version: 4
|
||||
|
||||
//! Dependency firewall canaries through Backfill Store persistence.
|
||||
//! Dependency firewall canaries through bounded Backfill execution/checkpointing.
|
||||
|
||||
#[test]
|
||||
fn pre_007_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
fn pre_008_manifest_uses_only_planned_ksp_edges_and_private_futures_runtime() {
|
||||
let manifest = include_str!("../Cargo.toml");
|
||||
for required in [
|
||||
"futures-util = { workspace = true, features = [\"std\"] }",
|
||||
"ksp-core-lib = { path = \"../ksp-core-lib\" }",
|
||||
"ksp-job-api = { path = \"../ksp-job-api\" }",
|
||||
"ksp-logging-lib = { path = \"../ksp-logging-lib\" }",
|
||||
@@ -32,22 +33,26 @@ fn pre_007_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
] {
|
||||
assert!(!manifest.contains(forbidden), "forbidden Backfill dependency present: {forbidden}");
|
||||
}
|
||||
let normal_dependencies = match manifest.split("[dev-dependencies]").next() {
|
||||
std::option::Option::Some(value) => value,
|
||||
std::option::Option::None => manifest,
|
||||
};
|
||||
assert!(!normal_dependencies.contains("tokio ="), "Tokio must not become a public/normal Backfill dependency in pre.008");
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_007_production_sources_keep_transport_and_store_in_their_owned_layers() {
|
||||
let non_conversion_sources = [
|
||||
fn pre_008_production_sources_keep_transport_store_and_scheduler_ownership_separate() {
|
||||
let neutral_sources = [
|
||||
include_str!("../src/checkpoint.rs"),
|
||||
include_str!("../src/constants.rs"),
|
||||
include_str!("../src/discovery.rs"),
|
||||
include_str!("../src/error.rs"),
|
||||
include_str!("../src/lib.rs"),
|
||||
include_str!("../src/request.rs"),
|
||||
];
|
||||
for source in non_conversion_sources {
|
||||
for forbidden in
|
||||
["ksp_config_lib::", "ksp_interface_lib::", "ksp_store_api::", "ksp_store_postgres_lib::", "reqwest::", "serde_json::", "std::env", "tonic::"]
|
||||
{
|
||||
for source in neutral_sources {
|
||||
for forbidden in ["ksp_config_lib::", "ksp_interface_lib::", "ksp_store_api::", "ksp_store_postgres_lib::", "reqwest::", "std::env", "tonic::"] {
|
||||
assert!(!source.contains(forbidden), "forbidden concrete Backfill path detected: {forbidden}");
|
||||
}
|
||||
}
|
||||
@@ -59,23 +64,24 @@ fn pre_007_production_sources_keep_transport_and_store_in_their_owned_layers() {
|
||||
assert!(conversion.contains("BackfillHydrationOutcome::Missing(reference)"));
|
||||
assert!(!conversion.contains("execute_standard_rpc"));
|
||||
assert!(!conversion.contains("persist_raw_transaction_acquisition"));
|
||||
for forbidden in ["ksp_config_lib::", "ksp_interface_lib::", "ksp_store_api::", "ksp_store_postgres_lib::", "reqwest::", "std::env", "tonic::"] {
|
||||
assert!(!conversion.contains(forbidden), "forbidden RAW conversion path detected: {forbidden}");
|
||||
}
|
||||
let persistence = include_str!("../src/persistence.rs");
|
||||
assert!(persistence.contains("persist_raw_transaction_acquisition"));
|
||||
assert!(persistence.contains("RawTransactionAcquisitionMode::Normal"));
|
||||
assert!(persistence.contains("ERROR_CODE_RAW_CONFLICT"));
|
||||
assert!(!persistence.contains("record_raw_transaction_observation"));
|
||||
assert!(!persistence.contains("RawTransactionAcquisitionMode::ForceRehydrate"));
|
||||
for forbidden in ["ksp_config_lib::", "ksp_interface_lib::", "ksp_store_api::", "ksp_store_postgres_lib::", "reqwest::", "std::env", "tonic::"] {
|
||||
assert!(!persistence.contains(forbidden), "forbidden Store persistence path detected: {forbidden}");
|
||||
}
|
||||
let discovery = include_str!("../src/discovery.rs");
|
||||
assert!(discovery.contains("get_signatures_for_address"));
|
||||
assert!(!discovery.contains("execute_standard_rpc"));
|
||||
assert!(!discovery.contains("retry"));
|
||||
assert!(!discovery.contains("endpoint_name"));
|
||||
assert!(!discovery.contains("HttpEndpoint"));
|
||||
let execution = include_str!("../src/execution.rs");
|
||||
assert!(execution.contains("FuturesUnordered"));
|
||||
assert!(execution.contains("hydrate_backfill_candidate"));
|
||||
assert!(execution.contains("persist_backfill_hydration"));
|
||||
assert!(execution.contains("request.hydration_concurrency()"));
|
||||
for forbidden in ["tokio::spawn", "tokio::time", "retry", "endpoint_name", "provider()", "ForceRehydrate", "get_raw_transaction"] {
|
||||
assert!(!execution.contains(forbidden), "forbidden scheduler/policy ownership detected: {forbidden}");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user