Skip to main content
Glama
test_render_integration_lowlevel.py2.66 kB
""" Integration tests for Render API in LowLevel mode via mcp-openapi-proxy. Needs RENDER_API_KEY in .env to run. """ import os import pytest from mcp_openapi_proxy.server_lowlevel import fetch_openapi_spec, tools, openapi_spec_data from mcp_openapi_proxy.handlers import register_functions from mcp_openapi_proxy.utils import setup_logging @pytest.fixture def reset_env_and_module(): """Fixture to reset environment and module state.""" original_env = os.environ.copy() yield "OPENAPI_SPEC_URL_" + hex(id(reset_env_and_module))[-8:] os.environ.clear() os.environ.update(original_env) global tools, openapi_spec_data tools = [] openapi_spec_data = None @pytest.mark.asyncio async def test_render_services_list_lowlevel(reset_env_and_module): """Test Render /services endpoint in LowLevel mode with RENDER_API_KEY.""" pytest.skip("Skipping Render test due to unsupported method parameters—fix later, ya grub!") env_key = reset_env_and_module render_api_key = os.getenv("RENDER_API_KEY") spec_url = os.getenv("RENDER_SPEC_URL", "https://api-docs.render.com/openapi/6140fb3daeae351056086186") tool_prefix = os.getenv("TOOL_NAME_PREFIX", "render_") print(f"🍺 DEBUG: RENDER_API_KEY: {render_api_key if render_api_key else 'Not set'}") if not render_api_key or "your-" in render_api_key: print("🍻 DEBUG: Skipping due to missing or placeholder RENDER_API_KEY") pytest.skip("RENDER_API_KEY missing or placeholder—set it in .env!") # Set up environment os.environ[env_key] = spec_url os.environ["API_KEY"] = render_api_key os.environ["API_AUTH_TYPE"] = "Bearer" os.environ["TOOL_NAME_PREFIX"] = tool_prefix os.environ["TOOL_WHITELIST"] = "/services,/deployments" os.environ["DEBUG"] = "true" print(f"🍍 DEBUG: API_KEY set to: {os.environ['API_KEY'][:5]}...") # Fetch and register spec global openapi_spec_data logger = setup_logging(debug=True) print(f"🍆 DEBUG: Fetching spec from {spec_url}") openapi_spec_data = fetch_openapi_spec(spec_url) assert openapi_spec_data, f"Failed to fetch spec from {spec_url}" assert "paths" in openapi_spec_data, "No 'paths' key in spec" assert "/services" in openapi_spec_data["paths"], "No /services endpoint in spec" assert "servers" in openapi_spec_data or "host" in openapi_spec_data, "No servers or host defined in spec" registered_tools = register_functions(openapi_spec_data) assert registered_tools, "No tools registered from spec!" assert any(tool.name == "render_get_services" for tool in registered_tools), "render_get_services tool not found!"

Latest Blog Posts

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/matthewhand/mcp-openapi-proxy'

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