This commit is contained in:
2025-11-11 13:27:07 +01:00
parent 8751637b92
commit 7f371b2ab6
10 changed files with 672 additions and 185 deletions
+24 -1
View File
@@ -519,6 +519,29 @@ async fn duplicate_and_restore_document() -> Result<()> {
.await?;
assert_eq!(delete.status(), StatusCode::NO_CONTENT);
let trashed_conflict = app
.upload_document(
"/api/documents",
"dup.bin",
"application/octet-stream",
&payload,
None,
&token,
)
.await?;
assert_eq!(trashed_conflict.status(), StatusCode::CONFLICT);
let trashed_body = body_to_vec(trashed_conflict.into_body()).await?;
let trashed_error: ApiErrorResponse = serde_json::from_slice(&trashed_body)?;
assert_eq!(trashed_error.code.as_deref(), Some("duplicate_document"));
assert!(trashed_error.error.contains("trash"));
let trashed_details = trashed_error.details.as_ref().expect("details present");
assert_eq!(
trashed_details
.get("conflict_document_in_trash")
.and_then(|value| value.as_bool()),
Some(true)
);
let third = app
.upload_document_with_extras(
"/api/documents",
@@ -1837,7 +1860,7 @@ async fn purge_document_removes_data() -> Result<()> {
let state = Arc::new(app.state.clone());
let storage = app
.state
.storage_for_tenant(job.tenant_id)
.storage_for_tenant(job.tenant_id.expect("job should have tenant"))
.map_err(|err| anyhow!("tenant storage unavailable: {err:?}"))?;
let execution = handler.handle(state, job.clone(), storage).await;
assert!(matches!(execution, JobExecution::Success));