7 #include "envoy/config/cluster/v3/cluster.pb.validate.h"
8 #include "envoy/config/endpoint/v3/endpoint.pb.validate.h"
9 #include "envoy/config/listener/v3/listener.pb.validate.h"
10 #include "envoy/config/route/v3/route.pb.validate.h"
11 #include "envoy/config/core/v3/protocol.pb.validate.h"
12 #include "envoy/config/accesslog/v3/accesslog.pb.validate.h"
13 #include "envoy/extensions/compression/gzip/decompressor/v3/gzip.pb.validate.h"
14 #include "envoy/extensions/filters/http/buffer/v3/buffer.pb.validate.h"
15 #include "envoy/extensions/filters/http/fault/v3/fault.pb.validate.h"
16 #include "envoy/extensions/filters/http/grpc_json_transcoder/v3/transcoder.pb.validate.h"
17 #include "envoy/extensions/filters/http/header_to_metadata/v3/header_to_metadata.pb.validate.h"
18 #include "envoy/extensions/filters/http/health_check/v3/health_check.pb.validate.h"
19 #include "envoy/extensions/filters/http/ip_tagging/v3/ip_tagging.pb.validate.h"
20 #include "envoy/extensions/filters/http/lua/v3/lua.pb.validate.h"
21 #include "envoy/extensions/filters/http/router/v3/router.pb.validate.h"
22 #include "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.validate.h"
23 #include "envoy/extensions/filters/network/mongo_proxy/v3/mongo_proxy.pb.validate.h"
24 #include "envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.pb.validate.h"
25 #include "envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.validate.h"
26 #include "envoy/extensions/health_checkers/redis/v3/redis.pb.validate.h"
27 #include "envoy/config/bootstrap/v3/bootstrap.pb.validate.h"
29 #include "google/protobuf/text_format.h"
31 template <
class Proto>
struct TestCase {
35 std::cerr <<
"Unexpected successful validation of invalid message: "
40 std::cerr <<
"Unexpected failed validation of valid message: " <<
valid_message.DebugString()
41 <<
", " <<
err << std::endl;
53 envoy::config::bootstrap::v3::Bootstrap invalid_bootstrap;
54 invalid_bootstrap.mutable_static_resources()->add_clusters();
63 access_log_path: "/dev/null"
64 address { pipe { path: "/" } }
67 envoy::config::bootstrap::v3::Bootstrap valid_bootstrap;
69 std::cerr <<
"Unable to parse text proto: " << valid_bootstrap_text << std::endl;