mock-server/mockserver-monorepo
MockServer is an HTTP(S) mock server and proxy for testing that lets you mock APIs, inspect and modify live traffic, and inject failures. It supports HTTP/1.1, HTTP/2, gRPC, WebSockets, TCP and more on a single port, with additional support for HTTP/3, message brokers, and AI/LLM APIs.
What it solves
MockServer는 외부 API에 의존하는 애플리케이션을 테스트할 때, 해당 실제 시스템이 사용 가능하거나 완전하거나 안정적일 필요가 없도록 하는 방법을 제공합니다. 이를 통해 의존성 가용성 문제로 인한 개발 병목 현상을 방지하고, 실제 환경에서 재현하기 어려운 드문 장애 시나리오(카오스 엔지니어링)를 시뮬레이션할 수 있습니다.
How it works
REST 컨트롤 플레인을 통해 구성할 수 있는 HTTP(S) 서버 및 프록시로 작동합니다. HTTP/1.1, HTTP/2, gRPC, WebSockets, raw TCP를 포함한 광범위한 프로토콜을 지원합니다. 사용자는 "expectations" (경로, 헤더 또는 본문을 기반으로 요청을 매칭)를 정의하고 그에 해당하는 응답을 지정할 수 있습니다. 또한 실제 트래픽을 프록시하여 전송 중인 요청을 기록하거나 수정할 수 있으며, OpenAPI 사양에서 직접 모의 데이터를 생성할 수도 있습니다.
Who it’s for
테스트 중에 애플리케이션을 외부 의존성으로부터 격리해야 하는 소프트웨어 개발자 및 QA 엔지니어, 카오스 엔지니어링을 통해 탄력성 테스트를 수행하거나, AI/LLM 채팅 완료 API를 모의해야 하는 분들을 위한 도구입니다.
Highlights
- Multi-protocol support: HTTP/1.1, HTTPS, HTTP/2, gRPC, WebSockets, raw TCP를 단일 포트에서 처리합니다.
- AI/LLM Mocking: OpenAI, Anthropic, Gemini, Bedrock, Azure OpenAI, Ollama의 채팅 완료 API 모의를 기본적으로 지원합니다.
- Chaos Engineering: 지연, 연결 끊김, 오류를 주입하여 시스템 탄력성을 테스트할 수 있습니다.
- MCP Integration: AI 코딩 어시스턴트를 위한 내장 Model Context Protocol (MCP) 서버가 포함되어 있습니다.
- Dynamic Responses: Velocity, Mustache, JavaScript를 사용하여 응답 템플릿을 지원합니다.