| 398 | } |
| 399 | |
| 400 | func TestTargetProvider(t *testing.T) { |
| 401 | t1 := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 402 | fmt.Fprint(w, "target 1") |
| 403 | })) |
| 404 | defer t1.Close() |
| 405 | url1, _ := url.Parse(t1.URL) |
| 406 | |
| 407 | e := echo.New() |
| 408 | tp := &testProvider{} |
| 409 | tp.target = &ProxyTarget{Name: "target 1", URL: url1} |
| 410 | e.Use(Proxy(tp)) |
| 411 | rec := httptest.NewRecorder() |
| 412 | req := httptest.NewRequest(http.MethodGet, "/", nil) |
| 413 | e.ServeHTTP(rec, req) |
| 414 | body := rec.Body.String() |
| 415 | assert.Equal(t, "target 1", body) |
| 416 | } |
| 417 | |
| 418 | func TestFailNextTarget(t *testing.T) { |
| 419 | url1, err := url.Parse("http://dummy:8080") |