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