From c73ae972c591f825365cf7c18a1f18af1b006b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Ma=C5=82ek?= Date: Fri, 14 Jun 2024 13:32:48 +0200 Subject: [PATCH] conformance: support HTTPRouteMethodMatching (#335) --- test/conformance/conformance_test.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/test/conformance/conformance_test.go b/test/conformance/conformance_test.go index 175eeed03..279931ae1 100644 --- a/test/conformance/conformance_test.go +++ b/test/conformance/conformance_test.go @@ -48,6 +48,17 @@ var skippedTestsForTraditionalCompatibleRouter = []string{ tests.HTTPRouteWeight.ShortName, } +var traditionalCompatibleRouterSupportedFeatures = sets.New( + // extended + features.SupportHTTPRouteResponseHeaderModification, +) + +var expressionsRouterSupportedFeatures = sets.New( + // extended + features.SupportHTTPRouteResponseHeaderModification, + features.SupportHTTPRouteMethodMatching, +) + type ConformanceConfig struct { KongRouterFlavor RouterFlavor } @@ -58,16 +69,19 @@ func TestGatewayConformance(t *testing.T) { // Conformance tests are run for both available router flavours: // traditional_compatible and expressions. var ( - config ConformanceConfig - skippedTests []string + config ConformanceConfig + skippedTests []string + supportedFeatures sets.Set[features.SupportedFeature] ) switch rf := KongRouterFlavor(t); rf { case RouterFlavorTraditionalCompatible: skippedTests = skippedTestsForTraditionalCompatibleRouter config.KongRouterFlavor = RouterFlavorTraditionalCompatible + supportedFeatures = traditionalCompatibleRouterSupportedFeatures case RouterFlavorExpressions: skippedTests = skippedTestsForExpressionsRouter config.KongRouterFlavor = RouterFlavorExpressions + supportedFeatures = expressionsRouterSupportedFeatures default: t.Fatalf("unsupported KongRouterFlavor: %s", rf) } @@ -97,9 +111,7 @@ func TestGatewayConformance(t *testing.T) { opts.ConformanceProfiles = sets.New( suite.GatewayHTTPConformanceProfileName, ) - opts.SupportedFeatures = sets.New( - features.SupportHTTPRouteResponseHeaderModification, - ) + opts.SupportedFeatures = supportedFeatures opts.Implementation = conformancev1.Implementation{ Organization: metadata.Organization, Project: metadata.ProjectName,