v0.3.6-pre.006
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
// file: crates/ksp-job-backfill-lib/tests/dependency_boundary.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Dependency firewall canaries for the concrete Backfill foundation.
|
||||
//! Dependency firewall canaries for Backfill discovery and RAW v1 conversion.
|
||||
|
||||
#[test]
|
||||
fn pre_005_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
fn pre_006_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
let manifest = include_str!("../Cargo.toml");
|
||||
for required in [
|
||||
"ksp-core-lib = { path = \"../ksp-core-lib\" }",
|
||||
@@ -12,6 +12,7 @@ fn pre_005_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
"ksp-logging-lib = { path = \"../ksp-logging-lib\" }",
|
||||
"ksp-onchain-transport-lib = { path = \"../ksp-onchain-transport-lib\" }",
|
||||
"ksp-store-lib = { path = \"../ksp-store-lib\", default-features = false }",
|
||||
"serde_json.workspace = true",
|
||||
"sha2.workspace = true",
|
||||
] {
|
||||
assert!(manifest.contains(required), "required Backfill dependency missing: {required}");
|
||||
@@ -25,7 +26,8 @@ fn pre_005_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
"ksp-wallet-lib",
|
||||
"solana-",
|
||||
"reqwest",
|
||||
"serde",
|
||||
"serde.workspace = true",
|
||||
"serde = {",
|
||||
"tonic",
|
||||
] {
|
||||
assert!(!manifest.contains(forbidden), "forbidden Backfill dependency present: {forbidden}");
|
||||
@@ -34,21 +36,32 @@ fn pre_005_manifest_uses_only_planned_ksp_edges_and_backend_neutral_store() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_005_production_sources_keep_transport_and_store_in_their_owned_layers() {
|
||||
let sources = [
|
||||
fn pre_006_production_sources_keep_transport_and_store_in_their_owned_layers() {
|
||||
let non_conversion_sources = [
|
||||
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 sources {
|
||||
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::"]
|
||||
{
|
||||
assert!(!source.contains(forbidden), "forbidden concrete Backfill path detected: {forbidden}");
|
||||
}
|
||||
}
|
||||
let conversion = include_str!("../src/conversion.rs");
|
||||
assert!(conversion.contains("serde_json::"));
|
||||
assert!(conversion.contains("get_transaction_observed"));
|
||||
assert!(conversion.contains("SolanaTransactionEncoding::Base64"));
|
||||
assert!(conversion.contains("std::option::Option::Some(0)"));
|
||||
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 discovery = include_str!("../src/discovery.rs");
|
||||
assert!(discovery.contains("get_signatures_for_address"));
|
||||
assert!(!discovery.contains("execute_standard_rpc"));
|
||||
|
||||
Reference in New Issue
Block a user