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