fn test_find_manifest()

in src/columnar_storage/src/manifest/mod.rs [406:454]


    fn test_find_manifest() {
        let root_dir = temp_dir::TempDir::new().unwrap();
        let runtime = Arc::new(tokio::runtime::Runtime::new().unwrap());
        let rt = runtime.clone();
        let store = Arc::new(LocalFileSystem::new());

        rt.block_on(async move {
            let manifest = Manifest::try_new(
                root_dir.path().to_string_lossy().to_string(),
                store,
                runtime.clone(),
                ManifestConfig::default(),
            )
            .await
            .unwrap();

            for i in 0..20 {
                let time_range = (i..i + 1).into();
                let meta = FileMeta {
                    max_sequence: i as u64,
                    num_rows: i as u32,
                    size: i as u32,
                    time_range,
                };
                manifest.add_file(i as u64, meta).await.unwrap();
            }

            let find_range = (10..15).into();
            let mut ssts = manifest.find_ssts(&find_range).await;

            let mut expected_ssts = (10..15)
                .map(|i| {
                    let id = i as u64;
                    let time_range = (i..i + 1).into();
                    let meta = FileMeta {
                        max_sequence: i as u64,
                        num_rows: i as u32,
                        size: i as u32,
                        time_range,
                    };
                    SstFile::new(id, meta)
                })
                .collect::<Vec<_>>();

            expected_ssts.sort_by_key(|a| a.id());
            ssts.sort_by_key(|a| a.id());
            assert_eq!(expected_ssts, ssts);
        });
    }