...
1
16
17 package configz
18
19 import (
20 "io"
21 "net/http"
22 "net/http/httptest"
23 "testing"
24 )
25
26 func TestConfigz(t *testing.T) {
27 v, err := New("testing")
28 if err != nil {
29 t.Fatalf("err: %v", err)
30 }
31
32 v.Set("blah")
33
34 s := httptest.NewServer(http.HandlerFunc(handle))
35 defer s.Close()
36
37 resp, err := http.Get(s.URL + "/configz")
38 if err != nil {
39 t.Fatalf("err: %v", err)
40 }
41
42 body, err := io.ReadAll(resp.Body)
43 if err != nil {
44 t.Fatalf("err: %v", err)
45 }
46 if string(body) != `{"testing":"blah"}` {
47 t.Fatalf("unexpected output: %s", body)
48 }
49
50 v.Set("bing")
51 resp, err = http.Get(s.URL + "/configz")
52 if err != nil {
53 t.Fatalf("err: %v", err)
54 }
55
56 body, err = io.ReadAll(resp.Body)
57 if err != nil {
58 t.Fatalf("err: %v", err)
59 }
60 if string(body) != `{"testing":"bing"}` {
61 t.Fatalf("unexpected output: %s", body)
62 }
63
64 Delete("testing")
65 resp, err = http.Get(s.URL + "/configz")
66 if err != nil {
67 t.Fatalf("err: %v", err)
68 }
69
70 body, err = io.ReadAll(resp.Body)
71 if err != nil {
72 t.Fatalf("err: %v", err)
73 }
74 if string(body) != `{}` {
75 t.Fatalf("unexpected output: %s", body)
76 }
77 if resp.Header.Get("Content-Type") != "application/json" {
78 t.Fatalf("unexpected Content-Type: %s", resp.Header.Get("Content-Type"))
79 }
80 }
81
View as plain text