1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
syntax = "proto3";
// If you make any changes make sure you run: make regenerate-proto
package gitlab.agent.grpctool.test;
option go_package = "gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v16/internal/tool/grpctool/automata/test";
import "internal/tool/grpctool/automata/automata.proto";
//import "github.com/envoyproxy/protoc-gen-validate/blob/master/validate/validate.proto";
import "validate/validate.proto";
enum enum1 {
v1 = 0;
v2 = 1;
}
message Request {
string s1 = 1 [(validate.rules).string.min_bytes = 1];
}
message Response {
// Subsequent messages of the stream.
message Data {
bytes data = 1;
}
// Last message of the stream.
message Last {
}
oneof message {
option (automata.first_allowed_field) = 1;
option (validate.required) = true;
int64 scalar = 1 [(automata.next_allowed_field) = 2];
enum1 x1 = 2 [(automata.next_allowed_field) = 3];
Data data = 3 [(automata.next_allowed_field) = 3, (automata.next_allowed_field) = 4];
Last last = 4 [(automata.next_allowed_field) = -1];
}
}
message NoOneofs {
}
message TwoOneofs {
oneof message1 {
option (automata.first_allowed_field) = 1;
int32 m11 = 1;
int32 m12 = 2;
}
oneof message2 {
option (automata.first_allowed_field) = 3;
int32 m21 = 3;
int32 m22 = 4;
}
}
message TwoValidOneofs {
oneof message1 {
option (automata.first_allowed_field) = 1;
int32 m11 = 1 [(automata.next_allowed_field) = 2];
int32 m12 = 2 [(automata.next_allowed_field) = -1];
}
oneof message2 {
option (automata.first_allowed_field) = 3;
int32 m21 = 3 [(automata.next_allowed_field) = 4];
int32 m22 = 4 [(automata.next_allowed_field) = -1];
}
}
message OutOfOneof {
int32 x = 1;
oneof message {
option (automata.first_allowed_field) = 2;
int32 m1 = 2 [(automata.next_allowed_field) = 1];
int32 m2 = 3 [(automata.next_allowed_field) = -1];
}
}
message NotAllReachable {
oneof message {
option (automata.first_allowed_field) = 3;
int32 m1 = 1 [(automata.next_allowed_field) = 2];
int32 m2 = 2 [(automata.next_allowed_field) = 1];
int32 m3 = 3 [(automata.next_allowed_field) = -1];
}
}
service Testing {
rpc RequestResponse (Request) returns (Response) {
}
rpc StreamingRequestResponse (stream Request) returns (stream Response) {
}
}
|