Skip to main content
Glama

Django MCP Server

test_cli.py2.53 kB
from __future__ import annotations import os import sys from unittest.mock import Mock from mcp_django.cli import main def test_cli_no_django_settings(monkeypatch, caplog): monkeypatch.delenv("DJANGO_SETTINGS_MODULE", raising=False) result = main([]) assert result == 1 assert "DJANGO_SETTINGS_MODULE not set" in caplog.text def test_cli_with_settings_arg(monkeypatch): mock_mcp = Mock() monkeypatch.setattr("mcp_django.server.mcp", mock_mcp) result = main(["--settings", "myapp.settings"]) assert os.environ["DJANGO_SETTINGS_MODULE"] == "myapp.settings" mock_mcp.run.assert_called_once() assert result == 0 def test_cli_server_crash(monkeypatch, caplog): monkeypatch.setenv("DJANGO_SETTINGS_MODULE", "tests.settings") mock_mcp = Mock() mock_mcp.run.side_effect = Exception("Server crashed!") monkeypatch.setattr("mcp_django.server.mcp", mock_mcp) result = main([]) assert result == 1 assert "MCP server crashed" in caplog.text def test_cli_with_pythonpath(monkeypatch): monkeypatch.setenv("DJANGO_SETTINGS_MODULE", "tests.settings") mock_mcp = Mock() monkeypatch.setattr("mcp_django.server.mcp", mock_mcp) test_path = "/test/path" result = main(["--pythonpath", test_path]) assert test_path in sys.path assert result == 0 def test_cli_with_debug(monkeypatch): monkeypatch.setenv("DJANGO_SETTINGS_MODULE", "tests.settings") mock_mcp = Mock() monkeypatch.setattr("mcp_django.server.mcp", mock_mcp) result = main(["--debug"]) assert result == 0 def test_cli_with_http_transport(monkeypatch): monkeypatch.setenv("DJANGO_SETTINGS_MODULE", "tests.settings") mock_mcp = Mock() monkeypatch.setattr("mcp_django.server.mcp", mock_mcp) result = main( [ "--transport", "http", "--host", "127.0.0.1", "--port", "8000", "--path", "/mcp", ] ) mock_mcp.run.assert_called_once_with( transport="http", host="127.0.0.1", port=8000, path="/mcp" ) assert result == 0 def test_cli_with_sse_transport(monkeypatch): monkeypatch.setenv("DJANGO_SETTINGS_MODULE", "tests.settings") mock_mcp = Mock() monkeypatch.setattr("mcp_django.server.mcp", mock_mcp) result = main(["--transport", "sse", "--host", "0.0.0.0", "--port", "9000"]) mock_mcp.run.assert_called_once_with(transport="sse", host="0.0.0.0", port=9000) assert result == 0

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