--- title: tests sidebarTitle: tests --- # `fastmcp.utilities.tests` ## Functions ### `temporary_settings` ```python temporary_settings(**kwargs: Any) ``` Temporarily override FastMCP setting values. **Args:** - `**kwargs`: The settings to override, including nested settings. ### `run_server_in_process` ```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` ```python caplog_for_fastmcp(caplog) ``` Context manager to capture logs from FastMCP loggers even when propagation is disabled. ## Classes ### `HeadlessOAuth` 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` ```python redirect_handler(self, authorization_url: str) -> None ``` Make HTTP request to authorization URL and store response for callback handler. #### `callback_handler` ```python callback_handler(self) -> tuple[str, str | None] ``` Parse stored response and return (auth_code, state).