Skip to main content
Glama

Deskaid

by ezyang
test_directory_creation.py4.03 kB
#!/usr/bin/env python3 """End-to-end tests for directory creation in WriteFile and EditFile.""" import os import unittest from codemcp.testing import MCPEndToEndTestCase class DirectoryCreationTest(MCPEndToEndTestCase): """Test recursive directory creation in WriteFile and EditFile subtools.""" async def test_write_file_nested_directories(self): """Test WriteFile can create nested directories.""" # Create a path with multiple nested directories that don't exist nested_path = os.path.join( self.temp_dir.name, "test_nest", "level1", "level2", "level3" ) test_file_path = os.path.join(nested_path, "test_file.txt") # Verify directory doesn't exist self.assertFalse( os.path.exists(nested_path), "Nested directory should not exist initially" ) content = "Content in a deeply nested directory" async with self.create_client_session() as session: # Get a valid chat_id chat_id = await self.get_chat_id(session) # Call the WriteFile tool with chat_id result_text = await self.call_tool_assert_success( session, "codemcp", { "subtool": "WriteFile", "path": test_file_path, "content": content, "description": "Create file in nested directories", "chat_id": chat_id, }, ) # Check for success message self.assertIn("Successfully wrote to", result_text) # Verify the directories were created as expected self.assertTrue( os.path.exists(nested_path), "Nested directories were not created" ) # Verify the file was created with the correct content self.assertTrue(os.path.exists(test_file_path), "File was not created") with open(test_file_path) as f: file_content = f.read() self.assertEqual(file_content, content + "\n") async def test_edit_file_nested_directories(self): """Test EditFile can create nested directories when old_string is empty.""" # Create a path with multiple nested directories that don't exist nested_path = os.path.join(self.temp_dir.name, "edit_nest", "level1", "level2") test_file_path = os.path.join(nested_path, "new_file.txt") # Verify directory doesn't exist self.assertFalse( os.path.exists(nested_path), "Nested directory should not exist initially" ) content = "Content created in nested directories by EditFile" async with self.create_client_session() as session: # Get a valid chat_id chat_id = await self.get_chat_id(session) # Call the EditFile tool with empty old_string and chat_id result_text = await self.call_tool_assert_success( session, "codemcp", { "subtool": "EditFile", "path": test_file_path, "old_string": "", "new_string": content, "description": "Create file in nested directories with EditFile", "chat_id": chat_id, }, ) # Check for success message self.assertIn("Successfully created", result_text) # Verify the directories were created as expected self.assertTrue( os.path.exists(nested_path), "Nested directories were not created" ) # Verify the file was created with the correct content self.assertTrue(os.path.exists(test_file_path), "File was not created") with open(test_file_path) as f: file_content = f.read() self.assertEqual(file_content, content + "\n") if __name__ == "__main__": unittest.main()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ezyang/codemcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server