// Copyright 2019, ComgineGRPC // 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; }