commit - 562d5c1eb8a76a65d49d14b36edefb846f747494
commit + 64e18a8d1ef9f178f91aed840a371f3785c4d188
blob - b9feba78821be80819231914337efeb72971926a
blob + 779711b252a08733adaad116d0cc3e7242ca061d
--- checker.go
+++ checker.go
Expr: filter,
}
if err := scheduleCheck(c, f); err != nil {
- return fmt.Errorf("check services %q: %w", filter, err)
+ return fmt.Errorf("check services %s: %w", filter, err)
}
return nil
}
Expr: filter,
}
if err := scheduleCheck(c, f); err != nil {
- return fmt.Errorf("check hosts %q: %w", filter, err)
+ return fmt.Errorf("check hosts %s: %w", filter, err)
}
return nil
}
blob - 80a024bcecbca0755bbb780f1fc35472380a6206
blob + 36b12a496a825ccc2aef75a719a123d76ce3879a
--- crud.go
+++ crud.go
func (c *Client) Hosts(filter string) ([]Host, error) {
objects, err := c.filterObjects("/objects/hosts", filter)
if err != nil {
- return nil, fmt.Errorf("get hosts filter %q: %w", filter, err)
+ return nil, fmt.Errorf("get hosts filter %s: %w", filter, err)
}
var hosts []Host
for _, o := range objects {
v, ok := o.(Host)
if !ok {
- return nil, fmt.Errorf("get hosts filter %q: %T in response", filter, v)
+ return nil, fmt.Errorf("get hosts filter %s: %T in response", filter, v)
}
hosts = append(hosts, v)
}
func (c *Client) Services(filter string) ([]Service, error) {
objects, err := c.filterObjects("/objects/services", filter)
if err != nil {
- return nil, fmt.Errorf("get services filter %q: %w", filter, err)
+ return nil, fmt.Errorf("get services filter %s: %w", filter, err)
}
var services []Service
for _, o := range objects {
v, ok := o.(Service)
if !ok {
- return nil, fmt.Errorf("get services filter %q: %T in response", filter, v)
+ return nil, fmt.Errorf("get services filter %s: %T in response", filter, v)
}
services = append(services, v)
}
func (c *Client) Users(filter string) ([]User, error) {
objects, err := c.filterObjects("/objects/users", filter)
if err != nil {
- return nil, fmt.Errorf("get users filter %q: %w", filter, err)
+ return nil, fmt.Errorf("get users filter %s: %w", filter, err)
}
var users []User
for _, o := range objects {
v, ok := o.(User)
if !ok {
- return nil, fmt.Errorf("get users filter %q: %T in response", filter, v)
+ return nil, fmt.Errorf("get users filter %s: %T in response", filter, v)
}
users = append(users, v)
}
func (c *Client) HostGroups(filter string) ([]HostGroup, error) {
objects, err := c.filterObjects("/objects/hostgroups", filter)
if err != nil {
- return nil, fmt.Errorf("get hostgroups filter %q: %w", filter, err)
+ return nil, fmt.Errorf("get hostgroups filter %s: %w", filter, err)
}
var hostgroups []HostGroup
for _, o := range objects {
v, ok := o.(HostGroup)
if !ok {
- return nil, fmt.Errorf("get hostgroups filter %q: %T in response", filter, v)
+ return nil, fmt.Errorf("get hostgroups filter %s: %T in response", filter, v)
}
hostgroups = append(hostgroups, v)
}
blob - 0aed23206f89c7a23d04fe9bc52bdfa190ae4b18
blob + 98555ec48091ac0edc461dbba2a34659164d40b9
--- crud.skel
+++ crud.skel
func (c *Client) TYPEs(filter string) ([]TYPE, error) {
objects, err := c.filterObjects("/objects/PLURAL", filter)
if err != nil {
- return nil, fmt.Errorf("get PLURAL filter %q: %w", filter, err)
+ return nil, fmt.Errorf("get PLURAL filter %s: %w", filter, err)
}
var PLURAL []TYPE
for _, o := range objects {
v, ok := o.(TYPE)
if !ok {
- return nil, fmt.Errorf("get PLURAL filter %q: %T in response", filter, v)
+ return nil, fmt.Errorf("get PLURAL filter %s: %T in response", filter, v)
}
PLURAL = append(PLURAL, v)
}
blob - 6706b881d34f7c9f765071850524e5c24304ee91
blob + e6e5d8c1eac900a0fce5682be080cdc969454f7e
--- icinga_test.go
+++ icinga_test.go
t.Error(err)
}
}
+
+func TestNonExistentService(t *testing.T) {
+ client, err := newTestClient()
+ if err != nil {
+ t.Skipf("no local test icinga? got: %v", err)
+ }
+
+ filter := `match("blablabla", service.name)`
+ service, err := client.Services(filter)
+ if err == nil {
+ t.Fail()
+ }
+ t.Logf("lookup %s: %v", name, err)
+ t.Logf("%+v", service)
+}
blob - fef3e9de2d177ab3cfb246a54ca271d1a65bf22f
blob + faef3a21b4d7a2dd7c852d98da51a75a11c30355
--- object.go
+++ object.go
return nil, err
}
defer resp.Body.Close()
- if expr != "" && resp.StatusCode == http.StatusNotFound {
+ iresp, err := parseResponse(resp.Body)
+ if err != nil {
+ return nil, fmt.Errorf("parse response: %v", err)
+ } else if iresp.Error != nil {
+ return nil, iresp.Error
+ } else if resp.StatusCode != http.StatusOK {
+ return nil, errors.New(resp.Status)
+ } else if len(iresp.Results) == 0 {
return nil, ErrNoMatch
-
}
- iresp, err := parseResponse(resp.Body)
- if err != nil {
- return nil, fmt.Errorf("parse response: %v", err)
- } else if iresp.Error != nil {
- return nil, iresp.Error
- } else if resp.StatusCode != http.StatusOK {
- return nil, errors.New(resp.Status)
- }
return iresp.Results, nil
}