Skip to content
This repository was archived by the owner on Aug 7, 2022. It is now read-only.

Commit a066a84

Browse files
committedAug 3, 2022
fix: more unit tests
1 parent 3f72a39 commit a066a84

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed
 

‎matcher/rule_test.go

+19-18
Original file line numberDiff line numberDiff line change
@@ -120,35 +120,36 @@ func TestRuleMatcher_GetTargetValue(t *testing.T) {
120120
_ = mem.Set(context.Background(), req.CountID(), 2)
121121

122122
var route = &cfg.Route{
123-
Method: "GET",
124-
Path: "/api/:object/:action",
123+
Path: "/api/:object/:action",
125124
}
126125

127126
tests := []struct {
127+
route *cfg.Route
128128
request *http.Request
129129
rule *cfg.Rule
130130
expectedValue string
131131
}{
132-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Header, Modifier: "Authorization"}, "Bearer 123"},
133-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Header, Modifier: "Random"}, ""},
134-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Cookie, Modifier: "Token"}, "Token 123"},
135-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Cookie, Modifier: "Random"}, ""},
136-
{newHTTPRequest(), &cfg.Rule{Target: cfg.QueryString, Modifier: "name"}, "joe"},
137-
{newHTTPRequest(), &cfg.Rule{Target: cfg.QueryString, Modifier: "Random"}, ""},
138-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ".name"}, "joe"},
139-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ""}, `{"name": "joe","address": { "street": "123 Road", "postcode": "2234" }}`},
140-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ".address.postcode"}, "2234"},
141-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ".address.random"}, ""},
142-
{newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "object"}, "person"},
143-
{newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "action"}, "detail"},
144-
{newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "random"}, ""},
145-
{newHTTPRequest(), &cfg.Rule{Target: cfg.RequestNumber}, "2"},
146-
{newHTTPRequest(), &cfg.Rule{Target: cfg.Target("random target")}, ""},
132+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Header, Modifier: "Authorization"}, "Bearer 123"},
133+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Header, Modifier: "Random"}, ""},
134+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Cookie, Modifier: "Token"}, "Token 123"},
135+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Cookie, Modifier: "Random"}, ""},
136+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.QueryString, Modifier: "name"}, "joe"},
137+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.QueryString, Modifier: "Random"}, ""},
138+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ".name"}, "joe"},
139+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ""}, `{"name": "joe","address": { "street": "123 Road", "postcode": "2234" }}`},
140+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ".address.postcode"}, "2234"},
141+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Body, Modifier: ".address.random"}, ""},
142+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "object"}, "person"},
143+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "action"}, "detail"},
144+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "random"}, ""},
145+
{&cfg.Route{Path: "/api/:object/:action/:something"}, newHTTPRequest(), &cfg.Rule{Target: cfg.RouteParam, Modifier: "random"}, ""},
146+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.RequestNumber}, "2"},
147+
{route, newHTTPRequest(), &cfg.Rule{Target: cfg.Target("random target")}, ""},
147148
}
148149

149150
for _, tt := range tests {
150151
t.Run(fmt.Sprintf("Target: %v, Modifier: %v", tt.rule.Target, tt.rule.Modifier), func(t *testing.T) {
151-
actual, err := matcher.NewRuleMatcher(route, tt.rule, matcher.Context{
152+
actual, err := matcher.NewRuleMatcher(tt.route, tt.rule, matcher.Context{
152153
HTTPRequest: tt.request,
153154
SessionID: sessionID,
154155
}, mem).GetTargetValue()

0 commit comments

Comments
 (0)
This repository has been archived.