mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
clientv3: Add TestMemberAddWithExistingURLs
TestMemberAddWithExistingURLs ensures adding a new member with URLs already being used in the cluster will not succeed.
This commit is contained in:
parent
e1ca3b4434
commit
9bd86a647f
@ -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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user