copy_tests.rs

This Kit feature is not available yet.

In rust/crates/mkit-server/src/takedown/At c3d562f

c3d562fHistory

Preview

Code1.7 KiB
use super::*;
use crate::MemoryBlobStore;
#[tokio::test]
async fn equal_canonical_pieces_have_independent_verified_action_ownership() {
    let store = MemoryBlobStore::default();
    let one = write(&store, &[1; 32], &[8; 32], 0, b"canonical piece")
        .await
        .unwrap();
    let two = write(&store, &[2; 32], &[8; 32], 0, b"canonical piece")
        .await
        .unwrap();
    assert_ne!(one.storage, two.storage);
    assert_eq!(
        read(&store, &[1; 32], &one).await.unwrap().unwrap(),
        b"canonical piece"[..]
    );
    assert!(read(&store, &[2; 32], &one).await.is_err());
    store.delete(&BlobKey::pack(one.storage)).await.unwrap();
    assert!(read(&store, &[1; 32], &one).await.unwrap().is_none());
    assert_eq!(
        read(&store, &[2; 32], &two).await.unwrap().unwrap(),
        b"canonical piece"[..]
    );
}
#[tokio::test]
async fn duplicate_copy_validates_stored_bytes_and_exact_header_geometry() {
    let store = MemoryBlobStore::default();
    let piece = write(&store, &[1; 32], &[2; 32], 123, b"bytes")
        .await
        .unwrap();
    let duplicate = write(&store, &[1; 32], &[2; 32], 123, b"bytes")
        .await
        .unwrap();
    assert_eq!(piece.storage, duplicate.storage);
    for modified in [
        Piece {
            offset: 124,
            ..piece.clone()
        },
        Piece {
            length: 4,
            ..piece.clone()
        },
        Piece {
            object: [3; 32],
            ..piece
        },
    ] {
        assert!(read(&store, &[1; 32], &modified).await.is_err());
    }
    assert!(
        write(&store, &[1; 32], &[2; 32], 0, &vec![0; PIECE_BYTES + 1])
            .await
            .is_err()
    );
    assert!(write(&store, &[1; 32], &[2; 32], 0, &[]).await.is_err());
}

Files