MCPcopy
hub / github.com/kserve/kserve / TestBadResponse

Function TestBadResponse

pkg/logger/handler_test.go:240–276  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

238}
239
240func TestBadResponse(t *testing.T) {
241 g := gomega.NewGomegaWithT(t)
242
243 predictorRequest := []byte(`{"instances":[[0,0,0]]}`)
244 predictorResponse := "BadRequest\n"
245
246 // Start a local HTTP server
247 predictor := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
248 b, err := io.ReadAll(req.Body)
249 g.Expect(err).ToNot(gomega.HaveOccurred())
250 g.Expect(b).To(gomega.Equal(predictorRequest))
251 http.Error(rw, "BadRequest", http.StatusBadRequest)
252 }))
253 // Close the server when test finishes
254 defer predictor.Close()
255
256 reader := bytes.NewReader(predictorRequest)
257 r := httptest.NewRequest(http.MethodPost, "http://a", reader)
258 w := httptest.NewRecorder()
259 logger, _ := pkglogging.NewLogger("", "INFO")
260 pkgtest.SetupTestLogger()
261 logSvcUrl, err := url.Parse("http://loggersvc")
262 g.Expect(err).ToNot(gomega.HaveOccurred())
263 sourceUri, err := url.Parse("http://localhost:9081/")
264 g.Expect(err).ToNot(gomega.HaveOccurred())
265 targetUri, err := url.Parse(predictor.URL)
266 g.Expect(err).ToNot(gomega.HaveOccurred())
267
268 StartDispatcher(1, &MockStore{}, &ImmediateBatch{}, logger)
269 httpProxy := httputil.NewSingleHostReverseProxy(targetUri)
270 oh := New(logSvcUrl, sourceUri, v1beta1.LogAll, "mymodel", "default", "default",
271 "default", httpProxy, nil, "", nil, true)
272
273 oh.ServeHTTP(w, r)
274 g.Expect(w.Code).To(gomega.Equal(400))
275 g.Expect(w.Body.String()).To(gomega.Equal(predictorResponse))
276}
277
278func TestLoggerWithS3Store(t *testing.T) {
279 g := gomega.NewGomegaWithT(t)

Callers

nothing calls this directly

Calls 7

StartDispatcherFunction · 0.85
CloseMethod · 0.80
NewReaderMethod · 0.80
NewFunction · 0.70
ErrorMethod · 0.45
ServeHTTPMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected