v0.3.3-pre.005

This commit is contained in:
2026-08-30 12:42:50 +02:00
parent 917e602a87
commit 66a3926adb
14 changed files with 1106 additions and 42 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/dependency_boundary.rs
// version: 9
// version: 10
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -125,7 +125,7 @@ fn pre_003_fix_001_migration_engine_uses_split_schema_contract_and_binds_network
}
#[test]
fn pre_004_raw_read_sql_and_mapping_remain_backend_private_and_read_only() {
fn pre_004_raw_read_sql_and_mapping_remain_backend_private() {
let crate_root = include_str!("../src/lib.rs");
let raw = include_str!("../src/raw_transaction.rs");
assert!(crate_root.contains("mod raw_transaction;"));
@@ -141,8 +141,41 @@ fn pre_004_raw_read_sql_and_mapping_remain_backend_private_and_read_only() {
] {
assert!(raw.contains(required), "missing private RAW read mapping contract: {required}");
}
for forbidden in ["INSERT INTO", "UPDATE ", "DELETE FROM", "std::env", "dotenv", "ksp_store_lib", "ksp_config_lib"] {
assert!(!raw.contains(forbidden), "pre.004 RAW read module contains forbidden ownership/write material: {forbidden}");
for forbidden in ["std::env", "dotenv", "ksp_store_lib", "ksp_config_lib"] {
assert!(!raw.contains(forbidden), "RAW module contains forbidden ownership material: {forbidden}");
}
return;
}
#[test]
fn pre_005_raw_write_sql_is_atomic_idempotent_and_keeps_later_scope_closed() {
let raw = include_str!("../src/raw_transaction.rs");
for required in [
"INSERT INTO ksp_raw_transactions",
"ON CONFLICT (signature) DO NOTHING RETURNING signature",
"FOR UPDATE",
"INSERT INTO ksp_raw_transaction_observations",
"ON CONFLICT (observation_key) DO NOTHING RETURNING observation_key",
"REHYDRATE_TRANSACTION_SQL",
"RawEntityWriteOutcome::SkippedPurged",
"RawEntityWriteOutcome::Rehydrated",
"RawObservationWriteOutcome::NotRecorded",
"PostgresBackendErrorKind::Conflict",
"PostgresBackendErrorKind::ReferenceNotFound",
"PostgresBackendErrorKind::WriteFailed",
] {
assert!(raw.contains(required), "missing pre.005 RAW write contract: {required}");
}
for forbidden in [
"DELETE FROM",
"list_raw_transactions",
"RawPage",
"RawCursor",
"transition_raw_transaction_retention",
"impl ksp_store_api::RawTransactionWrite",
"impl ksp_store_api::RawTransactionObservationWrite",
] {
assert!(!raw.contains(forbidden), "pre.005 opened later RAW scope prematurely: {forbidden}");
}
return;
}