MCPcopy Create free account
hub / github.com/ScrapeGraphAI/Scrapegraph-ai / MockHTTPServer

Class MockHTTPServer

tests/fixtures/mock_server/server.py:311–346  ·  view source on GitHub ↗

Mock HTTP server for testing.

Source from the content-addressed store, hash-verified

309
310
311class MockHTTPServer:
312 """Mock HTTP server for testing."""
313
314 def __init__(self, host: str = "localhost", port: int = 8888):
315 self.host = host
316 self.port = port
317 self.server: Optional[HTTPServer] = None
318 self.thread: Optional[Thread] = None
319
320 def start(self):
321 """Start the mock server in a background thread."""
322 self.server = HTTPServer((self.host, self.port), MockHTTPRequestHandler)
323 self.thread = Thread(target=self.server.serve_forever, daemon=True)
324 self.thread.start()
325 time.sleep(0.1) # Give server time to start
326
327 def stop(self):
328 """Stop the mock server."""
329 if self.server:
330 self.server.shutdown()
331 self.server.server_close()
332 if self.thread:
333 self.thread.join(timeout=1)
334
335 def get_url(self, path: str = "") -> str:
336 """Get full URL for a given path."""
337 return f"http://{self.host}:{self.port}{path}"
338
339 def __enter__(self):
340 """Context manager entry."""
341 self.start()
342 return self
343
344 def __exit__(self, exc_type, exc_val, exc_tb):
345 """Context manager exit."""
346 self.stop()

Callers 1

mock_serverFunction · 0.90

Calls

no outgoing calls

Tested by 1

mock_serverFunction · 0.72