mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 16:24:19 -04:00
mw/health: add reload test (#980)
Start CoreDNS instance in call Restart() on it.
This commit is contained in:
49
test/health_reload_test.go
Normal file
49
test/health_reload_test.go
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"net/http"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestHealthReload(t *testing.T) {
|
||||||
|
log.SetOutput(ioutil.Discard)
|
||||||
|
|
||||||
|
// Corefile with for example without proxy section.
|
||||||
|
corefile := `example.org:0 {
|
||||||
|
health localhost:35080
|
||||||
|
}
|
||||||
|
`
|
||||||
|
i, err := CoreDNSServer(corefile)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := http.Get("http://localhost:35080/health")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Could not get health: %s", err)
|
||||||
|
}
|
||||||
|
body, err := ioutil.ReadAll(resp.Body)
|
||||||
|
if x := string(body); x != "OK" {
|
||||||
|
t.Fatalf("Expect OK, got %s", x)
|
||||||
|
}
|
||||||
|
resp.Body.Close()
|
||||||
|
|
||||||
|
i, err = i.Restart(NewInput(corefile))
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Could not restart CoreDNS serving instance: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
defer i.Stop()
|
||||||
|
|
||||||
|
resp, err = http.Get("http://localhost:35080/health")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Could not get health: %s", err)
|
||||||
|
}
|
||||||
|
body, err = ioutil.ReadAll(resp.Body)
|
||||||
|
if x := string(body); x != "OK" {
|
||||||
|
t.Fatalf("Expect OK, got %s", x)
|
||||||
|
}
|
||||||
|
resp.Body.Close()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user