This is an automated email from the ASF dual-hosted git repository.

kvn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git


The following commit(s) were added to refs/heads/master by this push:
     new bfc5882  fix: cookie in exprs should remains unchanged (#425)
bfc5882 is described below

commit bfc5882649d057ea71aaa22fce4ccdafc675bd89
Author: kv <[email protected]>
AuthorDate: Sat May 8 15:56:14 2021 +0800

    fix: cookie in exprs should remains unchanged (#425)
    
    * fix: cookie in exprs should remains unchanged
---
 pkg/kube/translation/apisix_route.go      |  4 +---
 pkg/kube/translation/apisix_route_test.go | 31 +++++++++++++++++++++----------
 2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/pkg/kube/translation/apisix_route.go 
b/pkg/kube/translation/apisix_route.go
index bbf8705..df5c9aa 100644
--- a/pkg/kube/translation/apisix_route.go
+++ b/pkg/kube/translation/apisix_route.go
@@ -213,9 +213,7 @@ func (t *translator) translateRouteMatchExprs(nginxVars 
[]configv2alpha1.ApisixR
                        name = strings.ReplaceAll(name, "-", "_")
                        subj = "http_" + name
                case configv2alpha1.ScopeCookie:
-                       name := strings.ToLower(expr.Subject.Name)
-                       name = strings.ReplaceAll(name, "-", "_")
-                       subj = "cookie_" + name
+                       subj = "cookie_" + expr.Subject.Name
                case configv2alpha1.ScopePath:
                        subj = "uri"
                default:
diff --git a/pkg/kube/translation/apisix_route_test.go 
b/pkg/kube/translation/apisix_route_test.go
index 60baca1..24f7c43 100644
--- a/pkg/kube/translation/apisix_route_test.go
+++ b/pkg/kube/translation/apisix_route_test.go
@@ -18,21 +18,17 @@ import (
        "context"
        "testing"
 
-       fakeapisix 
"github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/clientset/versioned/fake"
-       apisixinformers 
"github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/informers/externalversions"
-
+       "github.com/stretchr/testify/assert"
        corev1 "k8s.io/api/core/v1"
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+       "k8s.io/apimachinery/pkg/util/intstr"
        "k8s.io/client-go/informers"
        "k8s.io/client-go/kubernetes/fake"
        "k8s.io/client-go/tools/cache"
 
-       "k8s.io/apimachinery/pkg/util/intstr"
-
-       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-       "github.com/stretchr/testify/assert"
-
        configv2alpha1 
"github.com/apache/apisix-ingress-controller/pkg/kube/apisix/apis/config/v2alpha1"
+       fakeapisix 
"github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/clientset/versioned/fake"
+       apisixinformers 
"github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/informers/externalversions"
 )
 
 func TestRouteMatchExpr(t *testing.T) {
@@ -117,10 +113,20 @@ func TestRouteMatchExpr(t *testing.T) {
                                "b.com",
                        },
                },
+               {
+                       Subject: configv2alpha1.ApisixRouteHTTPMatchExprSubject{
+                               Scope: configv2alpha1.ScopeCookie,
+                               Name:  "X-Foo",
+                       },
+                       Op: configv2alpha1.OpIn,
+                       Set: []string{
+                               "foo.com",
+                       },
+               },
        }
        results, err := tr.translateRouteMatchExprs(exprs)
        assert.Nil(t, err)
-       assert.Len(t, results, 9)
+       assert.Len(t, results, 10)
 
        assert.Len(t, results[0], 3)
        assert.Equal(t, results[0][0].StrVal, "http_content_type")
@@ -168,6 +174,11 @@ func TestRouteMatchExpr(t *testing.T) {
        assert.Equal(t, results[8][0].StrVal, "cookie_domain")
        assert.Equal(t, results[8][1].StrVal, "in")
        assert.Equal(t, results[8][2].SliceVal, []string{"a.com", "b.com"})
+
+       assert.Len(t, results[9], 3)
+       assert.Equal(t, results[9][0].StrVal, "cookie_X-Foo")
+       assert.Equal(t, results[9][1].StrVal, "in")
+       assert.Equal(t, results[9][2].SliceVal, []string{"foo.com"})
 }
 
 func TestTranslateApisixRouteV2alpha1WithDuplicatedName(t *testing.T) {

Reply via email to