go-proxy/proxy_test.go

39 lines
715 B
Go

package proxy
import (
"io/ioutil"
"net/http"
"net/http/httptest"
"strings"
"testing"
"github.com/pkg/errors"
)
func TestProxy(t *testing.T) {
res := httptest.NewRecorder()
req, err := http.NewRequest("GET", "http://example.com", nil)
if err != nil {
t.Fatalf("%+v", errors.WithStack(err))
}
proxy := New()
proxy.ServeHTTP(res, req)
if e, g := http.StatusOK, res.Code; e != g {
t.Errorf("res.Code: expected '%v', got '%v'", e, g)
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
t.Errorf("%+v", errors.WithStack(err))
}
marker := "<title>Example Domain</title>"
if !strings.Contains(string(body), marker) {
t.Errorf("could not find expected marker in response body")
}
}