diff --git a/test/common/router/BUILD b/test/common/router/BUILD index 0fad319d411c8..2e3e0fa41821f 100644 --- a/test/common/router/BUILD +++ b/test/common/router/BUILD @@ -377,3 +377,12 @@ envoy_cc_test( "//test/mocks/router:router_filter_interface", ], ) + +envoy_proto_library( + name = "router_fuzz_proto", + srcs = ["router_fuzz.proto"], + deps = [ + "//test/fuzz:common_proto", + "@envoy_api//envoy/extensions/filters/http/router/v3:pkg", + ], +) diff --git a/test/common/router/router_fuzz.proto b/test/common/router/router_fuzz.proto new file mode 100644 index 0000000000000..504bfc7c2705f --- /dev/null +++ b/test/common/router/router_fuzz.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; + +package test.common.router; + +import "validate/validate.proto"; + +import "google/protobuf/empty.proto"; + +import "test/fuzz/common.proto"; + +import "envoy/extensions/filters/http/router/v3/router.proto"; + +message DirectionalAction { + oneof response_action_selector { + test.fuzz.Headers headers = 1; + uint32 data = 2; + test.fuzz.Headers trailers = 3; + } + bool end_stream = 4; +} + +message StreamAction { + oneof stream_action_selector { + DirectionalAction request = 1; + DirectionalAction response = 2; + } +} + +message Action { + oneof action_selector { + StreamAction stream_action = 1; + google.protobuf.Empty advance_time = 2; + google.protobuf.Empty force_retry = 3; + } +} + +message RouterTestCase { + repeated Action actions = 1; + envoy.extensions.filters.http.router.v3.Router config = 2; +}