Skip to content

Commit bfc5882

Browse files
authored
fix: cookie in exprs should remains unchanged (#425)
* fix: cookie in exprs should remains unchanged
1 parent af0dec4 commit bfc5882

2 files changed

Lines changed: 22 additions & 13 deletions

File tree

pkg/kube/translation/apisix_route.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,7 @@ func (t *translator) translateRouteMatchExprs(nginxVars []configv2alpha1.ApisixR
213213
name = strings.ReplaceAll(name, "-", "_")
214214
subj = "http_" + name
215215
case configv2alpha1.ScopeCookie:
216-
name := strings.ToLower(expr.Subject.Name)
217-
name = strings.ReplaceAll(name, "-", "_")
218-
subj = "cookie_" + name
216+
subj = "cookie_" + expr.Subject.Name
219217
case configv2alpha1.ScopePath:
220218
subj = "uri"
221219
default:

pkg/kube/translation/apisix_route_test.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,17 @@ import (
1818
"context"
1919
"testing"
2020

21-
fakeapisix "github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/clientset/versioned/fake"
22-
apisixinformers "github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/informers/externalversions"
23-
21+
"github.com/stretchr/testify/assert"
2422
corev1 "k8s.io/api/core/v1"
23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24+
"k8s.io/apimachinery/pkg/util/intstr"
2525
"k8s.io/client-go/informers"
2626
"k8s.io/client-go/kubernetes/fake"
2727
"k8s.io/client-go/tools/cache"
2828

29-
"k8s.io/apimachinery/pkg/util/intstr"
30-
31-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
32-
33-
"github.com/stretchr/testify/assert"
34-
3529
configv2alpha1 "github.com/apache/apisix-ingress-controller/pkg/kube/apisix/apis/config/v2alpha1"
30+
fakeapisix "github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/clientset/versioned/fake"
31+
apisixinformers "github.com/apache/apisix-ingress-controller/pkg/kube/apisix/client/informers/externalversions"
3632
)
3733

3834
func TestRouteMatchExpr(t *testing.T) {
@@ -117,10 +113,20 @@ func TestRouteMatchExpr(t *testing.T) {
117113
"b.com",
118114
},
119115
},
116+
{
117+
Subject: configv2alpha1.ApisixRouteHTTPMatchExprSubject{
118+
Scope: configv2alpha1.ScopeCookie,
119+
Name: "X-Foo",
120+
},
121+
Op: configv2alpha1.OpIn,
122+
Set: []string{
123+
"foo.com",
124+
},
125+
},
120126
}
121127
results, err := tr.translateRouteMatchExprs(exprs)
122128
assert.Nil(t, err)
123-
assert.Len(t, results, 9)
129+
assert.Len(t, results, 10)
124130

125131
assert.Len(t, results[0], 3)
126132
assert.Equal(t, results[0][0].StrVal, "http_content_type")
@@ -168,6 +174,11 @@ func TestRouteMatchExpr(t *testing.T) {
168174
assert.Equal(t, results[8][0].StrVal, "cookie_domain")
169175
assert.Equal(t, results[8][1].StrVal, "in")
170176
assert.Equal(t, results[8][2].SliceVal, []string{"a.com", "b.com"})
177+
178+
assert.Len(t, results[9], 3)
179+
assert.Equal(t, results[9][0].StrVal, "cookie_X-Foo")
180+
assert.Equal(t, results[9][1].StrVal, "in")
181+
assert.Equal(t, results[9][2].SliceVal, []string{"foo.com"})
171182
}
172183

173184
func TestTranslateApisixRouteV2alpha1WithDuplicatedName(t *testing.T) {

0 commit comments

Comments
 (0)