Skip to main content
Glama

MCP Outlook Server

test_auth.py1.56 kB
import pytest import httpx from mcp_outlook.auth import GraphAuthError, GraphTokenManager from mcp_outlook.config import GraphSettings def test_get_token_uses_delegated_when_available(): settings = GraphSettings( tenant_id=None, client_id=None, client_secret=None, delegated_token="delegated-token", ) manager = GraphTokenManager(settings) assert manager.get_token() == "delegated-token" def test_client_credentials_token_fetch_and_cache(): calls = {"count": 0} def handler(request: httpx.Request) -> httpx.Response: calls["count"] += 1 assert request.url.path.endswith("/oauth2/v2.0/token") return httpx.Response( 200, json={"access_token": "cached-token", "expires_in": 3600}, ) transport = httpx.MockTransport(handler) client = httpx.Client(transport=transport) settings = GraphSettings( tenant_id="tenant", client_id="client", client_secret="secret", ) manager = GraphTokenManager( settings, client=client, clock_skew_buffer=0.0, ) assert manager.get_token() == "cached-token" assert manager.get_token() == "cached-token" assert calls["count"] == 1 client.close() def test_missing_client_credentials_config_raises(): settings = GraphSettings( tenant_id=None, client_id=None, client_secret=None, ) manager = GraphTokenManager(settings) with pytest.raises(GraphAuthError): manager.get_token()

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/jayozer/agentbuilder-outlook-mcp'

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