modelvault-core 0.16.0

Core engine for ModelVault — application-focused embedded storage with model schemas, validation, and migrations.
Documentation
use modelvault_core::error::FormatError;
use modelvault_core::manifest::{decode_manifest_v0, ManifestV0, MANIFEST_V0_LEN};
use modelvault_core::DbError;

#[test]
fn decode_manifest_v0_rejects_truncated() {
    let bytes = [0u8; MANIFEST_V0_LEN - 1];
    let res = decode_manifest_v0(&bytes);
    assert!(matches!(
        res,
        Err(DbError::Format(FormatError::TruncatedHeader { .. }))
    ));
}

#[test]
fn decode_manifest_v0_rejects_wrong_version() {
    let m = ManifestV0 {
        last_segment_offset: 1,
        last_segment_len: 2,
    };
    let mut bytes = m.encode();
    bytes[0] = 9;
    let res = decode_manifest_v0(&bytes);
    assert!(matches!(
        res,
        Err(DbError::Format(FormatError::UnsupportedVersion { .. }))
    ));
}