1
0
Fork 0

Unit test readyz?commit at HTTP level

master
Philip O'Toole 7 months ago
parent 45f0ca7414
commit c08e029717

@ -1039,10 +1039,10 @@ func Test_Readyz(t *testing.T) {
host := fmt.Sprintf("http://%s", s.Addr().String())
resp, err := client.Get(host + "/readyz")
if err != nil {
t.Fatalf("failed to make nodes request")
t.Fatalf("failed to make readyz request")
}
if resp.StatusCode != http.StatusOK {
t.Fatalf("failed to get expected StatusOK for nodes, got %d", resp.StatusCode)
t.Fatalf("failed to get expected StatusOK for node, got %d", resp.StatusCode)
}
m.notReady = true
@ -1051,9 +1051,31 @@ func Test_Readyz(t *testing.T) {
t.Fatalf("failed to make nodes request")
}
if resp.StatusCode != http.StatusServiceUnavailable {
t.Fatalf("failed to get expected StatusServiceUnavailable for nodes, got %d", resp.StatusCode)
t.Fatalf("failed to get expected StatusServiceUnavailable, got %d", resp.StatusCode)
}
m.notReady = false
m.committedFn = func(timeout time.Duration) (uint64, error) {
return 0, fmt.Errorf("timeout")
}
resp, err = client.Get(host + "/readyz?commit")
if err != nil {
t.Fatalf("failed to make readyz request with commit set")
}
if resp.StatusCode != http.StatusServiceUnavailable {
t.Fatalf("failed to get expected StatusServiceUnavailable, got %d", resp.StatusCode)
}
m.notReady = false
m.committedFn = func(timeout time.Duration) (uint64, error) {
return 0, nil
}
resp, err = client.Get(host + "/readyz?commit")
if err != nil {
t.Fatalf("failed to make readyz request with commit set")
}
if resp.StatusCode != http.StatusOK {
t.Fatalf("failed to get expected StatusOK, got %d", resp.StatusCode)
}
}
func Test_ForwardingRedirectQuery(t *testing.T) {
@ -1368,14 +1390,15 @@ func Test_DBTimeoutQueryParam(t *testing.T) {
}
type MockStore struct {
executeFn func(er *command.ExecuteRequest) ([]*command.ExecuteResult, error)
queryFn func(qr *command.QueryRequest) ([]*command.QueryRows, error)
requestFn func(eqr *command.ExecuteQueryRequest) ([]*command.ExecuteQueryResponse, error)
backupFn func(br *command.BackupRequest, dst io.Writer) error
loadFn func(lr *command.LoadRequest) error
readFromFn func(r io.Reader) (int64, error)
leaderAddr string
notReady bool // Default value is true, easier to test.
executeFn func(er *command.ExecuteRequest) ([]*command.ExecuteResult, error)
queryFn func(qr *command.QueryRequest) ([]*command.QueryRows, error)
requestFn func(eqr *command.ExecuteQueryRequest) ([]*command.ExecuteQueryResponse, error)
backupFn func(br *command.BackupRequest, dst io.Writer) error
loadFn func(lr *command.LoadRequest) error
readFromFn func(r io.Reader) (int64, error)
committedFn func(timeout time.Duration) (uint64, error)
leaderAddr string
notReady bool // Default value is true, easier to test.
}
func (m *MockStore) Execute(er *command.ExecuteRequest) ([]*command.ExecuteResult, error) {
@ -1420,6 +1443,9 @@ func (m *MockStore) Ready() bool {
}
func (m *MockStore) Committed(timeout time.Duration) (uint64, error) {
if m.committedFn != nil {
return m.committedFn(timeout)
}
return 0, nil
}

Loading…
Cancel
Save