Files
vm-control/command-center/tests/receipt_adapter.rs
Vault Sovereign c91e252e91 chore: pre-migration snapshot
Fleet monitoring/control plane: UI, node agent, ops wiring
2025-12-27 01:52:03 +00:00

42 lines
1.3 KiB
Rust

use time::OffsetDateTime;
use uuid::Uuid;
use vaultmesh_command_center::contracts::map_event_envelope_to_receipt::map_event_envelope_to_receipt;
use vaultmesh_command_center::contracts::receipt_v1::{genesis_prev_blake3, ReceiptV1};
use vaultmesh_command_center::state::EventEnvelope;
#[test]
fn maps_envelope_to_receipt_and_verifies_hashes() {
let id = Uuid::parse_str("00000000-0000-0000-0000-0000000000aa").unwrap();
let ts = OffsetDateTime::parse(
"2025-12-17T23:07:10Z",
&time::format_description::well_known::Rfc3339,
)
.unwrap();
let payload = serde_json::json!({
"note": "hello",
"details": {"x": 2, "a": 1},
});
let env = EventEnvelope::new(
id,
ts,
"note".to_string(),
None,
"operator".to_string(),
payload,
);
let receipt: ReceiptV1 = map_event_envelope_to_receipt(&env);
assert_eq!(receipt.receipt_version, "1");
assert_eq!(receipt.source, "command-center");
assert_eq!(receipt.action, "note");
assert_eq!(receipt.prev_blake3, genesis_prev_blake3());
assert!(!receipt.blake3.is_empty());
assert!(!receipt.sha256.is_empty());
// Hashes must verify against canonical recomputation.
receipt.verify_hashes().expect("hashes should verify");
}