Browse Source

clientv3/integration: fix cluster tests

Fixes TestMemberAddForLearner and TestMemberPromoteForLearner.
Jingyi Hu 6 years ago
parent
commit
b23c8f3e8f
1 changed files with 30 additions and 17 deletions
  1. 30 17
      clientv3/integration/cluster_test.go

+ 30 - 17
clientv3/integration/cluster_test.go

@@ -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
 
-	learners, err := clus.GetLearnerMembers()
-	if err != nil {
-		t.Fatalf("failed to get the learner members in cluster: %v", err)
+	numberOfLearners := 0
+	for _, m := range memberAddResp.Members {
+		if m.IsLearner {
+			numberOfLearners++
+		}
 	}
-	if len(learners) != 1 {
-		t.Errorf("Added 1 learner node to cluster, got %d", len(learners))
+	if numberOfLearners != 1 {
+		t.Fatalf("Added 1 learner node to cluster, got %d", numberOfLearners)
 	}
-	_, err = capi.MemberPromote(context.Background(), resp.Member.ID)
 
+	memberPromoteResp, err := capi.MemberPromote(context.Background(), learnerID)
 	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)
 	}
-
 }