Merge pull request #10548 from jingyih/add_TestMemberAddWithExistingURLs

clientv3/integration: Add TestMemberAddWithExistingURLs
This commit is contained in:
Xiang Li
2019-03-19 15:23:15 -07:00
committed by GitHub

View File

@@ -17,6 +17,7 @@ package integration
import (
"context"
"reflect"
"strings"
"testing"
"go.etcd.io/etcd/integration"
@@ -61,6 +62,30 @@ func TestMemberAdd(t *testing.T) {
}
}
func TestMemberAddWithExistingURLs(t *testing.T) {
defer testutil.AfterTest(t)
clus := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 3})
defer clus.Terminate(t)
capi := clus.RandClient()
resp, err := capi.MemberList(context.Background())
if err != nil {
t.Fatalf("failed to list member %v", err)
}
existingURL := resp.Members[0].PeerURLs[0]
_, err = capi.MemberAdd(context.Background(), []string{existingURL})
expectedErrKeywords := "Peer URLs already exists"
if err == nil {
t.Fatalf("expecting add member to fail, got no error")
}
if !strings.Contains(err.Error(), expectedErrKeywords) {
t.Errorf("expecting error to contain %s, got %s", expectedErrKeywords, err.Error())
}
}
func TestMemberRemove(t *testing.T) {
defer testutil.AfterTest(t)