feat(carrier): implement carrier format V2 paged manifest and secondary index
This commit is contained in:
@@ -1436,21 +1436,28 @@ async fn test_c04_manifest_capacity_limit_and_warning() {
|
||||
}
|
||||
}
|
||||
|
||||
// sync_manifest() MUSS jetzt mit Fehler abbrechen
|
||||
let err = cfs_loaded.sync_manifest().unwrap_err();
|
||||
let err_str = err.to_string();
|
||||
// In Format V2 (v0.9.0): Die 1-MB-Grenze bricht NICHT mehr ab, sondern allokiert eine zusätzliche Seite
|
||||
cfs_loaded
|
||||
.sync_manifest()
|
||||
.expect("sync_manifest with > 1 MB must succeed in V2 via paged manifest");
|
||||
assert!(
|
||||
err_str.contains("Carrier-Manifest überschreitet die maximale Blockgröße"),
|
||||
"Error message must specify carrier capacity limit: {}",
|
||||
err_str
|
||||
);
|
||||
assert!(
|
||||
err_str.contains("7.000 Dateien/Verzeichnisse"),
|
||||
"Error message must recommend file limit: {}",
|
||||
err_str
|
||||
cfs_loaded.page_count() >= 2,
|
||||
"Page count must expand to at least 2 pages"
|
||||
);
|
||||
|
||||
// Reloaden und prüfen, ob beide Seiten geladen werden
|
||||
drop(cfs_loaded);
|
||||
let cfs_paged = sanctum::carrier::CarrierFs::load(
|
||||
db.clone(),
|
||||
carrier_node_id,
|
||||
std::sync::Arc::new(auth_hidden.carrier_dek().unwrap().clone()),
|
||||
std::sync::Arc::new(auth_hidden.dek().clone()),
|
||||
auth_hidden.version(),
|
||||
true,
|
||||
)
|
||||
.expect("CarrierFs load paged manifest");
|
||||
assert!(cfs_paged.page_count() >= 2);
|
||||
drop(cfs_paged);
|
||||
drop(db);
|
||||
let _ = std::fs::remove_file(&path);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user