:py:mod:`http_test_server` ========================== .. py:module:: conda.testing.http_test_server .. autoapi-nested-parse:: HTTP test server for serving local files during tests. This module provides a local HTTP server that can be used in pytest fixtures to serve files from a specified directory. The server runs on a random port and supports both IPv4 and IPv6. The server is commonly used for testing: - Mock conda channels with packages and repodata - Remote environment files (environment.yml) - Remote configuration files - Any scenario where conda needs to fetch files from HTTP URLs Example usage: from conda.testing import http_test_server def test_something(): server = http_test_server.run_test_server("/path/to/files") host, port = server.socket.getsockname()[:2] url = f"http://{host}:{port}/file.txt" # Make HTTP requests to url... server.shutdown() For pytest fixtures that wrap this functionality, see: - `http_test_server` - function-scoped fixture The fixture can be configured via `@pytest.mark.parametrize("http_test_server", [""], indirect=True)` to specify the directory to serve, or used without parametrize (or with `None`) for dynamic content generation. Functions --------- .. autoapisummary:: conda.testing.http_test_server.run_test_server Attributes ---------- .. autoapisummary:: conda.testing.http_test_server.server .. py:function:: run_test_server(directory: str) -> http.server.ThreadingHTTPServer Run a test server on a random port. Inspect returned server to get port, shutdown etc. .. py:data:: server