mirror of
https://github.com/wneessen/go-hibp.git
synced 2024-12-22 10:20:37 +01:00
commit
bff329f46c
2 changed files with 30 additions and 0 deletions
16
breach.go
16
breach.go
|
@ -161,6 +161,22 @@ func (b *BreachAPI) BreachByName(n string, options ...BreachOption) (*Breach, *h
|
|||
return bd, hr, nil
|
||||
}
|
||||
|
||||
// LatestBreach returns the single most recent breach
|
||||
func (b *BreachAPI) LatestBreach() (*Breach, *http.Response, error) {
|
||||
au := fmt.Sprintf("%s/latestbreach", BaseURL)
|
||||
hb, hr, err := b.hibp.HTTPResBody(http.MethodGet, au, nil)
|
||||
if err != nil {
|
||||
return nil, hr, err
|
||||
}
|
||||
|
||||
var bd *Breach
|
||||
if err := json.Unmarshal(hb, &bd); err != nil {
|
||||
return nil, hr, err
|
||||
}
|
||||
|
||||
return bd, hr, nil
|
||||
}
|
||||
|
||||
// DataClasses are attribute of a record compromised in a breach. This method returns a list of strings
|
||||
// with all registered data classes known to HIBP
|
||||
func (b *BreachAPI) DataClasses() ([]string, *http.Response, error) {
|
||||
|
|
|
@ -162,6 +162,20 @@ func TestBreachAPI_BreachByName_Errors(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// TestBreachAPI_LatestBreach tests the LatestBreach method of the breaches API
|
||||
func TestBreachAPI_LatestBreach(t *testing.T) {
|
||||
hc := New()
|
||||
breach, _, err := hc.BreachAPI.LatestBreach()
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
if breach == nil {
|
||||
t.Error("No breach returned")
|
||||
}
|
||||
}
|
||||
|
||||
// TestBreachAPI_DataClasses tests the DataClasses() method of the breaches API
|
||||
func TestBreachAPI_DataClasses(t *testing.T) {
|
||||
hc := New()
|
||||
|
|
Loading…
Reference in a new issue