block-db 0.2.0

Local, multi-threaded, durable byte DB.
Documentation
// Authors: Robert Lopez

use crate::tests::{
    test_db::TestDB,
    util::{random_bytes, random_max_file_size},
};

#[tokio::test]
async fn read_write_smoke() {
    let chunk_size = 100;
    let max_file_size = 10_000;

    let mut test_db = TestDB::open("read_write_smoke", Some(chunk_size), Some(max_file_size))
        .await
        .unwrap();

    test_db
        .write(&random_bytes(chunk_size), true)
        .await
        .unwrap();

    for _ in 0..99 {
        test_db
            .write(&random_bytes(chunk_size), false)
            .await
            .unwrap();
    }

    for _ in 0..9 {
        test_db
            .write(&random_bytes(random_max_file_size(max_file_size)), true)
            .await
            .unwrap();
    }

    test_db
        .write(&random_bytes(chunk_size), true)
        .await
        .unwrap();

    for _ in 0..99 {
        test_db
            .write(&random_bytes(chunk_size), false)
            .await
            .unwrap();
    }

    test_db.cleanup().await.unwrap();
}