diff --git a/test/conformance/conformance_test.go b/test/conformance/conformance_test.go index 175eeed03..c8171317b 100644 --- a/test/conformance/conformance_test.go +++ b/test/conformance/conformance_test.go @@ -48,6 +48,16 @@ var skippedTestsForTraditionalCompatibleRouter = []string{ tests.HTTPRouteWeight.ShortName, } +var traditionalRoutesSupportedFeatures = sets.New( + features.SupportHTTPRouteResponseHeaderModification, + features.SupportHTTPRouteMethodMatching, +) + +var expressionRoutesSupportedFeatures = sets.New( + features.SupportHTTPRouteResponseHeaderModification, + features.SupportHTTPRouteMethodMatching, +) + type ConformanceConfig struct { KongRouterFlavor RouterFlavor } @@ -58,16 +68,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 = traditionalRoutesSupportedFeatures case RouterFlavorExpressions: skippedTests = skippedTestsForExpressionsRouter config.KongRouterFlavor = RouterFlavorExpressions + supportedFeatures = expressionRoutesSupportedFeatures default: t.Fatalf("unsupported KongRouterFlavor: %s", rf) } @@ -97,9 +110,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,