-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpaths_test.go
65 lines (52 loc) · 1.21 KB
/
paths_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package dispatch_test
import (
"testing"
"github.com/olafal0/dispatch"
)
func TestPathMatching(t *testing.T) {
_, err := dispatch.NewAPIPath("")
if err == nil {
t.Error("Expected error")
}
_, err = dispatch.NewAPIPath("GET/")
if err != nil {
t.Error(err)
}
apiPath, err := dispatch.NewAPIPath("GET/test/one/two")
if err != nil {
t.Error(err)
}
_, match := apiPath.Match("GET", "/test/one/two")
if !match {
t.Error("match should have been true")
}
_, match = apiPath.Match("GET", "/some/thing/else")
if match {
t.Error("match should have been false")
}
_, match = apiPath.Match("GET", "/")
if match {
t.Error("match should have been false")
}
_, match = apiPath.Match("GET", "")
if match {
t.Error("match should have been false")
}
_, match = apiPath.Match("POST", "/test/one/two")
if match {
t.Error("match should have been false")
}
}
func TestPathVariables(t *testing.T) {
apiPath, err := dispatch.NewAPIPath("POST/test/{foo}/user/{uid}")
if err != nil {
t.Error(err)
}
pathVars, match := apiPath.Match("POST", "test/x/user/y")
if !match {
t.Error("match should have been true")
}
if pathVars["foo"] != "x" {
t.Errorf("Incorrect path var %s", pathVars["foo"])
}
}