0.3.16-pre.004
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
// file: crates/ksp-store-postgres-lib/tests/v003_variant_persistence.rs
|
||||
// version: 1
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
//! Static completeness canaries for the first V003 variant-aware PostgreSQL write slice.
|
||||
|
||||
#[test]
|
||||
fn v0_3_16_pre_004_acquisition_orders_identity_lock_bootstrap_observation_and_variant_link_atomically() {
|
||||
let source = include_str!("../src/raw_transaction.rs");
|
||||
let start = source.find("pub(crate) async fn persist_raw_transaction_acquisition(");
|
||||
let end = source.find("pub(crate) async fn record_raw_transaction_observation(");
|
||||
let (start, end) = match (start, end) {
|
||||
(std::option::Option::Some(start), std::option::Option::Some(end)) if start < end => (start, end),
|
||||
_ => panic!("pre.004 acquisition function markers are missing"),
|
||||
};
|
||||
let body = &source[start..end];
|
||||
let lock = body.find("load_locked_transaction_row");
|
||||
let bootstrap = body.find("ensure_v003_transaction_variant_bootstrap");
|
||||
let compare = body.find("compare_existing_transaction");
|
||||
let observation = body.find("persist_observation_row");
|
||||
let link = body.find("persist_transaction_variant_link");
|
||||
assert!(matches!((lock, bootstrap, compare), (Some(lock), Some(bootstrap), Some(compare)) if lock < bootstrap && bootstrap < compare));
|
||||
assert!(matches!((observation, link), (Some(observation), Some(link)) if observation < link));
|
||||
assert!(body.contains("sql_transaction.commit().await"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_16_pre_004_native_variant_reuse_is_exact_and_hash_is_only_a_prefilter() {
|
||||
let source = include_str!("../src/raw_transaction.rs");
|
||||
let exact_sql = source.find("const SELECT_EXACT_NATIVE_VARIANT_SQL");
|
||||
let exact_helper = source.find("async fn persist_or_reuse_native_transaction_variant(");
|
||||
assert!(exact_sql.is_some());
|
||||
assert!(exact_helper.is_some());
|
||||
assert!(source.contains("content_hash = $6 AND payload = $7"));
|
||||
assert!(source.contains("block_time_unix_millis IS NOT DISTINCT FROM $3"));
|
||||
assert!(source.contains("origin_kind = 'native'"));
|
||||
assert!(!source.contains("UNIQUE (transaction_signature, content_hash)"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_16_pre_004_legacy_observation_without_mapping_is_not_fabricated() {
|
||||
let source = include_str!("../src/raw_transaction.rs");
|
||||
let start = source.find("async fn persist_transaction_variant_link(");
|
||||
let end = source.find("async fn rehydrate_canonical_transaction_variant(");
|
||||
let (start, end) = match (start, end) {
|
||||
(std::option::Option::Some(start), std::option::Option::Some(end)) if start < end => (start, end),
|
||||
_ => panic!("pre.004 observation-variant link markers are missing"),
|
||||
};
|
||||
let body = &source[start..end];
|
||||
assert!(body.contains("RawObservationWriteOutcome::Inserted"));
|
||||
assert!(body.contains("RawObservationWriteOutcome::AlreadyPresent"));
|
||||
assert!(body.contains("Ok(std::option::Option::None) => return std::result::Result::Ok(())"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_16_pre_004_keeps_comparator_and_durable_conflict_scope_deferred() {
|
||||
let source = include_str!("../src/raw_transaction.rs");
|
||||
assert!(!source.contains("RawTransactionVariantRelation::"));
|
||||
assert!(!source.contains("INSERT INTO ksp_raw_transaction_conflicts"));
|
||||
assert!(!source.contains("UPDATE ksp_raw_transaction_canonical_selectors SET canonical_variant_id"));
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user