0.3.15-pre.012-fix.004
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-store-postgres-lib/tests/dependency_boundary.rs
|
||||
// version: 29
|
||||
// version: 30
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -10,9 +10,17 @@
|
||||
#[test]
|
||||
fn pre_005_backend_owns_exact_physical_runtime_dependencies_without_reverse_facade_edge() {
|
||||
let manifest = include_str!("../Cargo.toml");
|
||||
for required in
|
||||
["deadpool-postgres", "ksp-logging-lib", "ksp-store-api", "rustls", "rustls-native-certs", "sha2", "tokio-postgres", "tokio-postgres-rustls"]
|
||||
{
|
||||
for required in [
|
||||
"deadpool-postgres",
|
||||
"ksp-logging-lib",
|
||||
"ksp-store-api",
|
||||
"rustls",
|
||||
"rustls-native-certs",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"tokio-postgres",
|
||||
"tokio-postgres-rustls",
|
||||
] {
|
||||
assert!(manifest.contains(required), "missing PostgreSQL backend dependency: {required}");
|
||||
}
|
||||
for forbidden in ["ksp-store-lib", "ksp-config-lib", "ksp-materializer", "ksp-program", "ksp-onchain-transport-lib", "ksp-offchain-transport-lib", "sqlx"] {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-store-postgres-lib/tests/hardening_completeness.rs
|
||||
// version: 23
|
||||
// version: 24
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -136,6 +136,7 @@ fn pre_009_backend_modules_exports_and_manifest_dependencies_are_exact() {
|
||||
"ksp-store-api",
|
||||
"rustls",
|
||||
"rustls-native-certs",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"tokio",
|
||||
"tokio-postgres",
|
||||
@@ -561,3 +562,47 @@ fn v0_3_8_pre_005_raw_account_keyset_sql_remains_offset_free_while_inspection_is
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_15_pre_012_fix_004_content_conflict_diagnostic_is_field_only_bounded_and_provenance_safe() {
|
||||
let source = include_str!("../src/raw_transaction.rs");
|
||||
for required in [
|
||||
"slot_mismatch",
|
||||
"block_time_mismatch",
|
||||
"transaction_mismatch",
|
||||
"meta_mismatch",
|
||||
"version_mismatch",
|
||||
"transaction_index_mismatch",
|
||||
"meta_mismatch_fields",
|
||||
"stored_provider",
|
||||
"stored_protocol",
|
||||
"stored_acquisition_method",
|
||||
"stored_endpoint_id",
|
||||
"incoming_provider",
|
||||
"incoming_protocol",
|
||||
"incoming_acquisition_method",
|
||||
"incoming_endpoint_id",
|
||||
"RAW_TRANSACTION_CONTENT_CONFLICT_META_FIELDS",
|
||||
"\"rewards\"",
|
||||
"\"logMessages\"",
|
||||
"\"innerInstructions\"",
|
||||
] {
|
||||
assert!(source.contains(required), "missing bounded RAW conflict diagnostic field: {required}");
|
||||
}
|
||||
let start = source.find("fn log_raw_transaction_content_conflict(");
|
||||
assert!(start.is_some(), "missing RAW conflict structural logger");
|
||||
let Some(start) = start else {
|
||||
return;
|
||||
};
|
||||
let end = source[start..].find("fn raw_transactions_equal(");
|
||||
assert!(end.is_some(), "missing RAW conflict logger end marker");
|
||||
let Some(end) = end else {
|
||||
return;
|
||||
};
|
||||
let diagnostic_surface = &source[start..start + end];
|
||||
for forbidden in ["\n signature =", "payload =", "payload_bytes =", "content_hash =", "source_payload_hash =", "capture_session_id", "filter_id"] {
|
||||
assert!(!diagnostic_surface.contains(forbidden), "RAW conflict logger exposes forbidden material: {forbidden}");
|
||||
}
|
||||
assert!(source.contains("fields.push(\"other\")"));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user