diff --git a/server/src/handlers/meta.rs b/server/src/handlers/meta.rs index 0461033..88c3ecc 100644 --- a/server/src/handlers/meta.rs +++ b/server/src/handlers/meta.rs @@ -766,4 +766,21 @@ mod tests { println!("OMNI RES: {}", omni_res); assert!(omni_res.contains("omni-1"), "omni search should return results containing the task id"); } + + #[tokio::test] + async fn test_omni_search_malformed_query() { + let dir = tempfile::tempdir().unwrap(); + let state = Arc::new(MemoryState::new(dir.path().to_str().unwrap())); + + let omni = OmniSearchHandler; + + // Pass a malformed Lucene query (unclosed parenthesis) + let omni_res = omni + .execute(json!({"query": "title: (unclosed"}), state.clone()) + .await; + + assert!(omni_res.is_err()); + let err_msg = omni_res.unwrap_err(); + assert!(err_msg.contains("malformed Lucene syntax")); + } }