(t *testing.T)
| 1149 | } |
| 1150 | |
| 1151 | func TestProcessesRequestWithShuntBackend(t *testing.T) { |
| 1152 | u, _ := url.ParseRequestURI("https://www.example.org/hello") |
| 1153 | reqBody := strings.NewReader("sample request body") |
| 1154 | r := &http.Request{ |
| 1155 | URL: u, |
| 1156 | Method: "POST", |
| 1157 | Body: io.NopCloser(reqBody), |
| 1158 | Header: http.Header{"X-Test-Header": []string{"test value"}}} |
| 1159 | w := httptest.NewRecorder() |
| 1160 | |
| 1161 | fr := make(filters.Registry) |
| 1162 | fr.Register(builtin.NewAppendResponseHeader()) |
| 1163 | |
| 1164 | doc := `hello: Path("/hello") -> appendResponseHeader("X-Test-Response-Header", "response header value") -> <shunt>` |
| 1165 | tp, err := newTestProxyWithFilters(fr, doc, FlagsNone) |
| 1166 | if err != nil { |
| 1167 | t.Error(err) |
| 1168 | return |
| 1169 | } |
| 1170 | |
| 1171 | defer tp.close() |
| 1172 | |
| 1173 | tp.proxy.ServeHTTP(w, r) |
| 1174 | |
| 1175 | if h, ok := w.Header()["X-Test-Response-Header"]; !ok || h[0] != "response header value" { |
| 1176 | t.Error("wrong response header") |
| 1177 | } |
| 1178 | _, err = reqBody.ReadByte() |
| 1179 | if err != io.EOF { |
| 1180 | t.Error("request body was not read") |
| 1181 | } |
| 1182 | |
| 1183 | } |
| 1184 | |
| 1185 | func TestProcessesRequestWithPriorityRoute(t *testing.T) { |
| 1186 | s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…