Skip to main content
Glama

Skill Management MCP Server

by fkesheh
test_path_utils.py•2.2 kB
"""Tests for path validation utilities.""" import pytest from pathlib import Path from unittest.mock import patch from skill_mcp.utils.path_utils import validate_path from skill_mcp.core.exceptions import PathTraversalError, InvalidPathError def test_validate_valid_path(temp_skills_dir): """Test validating a valid path.""" with patch("skill_mcp.utils.path_utils.SKILLS_DIR", temp_skills_dir): skill_name = "test-skill" file_path = "scripts/test.py" # Create skill directory skill_dir = temp_skills_dir / skill_name skill_dir.mkdir() result = validate_path(skill_name, file_path) assert result.parent.parent.name == skill_name assert result.name == "test.py" def test_validate_path_with_parent_traversal(temp_skills_dir): """Test that parent directory traversal is blocked.""" with patch("skill_mcp.utils.path_utils.SKILLS_DIR", temp_skills_dir): skill_name = "test-skill" # Create skill directory skill_dir = temp_skills_dir / skill_name skill_dir.mkdir() with pytest.raises(PathTraversalError): validate_path(skill_name, "../../../etc/passwd") def test_validate_path_with_absolute_path(temp_skills_dir): """Test that absolute paths are blocked.""" with patch("skill_mcp.utils.path_utils.SKILLS_DIR", temp_skills_dir): skill_name = "test-skill" # Create skill directory skill_dir = temp_skills_dir / skill_name skill_dir.mkdir() with pytest.raises(PathTraversalError): validate_path(skill_name, "/etc/passwd") def test_validate_nested_path(temp_skills_dir): """Test validating nested paths.""" with patch("skill_mcp.utils.path_utils.SKILLS_DIR", temp_skills_dir): skill_name = "test-skill" file_path = "references/docs/nested/file.md" # Create skill directory skill_dir = temp_skills_dir / skill_name skill_dir.mkdir() result = validate_path(skill_name, file_path) assert "references" in str(result) assert "nested" in str(result)

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/fkesheh/skill-mcp'

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