From 90aada777249aab28e2e6c7161f8b2a8994b89e6 Mon Sep 17 00:00:00 2001 From: Yuval Kohavi Date: Mon, 2 Sep 2019 11:07:26 -0400 Subject: [PATCH] test failing extractor config; add break to switch (#23) * test failing extractor config; add break to switch --- .../filters/http/transformation/inja_transformer.cc | 3 +++ .../http/transformation/inja_transformer_test.cc | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/source/extensions/filters/http/transformation/inja_transformer.cc b/source/extensions/filters/http/transformation/inja_transformer.cc index ef7b3ef4e..2b12eeee9 100644 --- a/source/extensions/filters/http/transformation/inja_transformer.cc +++ b/source/extensions/filters/http/transformation/inja_transformer.cc @@ -135,12 +135,15 @@ InjaTransformer::InjaTransformer( throw EnvoyException( fmt::format("Failed to parse body template {}", e.what())); } + break; } case envoy::api::v2::filter::http::TransformationTemplate:: kMergeExtractorsToBody: { merged_extractors_to_body_ = true; + break; } case envoy::api::v2::filter::http::TransformationTemplate::kPassthrough: + break; case envoy::api::v2::filter::http::TransformationTemplate:: BODY_TRANSFORMATION_NOT_SET: { break; diff --git a/test/extensions/filters/http/transformation/inja_transformer_test.cc b/test/extensions/filters/http/transformation/inja_transformer_test.cc index 0014a1277..707cf0e74 100644 --- a/test/extensions/filters/http/transformation/inja_transformer_test.cc +++ b/test/extensions/filters/http/transformation/inja_transformer_test.cc @@ -113,6 +113,19 @@ TEST(ExtractorUtil, ExtractIdFromHeader) { EXPECT_EQ("123", res); } +TEST(ExtractorUtil, ExtractorFail) { + Http::TestHeaderMapImpl headers{{":method", "GET"}, + {":authority", "www.solo.io"}, + {":path", "/users/123"}}; + envoy::api::v2::filter::http::Extraction extractor; + extractor.set_header(":path"); + extractor.set_regex("ILLEGAL REGEX \\ \\ \\ \\ a\\ \\a\\ a\\ \\d+)"); + extractor.set_subgroup(1); + EXPECT_THROW_WITH_MESSAGE(Extractor a(extractor), EnvoyException, + "Invalid regex 'ILLEGAL REGEX \\ \\ \\ \\ a\\ " + "\\a\\ a\\ \\d+)': regex_error"); +} + TEST(Transformer, transform) { Http::TestHeaderMapImpl headers{{":method", "GET"}, {":authority", "www.solo.io"},