12 func randomHostname() string {
13 var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
16 b[i] = letters[rand.Intn(len(letters))]
18 return string(b) + ".example.org"
21 func compareStringSlice(a, b []string) bool {
33 func TestFilter(t *testing.T) {
34 tp := http.DefaultTransport.(*http.Transport)
35 tp.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
36 c := http.DefaultClient
38 client, err := Dial("127.0.0.1:5665", "root", "8eec5ede1673b757", c)
40 t.Skipf("no local test icinga? got: %v", err)
43 var want, got []string
44 for i := 0; i < 5; i++ {
45 h := Host{Name: randomHostname(), CheckCommand: "hostalive"}
46 want = append(want, h.Name)
47 if err := client.CreateHost(h); err != nil {
48 if !errors.Is(err, ErrExist) {
53 t.Logf("created host %s", h.Name)
55 hosts, err := client.Hosts("match(\"*example.org\", host.name)")
59 for _, h := range hosts {
60 got = append(got, h.Name)
64 if !compareStringSlice(want, got) {
67 t.Logf("want %+v got %+v", want, got)