瀏覽代碼

Merge pull request #4720 from heyitsanthony/fix-testremovemember

clientv3/integration: do not remove client member in TestMemberRemove
Anthony Romano 9 年之前
父節點
當前提交
a4624666fe
共有 1 個文件被更改,包括 13 次插入1 次删除
  1. 13 1
      clientv3/integration/cluster_test.go

+ 13 - 1
clientv3/integration/cluster_test.go

@@ -22,6 +22,7 @@ import (
 	"github.com/coreos/etcd/clientv3"
 	"github.com/coreos/etcd/integration"
 	"github.com/coreos/etcd/pkg/testutil"
+	"github.com/coreos/etcd/pkg/types"
 )
 
 func TestMemberList(t *testing.T) {
@@ -73,7 +74,18 @@ func TestMemberRemove(t *testing.T) {
 		t.Fatalf("failed to list member %v", err)
 	}
 
-	_, err = capi.MemberRemove(context.Background(), resp.Members[0].ID)
+	rmvID := resp.Members[0].ID
+	// indexes in capi member list don't necessarily match cluster member list;
+	// find member that is not the client to remove
+	for _, m := range resp.Members {
+		mURLs, _ := types.NewURLs(m.PeerURLs)
+		if !reflect.DeepEqual(mURLs, clus.Members[1].ServerConfig.PeerURLs) {
+			rmvID = m.ID
+			break
+		}
+	}
+
+	_, err = capi.MemberRemove(context.Background(), rmvID)
 	if err != nil {
 		t.Fatalf("failed to remove member %v", err)
 	}