This directory contains examples demonstrating how to use grpc-mock-server.
File: example.ts
Demonstrates the basic usage with a single proto file:
import { GrpcMockServer } from '../src/GrpcMockServer';
const server = new GrpcMockServer();
server.addService(
__dirname + '/example.proto',
'com.alenon.example',
'ExampleService',
implementations
);Run: npm run example
Files: multi-proto-example.ts, user.proto, address.proto
Demonstrates how to use multiple proto files with cross-package imports:
server.addService(
[
__dirname + '/user.proto',
__dirname + '/address.proto'
],
'user',
'UserService',
implementations,
{
includeDirs: [__dirname],
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true
}
);The user.proto imports Address message from address.proto:
// user.proto
import "address.proto";
message User {
string name = 1;
common.Address address = 2; // From address.proto
}Run: npm run multi-proto-example
- Single Proto: Simple usage with one proto file
- Multiple Proto: Use array of proto files with proper options:
includeDirs: Directories to search for imported fileskeepCase: Preserve field name casing (snake_case)defaults,oneofs: Handle protobuf features properly
- Cross-Package Imports: Proto files can import messages from other packages
Mock server listening at: 127.0.0.1:50777 GetUser called with ID: 123 User response: { name: 'John Doe', address: { postal_code: '12345', city: 'San Francisco', country: 'USA' } }