...
1 package api
2
3 import (
4 "net/http"
5 "net/http/httptest"
6 "testing"
7
8 "github.com/docker/distribution/health"
9 )
10
11
12
13 func TestGETDownHandlerDoesNotChangeStatus(t *testing.T) {
14 recorder := httptest.NewRecorder()
15
16 req, err := http.NewRequest("GET", "https://fakeurl.com/debug/health/down", nil)
17 if err != nil {
18 t.Errorf("Failed to create request.")
19 }
20
21 DownHandler(recorder, req)
22
23 if recorder.Code != 404 {
24 t.Errorf("Did not get a 404.")
25 }
26 }
27
28
29
30 func TestGETUpHandlerDoesNotChangeStatus(t *testing.T) {
31 recorder := httptest.NewRecorder()
32
33 req, err := http.NewRequest("GET", "https://fakeurl.com/debug/health/up", nil)
34 if err != nil {
35 t.Errorf("Failed to create request.")
36 }
37
38 DownHandler(recorder, req)
39
40 if recorder.Code != 404 {
41 t.Errorf("Did not get a 404.")
42 }
43 }
44
45
46
47
48 func TestPOSTDownHandlerChangeStatus(t *testing.T) {
49 recorder := httptest.NewRecorder()
50
51 req, err := http.NewRequest("POST", "https://fakeurl.com/debug/health/down", nil)
52 if err != nil {
53 t.Errorf("Failed to create request.")
54 }
55
56 DownHandler(recorder, req)
57
58 if recorder.Code != 200 {
59 t.Errorf("Did not get a 200.")
60 }
61
62 if len(health.CheckStatus()) != 1 {
63 t.Errorf("DownHandler didn't add an error check.")
64 }
65 }
66
67
68
69 func TestPOSTUpHandlerChangeStatus(t *testing.T) {
70 recorder := httptest.NewRecorder()
71
72 req, err := http.NewRequest("POST", "https://fakeurl.com/debug/health/up", nil)
73 if err != nil {
74 t.Errorf("Failed to create request.")
75 }
76
77 UpHandler(recorder, req)
78
79 if recorder.Code != 200 {
80 t.Errorf("Did not get a 200.")
81 }
82
83 if len(health.CheckStatus()) != 0 {
84 t.Errorf("UpHandler didn't remove the error check.")
85 }
86 }
87
View as plain text