Skip to content

Commit

Permalink
Add (failing) tests for path parts
Browse files Browse the repository at this point in the history
  • Loading branch information
Luan van Pletsen committed Apr 27, 2018
1 parent 66d9c0b commit b12ebf0
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 4 deletions.
19 changes: 15 additions & 4 deletions mw_url_rewrite.go
Original file line number Diff line number Diff line change
Expand Up @@ -416,10 +416,21 @@ func checkPathParts(r *http.Request, options map[string]apidef.StringRegexMap, a
pathParts := strings.Split(r.URL.Path, "/")

for _, part := range pathParts {
_, b := mr.Check(part)
if len(b) > 0 {
kn := fmt.Sprintf("trigger-%d-%s-%d", triggernum, mv, fCount)
contextData[kn] = b
println("part")
println(part)
println("mr.NotMatchPattern")
println(mr.NotMatchPattern)
println("mr.MatchPattern")
println(mr.MatchPattern)
triggered, b := mr.Check(part)
println("triggered")
println(triggered)

if triggered {
if len(b) > 0 {
kn := fmt.Sprintf("trigger-%d-%s-%d", triggernum, mv, fCount)
contextData[kn] = b
}
fCount++
}
}
Expand Down
46 changes: 46 additions & 0 deletions mw_url_rewrite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -629,6 +629,52 @@ func TestRewriterTriggers(t *testing.T) {
r,
}
},
func() TestDef {
r, _ := http.NewRequest("GET", "/test/foo/rewrite", nil)
hOpt := apidef.StringRegexMap{NotMatchPattern: "not-matched"}
hOpt.Init()

return TestDef{
"PathPart Single Negative",
"/test/foo/rewrite", "/change/to/me/ignore",
"/test/foo/rewrite", "/change/to/me/rewritten",
[]apidef.RoutingTrigger{
{
On: apidef.Any,
Options: apidef.RoutingTriggerOptions{
PathPartMatches: map[string]apidef.StringRegexMap{
"pathpart": hOpt,
},
},
RewriteTo: "/change/to/me/rewritten",
},
},
r,
}
},
func() TestDef {
r, _ := http.NewRequest("GET", "/test/foo/rewrite", nil)
hOpt := apidef.StringRegexMap{NotMatchPattern: "foo"}
hOpt.Init()

return TestDef{
"PathPart Single Negative Fail",
"/test/foo/rewrite", "/change/to/me/ignore",
"/test/foo/rewrite", "/change/to/me/ignore",
[]apidef.RoutingTrigger{
{
On: apidef.Any,
Options: apidef.RoutingTriggerOptions{
PathPartMatches: map[string]apidef.StringRegexMap{
"pathpart": hOpt,
},
},
RewriteTo: "/change/to/me/rewritten",
},
},
r,
}
},
func() TestDef {
r, _ := http.NewRequest("GET", "/test/foo/rewrite/foo", nil)
hOpt := apidef.StringRegexMap{MatchPattern: "foo"}
Expand Down

0 comments on commit b12ebf0

Please sign in to comment.