From 77a3b1f3c577c31a77ce00b61d38dc3845a261c3 Mon Sep 17 00:00:00 2001 From: Winni Neessen Date: Sat, 29 Oct 2022 16:58:56 +0200 Subject: [PATCH] Better test coverage --- hibp_test.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/hibp_test.go b/hibp_test.go index 4423cb1..2d81e28 100644 --- a/hibp_test.go +++ b/hibp_test.go @@ -2,6 +2,7 @@ package hibp import ( "fmt" + "net/http" "os" "testing" "time" @@ -72,3 +73,39 @@ func TestNewWithUserAgent(t *testing.T) { DefaultUserAgent, hc.ua) } } + +func TestClient_HTTPReq(t *testing.T) { + u1 := "this://is.invalid.tld/with/invalid/chars/" + string([]byte{0x7f}) + u2 := "this://is.invalid.tld/" + hc := New() + _, err := hc.HTTPReq(http.MethodGet, u1, map[string]string{"foo": "bar"}) + if err == nil { + t.Errorf("HTTP GET request was supposed to fail, but didn't") + } + _, err = hc.HTTPReq("äöü", u2, map[string]string{"foo": "bar"}) + if err == nil { + t.Errorf("HTTP GET request was supposed to fail, but didn't") + } + _, err = hc.HTTPReq("POST", u2, map[string]string{"foo": "bar"}) + if err != nil { + t.Errorf("HTTP POST request failed: %s", err) + } +} + +func TestClient_HTTPResBody(t *testing.T) { + u1 := "this://is.invalid.tld/with/invalid/chars/" + string([]byte{0x7f}) + u2 := "this://is.invalid.tld/" + hc := New() + _, _, err := hc.HTTPResBody(http.MethodGet, u1, map[string]string{"foo": "bar"}) + if err == nil { + t.Errorf("HTTP GET request was supposed to fail, but didn't") + } + _, _, err = hc.HTTPResBody("äöü", u2, map[string]string{"foo": "bar"}) + if err == nil { + t.Errorf("HTTP GET request was supposed to fail, but didn't") + } + _, _, err = hc.HTTPResBody("POST", u2, map[string]string{"foo": "bar"}) + if err == nil { + t.Errorf("HTTP POST request was supposed to fail, but didn't") + } +}