1 changed files with 51 additions and 0 deletions
@ -0,0 +1,51 @@ |
|||
package caddyhttp |
|||
|
|||
import ( |
|||
"context" |
|||
"io/ioutil" |
|||
"net/http" |
|||
"net/http/httptest" |
|||
"testing" |
|||
|
|||
"github.com/caddyserver/caddy2" |
|||
) |
|||
|
|||
func TestStaticResponseHandler(t *testing.T) { |
|||
r := fakeRequest() |
|||
w := httptest.NewRecorder() |
|||
|
|||
s := Static{ |
|||
StatusCode: http.StatusNotFound, |
|||
Headers: http.Header{ |
|||
"X-Test": []string{"Testing"}, |
|||
}, |
|||
Body: "Text", |
|||
Close: true, |
|||
} |
|||
|
|||
err := s.ServeHTTP(w, r) |
|||
if err != nil { |
|||
t.Errorf("did not expect an error, but got: %v", err) |
|||
} |
|||
|
|||
resp := w.Result() |
|||
respBody, _ := ioutil.ReadAll(resp.Body) |
|||
|
|||
if resp.StatusCode != http.StatusNotFound { |
|||
t.Errorf("expected status %d but got %d", http.StatusNotFound, resp.StatusCode) |
|||
} |
|||
if resp.Header.Get("X-Test") != "Testing" { |
|||
t.Errorf("expected x-test header to be 'testing' but was '%s'", resp.Header.Get("X-Test")) |
|||
} |
|||
if string(respBody) != "Text" { |
|||
t.Errorf("expected body to be 'test' but was '%s'", respBody) |
|||
} |
|||
} |
|||
|
|||
func fakeRequest() *http.Request { |
|||
r, _ := http.NewRequest("GET", "/", nil) |
|||
repl := caddy2.NewReplacer() |
|||
ctx := context.WithValue(r.Context(), caddy2.ReplacerCtxKey, repl) |
|||
r = r.WithContext(ctx) |
|||
return r |
|||
} |
Loading…
Reference in new issue