clientv3/integration: fix cluster tests

Fixes TestMemberAddForLearner and TestMemberPromoteForLearner.
release-3.4
Jingyi Hu 2019-04-18 11:07:34 -07:00
parent ac057951cc
commit b23c8f3e8f
1 changed files with 33 additions and 20 deletions

View File

@ -202,6 +202,16 @@ func TestMemberAddForLearner(t *testing.T) {
if !resp.Member.IsLearner { if !resp.Member.IsLearner {
t.Errorf("Added a member as learner, got resp.Member.IsLearner = %v", resp.Member.IsLearner) t.Errorf("Added a member as learner, got resp.Member.IsLearner = %v", resp.Member.IsLearner)
} }
numberOfLearners := 0
for _, m := range resp.Members {
if m.IsLearner {
numberOfLearners++
}
}
if numberOfLearners != 1 {
t.Errorf("Added 1 learner node to cluster, got %d", numberOfLearners)
}
} }
func TestMemberPromoteForLearner(t *testing.T) { func TestMemberPromoteForLearner(t *testing.T) {
@ -214,35 +224,38 @@ func TestMemberPromoteForLearner(t *testing.T) {
capi := clus.RandClient() capi := clus.RandClient()
urls := []string{"http://127.0.0.1:1234"} urls := []string{"http://127.0.0.1:1234"}
isLearner := true memberAddResp, err := capi.MemberAddAsLearner(context.Background(), urls)
resp, err := capi.MemberAddAsLearner(context.Background(), urls)
if err != nil { if err != nil {
t.Fatalf("failed to add member %v", err) t.Fatalf("failed to add member %v", err)
} }
if !resp.Member.IsLearner { if !memberAddResp.Member.IsLearner {
t.Errorf("Added a member as learner, got resp.Member.IsLearner = %v", resp.Member.IsLearner) t.Fatalf("Added a member as learner, got resp.Member.IsLearner = %v", memberAddResp.Member.IsLearner)
}
learnerID := memberAddResp.Member.ID
numberOfLearners := 0
for _, m := range memberAddResp.Members {
if m.IsLearner {
numberOfLearners++
}
}
if numberOfLearners != 1 {
t.Fatalf("Added 1 learner node to cluster, got %d", numberOfLearners)
} }
learners, err := clus.GetLearnerMembers() memberPromoteResp, err := capi.MemberPromote(context.Background(), learnerID)
if err != nil { if err != nil {
t.Fatalf("failed to get the learner members in cluster: %v", err) t.Fatalf("failed to promote member: %v", err)
}
if len(learners) != 1 {
t.Errorf("Added 1 learner node to cluster, got %d", len(learners))
}
_, err = capi.MemberPromote(context.Background(), resp.Member.ID)
if err != nil {
t.Fatalf("failed to promote member error: %v", err)
} }
learners, err = clus.GetLearnerMembers() numberOfLearners = 0
if err != nil { for _, m := range memberPromoteResp.Members {
t.Fatalf("failed to get the number of learners in cluster: %v", err) if m.IsLearner {
numberOfLearners++
}
} }
if len(learners) != 0 { if numberOfLearners != 0 {
t.Errorf("learner promoted, expect 0 learner, got %d", len(learners)) t.Errorf("learner promoted, expect 0 learner, got %d", numberOfLearners)
} }
} }