7
7
"bytes"
8
8
"net/http"
9
9
"net/http/httptest"
10
+ "strconv"
10
11
"testing"
11
12
12
13
chi "github.com/go-chi/chi/v5"
@@ -39,7 +40,7 @@ func TestRoute2(t *testing.T) {
39
40
recorder := httptest .NewRecorder ()
40
41
recorder .Body = buff
41
42
42
- var route int
43
+ hit := - 1
43
44
44
45
r := NewRoute ()
45
46
r .Group ("/{username}/{reponame}" , func () {
@@ -51,7 +52,7 @@ func TestRoute2(t *testing.T) {
51
52
assert .EqualValues (t , "gitea" , reponame )
52
53
tp := chi .URLParam (req , "type" )
53
54
assert .EqualValues (t , "issues" , tp )
54
- route = 0
55
+ hit = 0
55
56
})
56
57
57
58
r .Get ("/{type:issues|pulls}/{index}" , func (resp http.ResponseWriter , req * http.Request ) {
@@ -63,10 +64,13 @@ func TestRoute2(t *testing.T) {
63
64
assert .EqualValues (t , "issues" , tp )
64
65
index := chi .URLParam (req , "index" )
65
66
assert .EqualValues (t , "1" , index )
66
- route = 1
67
+ hit = 1
67
68
})
68
69
}, func (resp http.ResponseWriter , req * http.Request ) {
69
- resp .WriteHeader (http .StatusOK )
70
+ if stop , err := strconv .Atoi (req .FormValue ("stop" )); err == nil {
71
+ hit = stop
72
+ resp .WriteHeader (http .StatusOK )
73
+ }
70
74
})
71
75
72
76
r .Group ("/issues/{index}" , func () {
@@ -77,7 +81,7 @@ func TestRoute2(t *testing.T) {
77
81
assert .EqualValues (t , "gitea" , reponame )
78
82
index := chi .URLParam (req , "index" )
79
83
assert .EqualValues (t , "1" , index )
80
- route = 2
84
+ hit = 2
81
85
})
82
86
})
83
87
})
@@ -86,27 +90,33 @@ func TestRoute2(t *testing.T) {
86
90
assert .NoError (t , err )
87
91
r .ServeHTTP (recorder , req )
88
92
assert .EqualValues (t , http .StatusOK , recorder .Code )
89
- assert .EqualValues (t , 0 , route )
93
+ assert .EqualValues (t , 0 , hit )
90
94
91
95
req , err = http .NewRequest ("GET" , "http://localhost:8000/gitea/gitea/issues/1" , nil )
92
96
assert .NoError (t , err )
93
97
r .ServeHTTP (recorder , req )
94
98
assert .EqualValues (t , http .StatusOK , recorder .Code )
95
- assert .EqualValues (t , 1 , route )
99
+ assert .EqualValues (t , 1 , hit )
100
+
101
+ req , err = http .NewRequest ("GET" , "http://localhost:8000/gitea/gitea/issues/1?stop=100" , nil )
102
+ assert .NoError (t , err )
103
+ r .ServeHTTP (recorder , req )
104
+ assert .EqualValues (t , http .StatusOK , recorder .Code )
105
+ assert .EqualValues (t , 100 , hit )
96
106
97
107
req , err = http .NewRequest ("GET" , "http://localhost:8000/gitea/gitea/issues/1/view" , nil )
98
108
assert .NoError (t , err )
99
109
r .ServeHTTP (recorder , req )
100
110
assert .EqualValues (t , http .StatusOK , recorder .Code )
101
- assert .EqualValues (t , 2 , route )
111
+ assert .EqualValues (t , 2 , hit )
102
112
}
103
113
104
114
func TestRoute3 (t * testing.T ) {
105
115
buff := bytes .NewBufferString ("" )
106
116
recorder := httptest .NewRecorder ()
107
117
recorder .Body = buff
108
118
109
- var route int
119
+ hit := - 1
110
120
111
121
m := NewRoute ()
112
122
r := NewRoute ()
@@ -116,20 +126,20 @@ func TestRoute3(t *testing.T) {
116
126
m .Group ("/{username}/{reponame}" , func () {
117
127
m .Group ("/branch_protections" , func () {
118
128
m .Get ("" , func (resp http.ResponseWriter , req * http.Request ) {
119
- route = 0
129
+ hit = 0
120
130
})
121
131
m .Post ("" , func (resp http.ResponseWriter , req * http.Request ) {
122
- route = 1
132
+ hit = 1
123
133
})
124
134
m .Group ("/{name}" , func () {
125
135
m .Get ("" , func (resp http.ResponseWriter , req * http.Request ) {
126
- route = 2
136
+ hit = 2
127
137
})
128
138
m .Patch ("" , func (resp http.ResponseWriter , req * http.Request ) {
129
- route = 3
139
+ hit = 3
130
140
})
131
141
m .Delete ("" , func (resp http.ResponseWriter , req * http.Request ) {
132
- route = 4
142
+ hit = 4
133
143
})
134
144
})
135
145
})
@@ -140,29 +150,29 @@ func TestRoute3(t *testing.T) {
140
150
assert .NoError (t , err )
141
151
r .ServeHTTP (recorder , req )
142
152
assert .EqualValues (t , http .StatusOK , recorder .Code )
143
- assert .EqualValues (t , 0 , route )
153
+ assert .EqualValues (t , 0 , hit )
144
154
145
155
req , err = http .NewRequest ("POST" , "http://localhost:8000/api/v1/repos/gitea/gitea/branch_protections" , nil )
146
156
assert .NoError (t , err )
147
157
r .ServeHTTP (recorder , req )
148
158
assert .EqualValues (t , http .StatusOK , recorder .Code , http .StatusOK )
149
- assert .EqualValues (t , 1 , route )
159
+ assert .EqualValues (t , 1 , hit )
150
160
151
161
req , err = http .NewRequest ("GET" , "http://localhost:8000/api/v1/repos/gitea/gitea/branch_protections/master" , nil )
152
162
assert .NoError (t , err )
153
163
r .ServeHTTP (recorder , req )
154
164
assert .EqualValues (t , http .StatusOK , recorder .Code )
155
- assert .EqualValues (t , 2 , route )
165
+ assert .EqualValues (t , 2 , hit )
156
166
157
167
req , err = http .NewRequest ("PATCH" , "http://localhost:8000/api/v1/repos/gitea/gitea/branch_protections/master" , nil )
158
168
assert .NoError (t , err )
159
169
r .ServeHTTP (recorder , req )
160
170
assert .EqualValues (t , http .StatusOK , recorder .Code )
161
- assert .EqualValues (t , 3 , route )
171
+ assert .EqualValues (t , 3 , hit )
162
172
163
173
req , err = http .NewRequest ("DELETE" , "http://localhost:8000/api/v1/repos/gitea/gitea/branch_protections/master" , nil )
164
174
assert .NoError (t , err )
165
175
r .ServeHTTP (recorder , req )
166
176
assert .EqualValues (t , http .StatusOK , recorder .Code )
167
- assert .EqualValues (t , 4 , route )
177
+ assert .EqualValues (t , 4 , hit )
168
178
}
0 commit comments