Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
// Copyright 2019, Vy-Shane Xie
// Licensed under the Apache License, Version 2.0
// Scenarios for end to end tests.
syntax = "proto3";
service UnaryScenarios {
rpc Ok (EchoRequest) returns (EchoResponse);
rpc FailedPrecondition (EchoRequest) returns (Empty);
rpc NoResponse (EchoRequest) returns (Empty);
service ClientStreamingScenarios {
rpc Ok (stream EchoRequest) returns (EchoResponse);
rpc FailedPrecondition (stream EchoRequest) returns (Empty);
rpc NoResponse (stream EchoRequest) returns (Empty);
service ServerStreamingScenarios {
rpc Ok (EchoRequest) returns (stream EchoResponse);
rpc FailedPrecondition (EchoRequest) returns (stream Empty);
rpc NoResponse (EchoRequest) returns (stream Empty);
service BidirectionalStreamingScenarios {
rpc Ok (stream EchoRequest) returns (stream EchoResponse);
rpc FailedPrecondition (stream EchoRequest) returns (stream Empty);
rpc NoResponse (stream EchoRequest) returns (stream Empty);
service RetryScenarios {
rpc FailThenSucceed (FailThenSucceedRequest) returns (FailThenSucceedResponse);
rpc AuthenticatedRpc (EchoRequest) returns (EchoResponse);
message EchoRequest {
string message = 1;
message EchoResponse {
string message = 1;
message Empty {}
message FailThenSucceedRequest {
// Key used to partition failure counts
string key = 1;
// Number of failures that the service should respond with before succeeding
uint32 num_failures = 2;
message FailThenSucceedResponse {
// Number of failures recorded before succeeding
uint32 num_failures = 1;