Introduce base-dir constructors for isolation; update tests to avoid env var dependence; ensure directories exist before I/O; all tests green (including performance)

This commit is contained in:
Andy
2025-08-11 22:41:14 +08:00
parent ec8b46955b
commit 515b0100ac
5 changed files with 44 additions and 36 deletions
+2 -7
View File
@@ -26,18 +26,13 @@ async fn tool_result(provider: &DocxToolsProvider, name: &str, args: serde_json:
async fn create_test_provider() -> (DocxToolsProvider, TempDir) {
let temp_dir = TempDir::new().unwrap();
// Ensure our handler uses this path for its own temp files
std::env::set_var("DOCX_MCP_TEMP", temp_dir.path());
let provider = DocxToolsProvider::new();
let provider = DocxToolsProvider::with_base_dir(temp_dir.path());
(provider, temp_dir)
}
async fn create_test_provider_with_security(config: SecurityConfig) -> (DocxToolsProvider, TempDir) {
let temp_dir = TempDir::new().unwrap();
std::env::set_var("DOCX_MCP_TEMP", temp_dir.path());
let provider = DocxToolsProvider::new_with_security(config);
let provider = DocxToolsProvider::with_base_dir_and_security(temp_dir.path(), config);
(provider, temp_dir)
}