mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-12 16:49:10 +02:00
85 lines
2.9 KiB
Text
85 lines
2.9 KiB
Text
---
|
|
title: tests
|
|
sidebarTitle: tests
|
|
---
|
|
|
|
# `fastmcp.utilities.tests`
|
|
|
|
## Functions
|
|
|
|
### `temporary_settings` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/tests.py#L25" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
temporary_settings(**kwargs: Any)
|
|
```
|
|
|
|
|
|
Temporarily override FastMCP setting values.
|
|
|
|
**Args:**
|
|
- `**kwargs`: The settings to override, including nested settings.
|
|
|
|
|
|
### `run_server_in_process` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/tests.py#L75" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
run_server_in_process(server_fn: Callable[..., None], *args, **kwargs) -> Generator[str, None, None]
|
|
```
|
|
|
|
|
|
Context manager that runs a FastMCP server in a separate process and
|
|
returns the server URL. When the context manager is exited, the server process is killed.
|
|
|
|
**Args:**
|
|
- `server_fn`: The function that runs a FastMCP server. FastMCP servers are
|
|
not pickleable, so we need a function that creates and runs one.
|
|
- `*args`: Arguments to pass to the server function.
|
|
- `provide_host_and_port`: Whether to provide the host and port to the server function as kwargs.
|
|
- `host`: Host to bind the server to (default\: "127.0.0.1").
|
|
- `port`: Port to bind the server to (default\: find available port).
|
|
- `**kwargs`: Keyword arguments to pass to the server function.
|
|
|
|
**Returns:**
|
|
- The server URL.
|
|
|
|
|
|
### `caplog_for_fastmcp` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/tests.py#L141" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
caplog_for_fastmcp(caplog)
|
|
```
|
|
|
|
|
|
Context manager to capture logs from FastMCP loggers even when propagation is disabled.
|
|
|
|
|
|
## Classes
|
|
|
|
### `HeadlessOAuth` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/tests.py#L152" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
OAuth provider that bypasses browser interaction for testing.
|
|
|
|
This simulates the complete OAuth flow programmatically by making HTTP requests
|
|
instead of opening a browser and running a callback server. Useful for automated testing.
|
|
|
|
|
|
**Methods:**
|
|
|
|
#### `redirect_handler` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/tests.py#L165" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
redirect_handler(self, authorization_url: str) -> None
|
|
```
|
|
|
|
Make HTTP request to authorization URL and store response for callback handler.
|
|
|
|
|
|
#### `callback_handler` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/tests.py#L171" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
callback_handler(self) -> tuple[str, str | None]
|
|
```
|
|
|
|
Parse stored response and return (auth_code, state).
|
|
|