mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
etcdserver: move cluster test from etcdhttp to etcdserver
This commit is contained in:
parent
15798a73d9
commit
e83f851995
@ -143,6 +143,65 @@ func TestClusterAddBad(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusterGetEndpoints(t *testing.T) {
|
||||
tests := []struct {
|
||||
mems []Member
|
||||
endpoints []string
|
||||
}{
|
||||
// single peer with a single address
|
||||
{
|
||||
mems: []Member{
|
||||
{ID: 1, PeerURLs: []string{"192.0.2.1"}},
|
||||
},
|
||||
endpoints: []string{"http://192.0.2.1"},
|
||||
},
|
||||
|
||||
// single peer with a single address with a port
|
||||
{
|
||||
mems: []Member{
|
||||
{ID: 1, PeerURLs: []string{"192.0.2.1:8001"}},
|
||||
},
|
||||
endpoints: []string{"http://192.0.2.1:8001"},
|
||||
},
|
||||
|
||||
// several members explicitly unsorted
|
||||
{
|
||||
mems: []Member{
|
||||
{ID: 2, PeerURLs: []string{"192.0.2.3", "192.0.2.4"}},
|
||||
{ID: 3, PeerURLs: []string{"192.0.2.5", "192.0.2.6"}},
|
||||
{ID: 1, PeerURLs: []string{"192.0.2.1", "192.0.2.2"}},
|
||||
},
|
||||
endpoints: []string{"http://192.0.2.1", "http://192.0.2.2", "http://192.0.2.3", "http://192.0.2.4", "http://192.0.2.5", "http://192.0.2.6"},
|
||||
},
|
||||
|
||||
// no members
|
||||
{
|
||||
mems: []Member{},
|
||||
endpoints: []string{},
|
||||
},
|
||||
|
||||
// peer with no endpoints
|
||||
{
|
||||
mems: []Member{
|
||||
{ID: 3, PeerURLs: []string{}},
|
||||
},
|
||||
endpoints: []string{},
|
||||
},
|
||||
}
|
||||
|
||||
for i, tt := range tests {
|
||||
c := Cluster{}
|
||||
if err := c.AddSlice(tt.mems); err != nil {
|
||||
t.Errorf("AddSlice error: %v", err)
|
||||
continue
|
||||
}
|
||||
endpoints := c.Endpoints()
|
||||
if !reflect.DeepEqual(tt.endpoints, endpoints) {
|
||||
t.Errorf("#%d: members.Endpoints() incorrect: want=%#v got=%#v", i, tt.endpoints, endpoints)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusterClientURLs(t *testing.T) {
|
||||
tests := []struct {
|
||||
mems []Member
|
||||
|
@ -634,68 +634,6 @@ func TestServeMachines(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusterGetEndpoints(t *testing.T) {
|
||||
tests := []struct {
|
||||
clusterStore etcdserver.ClusterStore
|
||||
endpoints []string
|
||||
}{
|
||||
// single peer with a single address
|
||||
{
|
||||
clusterStore: &fakeCluster{
|
||||
members: []etcdserver.Member{
|
||||
{ID: 1, PeerURLs: []string{"192.0.2.1"}},
|
||||
},
|
||||
},
|
||||
endpoints: []string{"http://192.0.2.1"},
|
||||
},
|
||||
|
||||
// single peer with a single address with a port
|
||||
{
|
||||
clusterStore: &fakeCluster{
|
||||
members: []etcdserver.Member{
|
||||
{ID: 1, PeerURLs: []string{"192.0.2.1:8001"}},
|
||||
},
|
||||
},
|
||||
endpoints: []string{"http://192.0.2.1:8001"},
|
||||
},
|
||||
|
||||
// several members explicitly unsorted
|
||||
{
|
||||
clusterStore: &fakeCluster{
|
||||
members: []etcdserver.Member{
|
||||
{ID: 2, PeerURLs: []string{"192.0.2.3", "192.0.2.4"}},
|
||||
{ID: 3, PeerURLs: []string{"192.0.2.5", "192.0.2.6"}},
|
||||
{ID: 1, PeerURLs: []string{"192.0.2.1", "192.0.2.2"}},
|
||||
},
|
||||
},
|
||||
endpoints: []string{"http://192.0.2.1", "http://192.0.2.2", "http://192.0.2.3", "http://192.0.2.4", "http://192.0.2.5", "http://192.0.2.6"},
|
||||
},
|
||||
|
||||
// no members
|
||||
{
|
||||
clusterStore: &fakeCluster{members: []etcdserver.Member{}},
|
||||
endpoints: []string{},
|
||||
},
|
||||
|
||||
// peer with no endpoints
|
||||
{
|
||||
clusterStore: &fakeCluster{
|
||||
members: []etcdserver.Member{
|
||||
{ID: 3, PeerURLs: []string{}},
|
||||
},
|
||||
},
|
||||
endpoints: []string{},
|
||||
},
|
||||
}
|
||||
|
||||
for i, tt := range tests {
|
||||
endpoints := tt.clusterStore.Get().Endpoints()
|
||||
if !reflect.DeepEqual(tt.endpoints, endpoints) {
|
||||
t.Errorf("#%d: members.Endpoints() incorrect: want=%#v got=%#v", i, tt.endpoints, endpoints)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllowMethod(t *testing.T) {
|
||||
tests := []struct {
|
||||
m string
|
||||
|
Loading…
x
Reference in New Issue
Block a user