0.3.16-pre.004

This commit is contained in:
2026-09-21 17:53:13 +02:00
parent ec053c98ab
commit 19712aa7a6
9 changed files with 622 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/unit_tests/raw_transaction.rs
// version: 10
// version: 11
fn network() -> ksp_store_api::RawNetworkId {
return match ksp_store_api::RawNetworkId::new("devnet") {
@@ -817,3 +817,33 @@ fn pre_007_retained_payload_shape_rejects_empty_and_oversized_bytes() {
assert_eq!(oversized.err().map(|value| return value.kind()), std::option::Option::Some(crate::PostgresBackendErrorKind::DataInvalid));
return;
}
#[test]
fn v0_3_16_pre_004_variant_id_allocation_is_monotonic_and_bounded() {
assert_eq!(super::next_transaction_variant_id("0"), std::result::Result::Ok(1));
assert_eq!(super::next_transaction_variant_id("1"), std::result::Result::Ok(2));
let exhausted = super::next_transaction_variant_id(u64::MAX.to_string().as_str()).err();
assert_eq!(exhausted.as_ref().map(|value| return value.kind()), std::option::Option::Some(crate::PostgresBackendErrorKind::DataInvalid));
assert_eq!(exhausted.as_ref().map(|value| return value.phase()), std::option::Option::Some("raw_variant_id_exhausted"));
return;
}
#[test]
fn v0_3_16_pre_004_variant_sql_uses_exact_content_and_identity_locking() {
assert!(super::LOCK_TRANSACTION_SQL.contains("FOR UPDATE"));
assert!(super::SELECT_EXACT_NATIVE_VARIANT_SQL.contains("content_hash = $6"));
assert!(super::SELECT_EXACT_NATIVE_VARIANT_SQL.contains("payload = $7"));
assert!(super::SELECT_EXACT_NATIVE_VARIANT_SQL.contains("origin_kind = 'native'"));
assert!(super::SELECT_MAX_VARIANT_ID_SQL.contains("MAX(variant_id)"));
assert!(!super::INSERT_TRANSACTION_VARIANT_SQL.contains("ON CONFLICT"));
assert!(!super::INSERT_TRANSACTION_VARIANT_SQL.contains("UNIQUE"));
return;
}
#[test]
fn v0_3_16_pre_004_variant_link_contract_keeps_legacy_observations_unfabricated() {
assert!(super::INSERT_TRANSACTION_VARIANT_LINK_SQL.contains("ksp_raw_transaction_observation_variants"));
assert!(super::SELECT_TRANSACTION_VARIANT_LINK_SQL.contains("WHERE observation_key = $1"));
assert!(!super::INSERT_TRANSACTION_VARIANT_LINK_SQL.contains("ON CONFLICT"));
return;
}