FauxRPC

FauxRPC is a powerful tool that empowers you to accelerate development and testing by effortlessly generating fake implementations of gRPC, gRPC-Web, Connect, and REST services. If you have a protobuf-based workflow, this tool could help.

Open Source MIT Licensed.

FauxRPC Request Log Screenshot

Why choose FauxRPC?

FauxRPC is a powerful tool that empowers you to accelerate development and testing by effortlessly generating fake implementations of gRPC, gRPC-Web, Connect, and REST services. If you have a protobuf-based workflow, this tool could help.

speed

Accelerate Development

Unblock client-side and frontend teams by providing an instant, mock backend.

rule

Improve Test Reliability

Create stable and predictable test environments with configurable mock data and stubs.

auto_awesome

Realistic Data Mocking

Generate realistic fake data that automatically respects your protovalidate constraints.

settings_ethernet

Flexible and Extensible

Support for multiple protocols and dynamic schema loading to fit your workflow.

thumb_up

Easy to Use

Get started quickly with an interactive dashboard and simple configuration.

integration_instructions

Testcontainer Support

(go only) Superpower your integration tests by using FauxRPC with Testcontainers.

Dashboard screenshot

Dashboard

FauxRPC includes a web dashboard that provides real-time insights into your server’s operations, including request logs, response previews, and configuration settings.

  • insightsSee an overview of server activity
  • speedView real-time request logs
  • schemaView the schema of your loaded protobuf files
Dynamic Data Generation

Dynamic Data Generation

FauxRPC automatically generates realistic fake data for your protobuf messages. This helps you build and test your applications without needing real backend data.

  • auto_awesomeAutomatically generated fake data for all fields.
  • ruleAugments responses with protovalidate rules to ensure data integrity.
  • check_circleEnforces protovalidate constraints in responses.
Configurable Stubs

Configurable Stubs

Define custom responses for specific RPC calls. FauxRPC allows you to configure stubs with static data or load them dynamically from an API, giving you full control over your mock environment.

  • get_appDefine static data for predictable responses.
  • cloud_downloadLoad stubs dynamically from an external API for more complex scenarios.
  • settingsEasily configure and manage your stubs through a simple interface.
  • tuneStubs can be activated based on request parameters for more granular control.
Multi-Protocol Support

Multi-Protocol Support

FauxRPC is designed to work seamlessly with your existing infrastructure, supporting a wide range of protocols.

  • hubFull support for gRPC, including server reflection.
  • webCompatibility with gRPC-Web for browser-based applications.
  • sync_altSupport for the Connect protocol.
  • httpREST support for traditional HTTP clients. Using google.api.http annotations.
Dynamic Schema Loading

Dynamic Schema Loading

FauxRPC can load protobuf definitions from various sources, allowing for dynamic schema reconfiguration without restarting the server.

  • folderLoad protobufs from local files or directories.
  • sensorsFetch schemas using gRPC reflection for live services.
  • dynamic_feedDynamically reconfigure the schema on-the-fly.