commit - 46ca0f68f521c66d60a5d6646a0a15350533c9b8
commit + d762d1d1aeb9ddb5a796ccfe1fefa3edea7e242f
blob - 779711b252a08733adaad116d0cc3e7242ca061d
blob + c24b1c8b4b98bd3a7e656f48e9f62c5cc40912a7
--- checker.go
+++ checker.go
}
if resp.StatusCode == http.StatusOK {
return nil
- } else if resp.StatusCode == http.StatusNotFound {
- return ErrNoMatch
}
+
defer resp.Body.Close()
iresp, err := parseResponse(resp.Body)
if err != nil {
return fmt.Errorf("parse response: %v", err)
- }
- if iresp.Error != nil {
+ } else if iresp.Error != nil {
return iresp.Error
+ } else if len(iresp.Results) == 0 {
+ return ErrNoMatch
}
return fmt.Errorf("%s", resp.Status)
}
blob - 46576a0932c31df245fbdeb69470db5308629138
blob + 35cc262e6e5be08aa939f6a08886d9d7c1f82d26
--- icinga_test.go
+++ icinga_test.go
"reflect"
"sort"
"testing"
+ "time"
"olowe.co/icinga"
)
-func randomHostname() string {
+func init() {
+ rand.Seed(time.Now().Unix())
+}
+
+func randomHostname(suffix string) string {
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
b := make([]rune, 8)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
- return string(b) + ".example.org"
+ return string(b) + suffix
}
func createTestHosts(c *icinga.Client) ([]icinga.Host, error) {
var hosts []icinga.Host
for i := 0; i < 5; i++ {
h := icinga.Host{
- Name: randomHostname(),
+ Name: randomHostname(".example.org"),
CheckCommand: "random",
Groups: []string{hostgroup.Name},
}
if len(a) != len(b) {
return false
}
- for i, v := range a {
- if v != b[i] {
+ for i := range a {
+ if a[i] != b[i] {
return false
}
}
}
defer func() {
for _, h := range hosts {
- if err := client.DeleteHost(h.Name, false); err != nil {
+ if err := client.DeleteHost(h.Name, true); err != nil {
t.Log(err)
}
}
t.Skipf("no local test icinga? got: %v", err)
}
- s := icinga.Service{Name: "9p.io!http"}
+ h := icinga.Host{
+ Name: randomHostname(".checker.example.com"),
+ CheckCommand: "hostalive",
+ }
+ if err := client.CreateHost(h); err != nil {
+ t.Fatal(err)
+ }
+
+ s := icinga.Service{
+ Name: h.Name + "!http",
+ CheckCommand: "http",
+ }
+ if err := client.CreateService(s); err != nil {
+ t.Fatal(err)
+ }
if err := s.Check(client); err != nil {
t.Fatal(err)
}
- s, err = client.LookupService("9p.io!http")
+ s, err = client.LookupService(h.Name + "!http")
if err != nil {
t.Fatal(err)
}