More test coverage

This commit is contained in:
Winni Neessen 2022-05-07 15:59:20 +02:00
parent 0ded55e697
commit 49b2ac95f6
Signed by: wneessen
GPG key ID: 5F3AF39B820C119D
3 changed files with 16 additions and 13 deletions

View file

@ -1,6 +1,10 @@
# go-hibp - Simple go client for the HIBP API # go-hibp - Simple go client for the HIBP API
[![Go Reference](https://pkg.go.dev/badge/github.com/wneessen/go-hibp.svg)](https://pkg.go.dev/github.com/wneessen/go-hibp) [![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/go-hibp)](https://goreportcard.com/report/github.com/wneessen/go-hibp) [![Build Status](https://api.cirrus-ci.com/github/wneessen/go-hibp.svg)](https://cirrus-ci.com/github/wneessen/go-hibp) <a href="https://ko-fi.com/D1D24V9IX"><img src="https://uploads-ssl.webflow.com/5c14e387dab576fe667689cf/5cbed8a4ae2b88347c06c923_BuyMeACoffee_blue.png" height="20" alt="buy ma a coffee"></a> [![Go Reference](https://pkg.go.dev/badge/github.com/wneessen/go-hibp.svg)](https://pkg.go.dev/github.com/wneessen/go-hibp)
[![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/go-hibp)](https://goreportcard.com/report/github.com/wneessen/go-hibp)
[![Build Status](https://api.cirrus-ci.com/github/wneessen/go-hibp.svg)](https://cirrus-ci.com/github/wneessen/go-hibp)
[![codecov](https://codecov.io/gh/wneessen/go-hibp/branch/main/graph/badge.svg?token=ST96EC0JHU)](https://codecov.io/gh/wneessen/go-hibp)
<a href="https://ko-fi.com/D1D24V9IX"><img src="https://uploads-ssl.webflow.com/5c14e387dab576fe667689cf/5cbed8a4ae2b88347c06c923_BuyMeACoffee_blue.png" height="20" alt="buy ma a coffee"></a>
This Go package provides an simple to use interface to the excellent This Go package provides an simple to use interface to the excellent
"[Have I Been Pwned](https://haveibeenpwned.com/API/v3)" (HIBP) API by Troy Hunt. "[Have I Been Pwned](https://haveibeenpwned.com/API/v3)" (HIBP) API by Troy Hunt.

View file

@ -198,11 +198,12 @@ func TestBreachedAccountWithoutTruncate(t *testing.T) {
breachDomain string breachDomain string
shouldFail bool shouldFail bool
}{ }{
{"account-exists is breached once", "account-exists", "Adobe", {"account-exists is breached once", "account-exists@hibp-integration-tests.com", "Adobe",
"adobe.com", false}, "adobe.com", false},
{"multiple-breaches is breached multiple times", "multiple-breaches", "Adobe", {"multiple-breaches is breached multiple times", "multiple-breaches@hibp-integration-tests.com", "Adobe",
"adobe.com", false}, "adobe.com", false},
{"opt-out is not breached", "opt-out", "", "", true}, {"opt-out is not breached", "opt-out@hibp-integration-tests.com", "", "", true},
{"empty string should fail", "", "", "", true},
} }
apiKey := os.Getenv("HIBP_API_KEY") apiKey := os.Getenv("HIBP_API_KEY")
@ -212,9 +213,7 @@ func TestBreachedAccountWithoutTruncate(t *testing.T) {
hc := New(WithApiKey(apiKey), WithRateLimitSleep()) hc := New(WithApiKey(apiKey), WithRateLimitSleep())
for _, tc := range testTable { for _, tc := range testTable {
t.Run(tc.testName, func(t *testing.T) { t.Run(tc.testName, func(t *testing.T) {
breachDetails, _, err := hc.BreachApi.BreachedAccount( breachDetails, _, err := hc.BreachApi.BreachedAccount(tc.accountName, WithoutTruncate())
fmt.Sprintf("%s@hibp-integration-tests.com", tc.accountName),
WithoutTruncate())
if err != nil && !tc.shouldFail { if err != nil && !tc.shouldFail {
t.Error(err) t.Error(err)
return return

View file

@ -1,7 +1,6 @@
package hibp package hibp
import ( import (
"fmt"
"os" "os"
"testing" "testing"
) )
@ -12,9 +11,11 @@ func TestPasteAccount(t *testing.T) {
testName string testName string
accountName string accountName string
isBreached bool isBreached bool
shouldFail bool
}{ }{
{"account-exists is breached once", "account-exists", true}, {"account-exists is breached once", "account-exists@hibp-integration-tests.com", true, false},
{"opt-out is not breached", "opt-out", false}, {"opt-out is not breached", "opt-out-breach@hibp-integration-tests.com", false, true},
{"empty account name", "", false, true},
} }
apiKey := os.Getenv("HIBP_API_KEY") apiKey := os.Getenv("HIBP_API_KEY")
@ -24,9 +25,8 @@ func TestPasteAccount(t *testing.T) {
hc := New(WithApiKey(apiKey)) hc := New(WithApiKey(apiKey))
for _, tc := range testTable { for _, tc := range testTable {
t.Run(tc.testName, func(t *testing.T) { t.Run(tc.testName, func(t *testing.T) {
pasteDetails, _, err := hc.PasteApi.PastedAccount( pasteDetails, _, err := hc.PasteApi.PastedAccount(tc.accountName)
fmt.Sprintf("%s@hibp-integration-tests.com", tc.accountName)) if err != nil && !tc.shouldFail {
if err != nil && tc.isBreached {
t.Error(err) t.Error(err)
} }