Skip to main content
Glama

Django MCP Server

test_code.py3.06 kB
from __future__ import annotations import pytest from mcp_django.code import filter_existing_imports from mcp_django.code import parse_code def test_parse_code_single_expression(): code, setup, code_type = parse_code("2 + 2") assert code == "2 + 2" assert setup == "" assert code_type == "expression" def test_parse_code_single_statement(): code, setup, code_type = parse_code("x = 5") assert code == "x = 5" assert setup == "" assert code_type == "statement" def test_parse_code_multiline_with_expression_basic(): code, setup, code_type = parse_code("x = 5\ny = 10\nx + y") assert code == "x + y" assert setup == "x = 5\ny = 10" assert code_type == "expression" def test_parse_code_multiline_statement_only(): code, setup, code_type = parse_code("x = 5\ny = 10\nz = x + y") assert code == "x = 5\ny = 10\nz = x + y" assert setup == "" assert code_type == "statement" def test_parse_code_empty_code(): code, setup, code_type = parse_code("") assert code == "" assert setup == "" assert code_type == "statement" def test_parse_code_whitespace_only(): code, setup, code_type = parse_code(" \n \t ") assert code == " \n \t " assert setup == "" assert code_type == "statement" def test_parse_code_trailing_newlines_expression(): code = """\ x = 5 y = 10 x + y """ code, setup, code_type = parse_code(code) assert code == "x + y" # strip() removes leading/trailing empty lines assert setup == "x = 5\ny = 10" assert code_type == "expression" def test_parse_code_trailing_whitespace_expression(): code, setup, code_type = parse_code("2 + 2 \n\n ") # strip() removes trailing whitespace assert code == "2 + 2" assert setup == "" assert code_type == "expression" def test_parse_code_leading_newlines_expression(): code, setup, code_type = parse_code("\n\n\n2 + 2") # Single expressions are returned as-is, not stripped assert code == "\n\n\n2 + 2" assert setup == "" assert code_type == "expression" def test_parse_code_multiline_trailing_newlines(): code, setup, code_type = parse_code("x = 5\nx + 10\n\n") assert code == "x + 10" assert setup == "x = 5" assert code_type == "expression" def test_parse_code_empty_list(): code, setup, code_type = parse_code("[]") assert code == "[]" assert setup == "" assert code_type == "expression" def test_filter_existing_imports_star_import(): result = filter_existing_imports("from os import *", {"os": True}) assert result == "from os import *" def test_filter_existing_imports_relative(): result = filter_existing_imports( "from ..models import User\nfrom ...core import Base", {} ) assert result == "from ..models import User\nfrom ...core import Base" def test_filter_existing_imports_invalid_raises_error(): with pytest.raises(ValueError, match="Input must contain only import statements"): filter_existing_imports("x = 5", {})

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/joshuadavidthomas/mcp-django'

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