Adding ReportError test and HTTP Test server reuse

pull/3494/head
Amim Knabben 2018-12-28 09:53:52 -02:00
parent 6a0406611e
commit f948bf8136
1 changed files with 21 additions and 7 deletions

View File

@ -31,6 +31,16 @@ import (
"github.com/spf13/viper"
)
func startTestHTTPServer(returnError bool, response string) *httptest.Server {
return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if returnError {
http.Error(w, response, 400)
} else {
fmt.Fprintf(w, response)
}
}))
}
func TestFormatError(t *testing.T) {
var testErr error
if _, err := FormatError(testErr); err == nil {
@ -70,22 +80,26 @@ func TestUploadError(t *testing.T) {
errMsg, _ := FormatError(testErr)
jsonErrMsg, _ := MarshallError(errMsg, "default", version.GetVersion())
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, world!")
}))
server := startTestHTTPServer(false, "http test")
if err := UploadError(jsonErrMsg, server.URL); err != nil {
t.Fatalf("Unexpected error: %v", err)
}
server = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
http.Error(w, "failed to write report", 400)
}))
server = startTestHTTPServer(true, "failed to write report")
if err := UploadError(jsonErrMsg, server.URL); err == nil {
t.Fatalf("UploadError should have errored from a 400 response")
}
}
func TestReportError(t *testing.T) {
testErr := errors.New("TestError 1")
server := startTestHTTPServer(false, "http test")
if err := ReportError(testErr, server.URL); err != nil {
t.Fatalf("ReportError")
}
}
func revertLookPath(l LookPath) {
lookPath = l
}