mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Add tests for setting cluster version using v2 request
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
This commit is contained in:
parent
fd0882b67e
commit
2f30760b37
@ -27,12 +27,14 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/coreos/go-semver/semver"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zaptest"
|
||||
|
||||
pb "go.etcd.io/etcd/api/v3/etcdserverpb"
|
||||
"go.etcd.io/etcd/api/v3/membershippb"
|
||||
"go.etcd.io/etcd/api/v3/version"
|
||||
"go.etcd.io/etcd/client/pkg/v3/fileutil"
|
||||
"go.etcd.io/etcd/client/pkg/v3/testutil"
|
||||
"go.etcd.io/etcd/client/pkg/v3/types"
|
||||
@ -42,6 +44,7 @@ import (
|
||||
"go.etcd.io/etcd/pkg/v3/wait"
|
||||
"go.etcd.io/etcd/server/v3/auth"
|
||||
"go.etcd.io/etcd/server/v3/config"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/api"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/api/membership"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/api/snap"
|
||||
@ -376,7 +379,9 @@ func TestApplyRequest(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestApplyRequestOnAdminMemberAttributes(t *testing.T) {
|
||||
// TestV2SetMemberAttributes validates support of hybrid v3.5 cluster which still uses v2 request.
|
||||
// TODO: Remove in v3.7
|
||||
func TestV2SetMemberAttributes(t *testing.T) {
|
||||
be, _ := betesting.NewDefaultTmpBackend(t)
|
||||
defer betesting.Close(t, be)
|
||||
cl := newTestClusterWithBackend(t, []*membership.Member{{ID: 1}}, be)
|
||||
@ -401,6 +406,33 @@ func TestApplyRequestOnAdminMemberAttributes(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestV2SetClusterVersion validates support of hybrid v3.5 cluster which still uses v2 request.
|
||||
// TODO: Remove in v3.7
|
||||
func TestV2SetClusterVersion(t *testing.T) {
|
||||
be, _ := betesting.NewDefaultTmpBackend(t)
|
||||
defer betesting.Close(t, be)
|
||||
cl := newTestClusterWithBackend(t, []*membership.Member{}, be)
|
||||
cl.SetVersion(semver.New("3.4.0"), api.UpdateCapability, membership.ApplyBoth)
|
||||
srv := &EtcdServer{
|
||||
lgMu: new(sync.RWMutex),
|
||||
lg: zaptest.NewLogger(t),
|
||||
v2store: mockstore.NewRecorder(),
|
||||
cluster: cl,
|
||||
}
|
||||
srv.applyV2 = NewApplierV2(srv.lg, srv.v2store, srv.cluster)
|
||||
|
||||
req := pb.Request{
|
||||
Method: "PUT",
|
||||
ID: 1,
|
||||
Path: membership.StoreClusterVersionKey(),
|
||||
Val: "3.5.0",
|
||||
}
|
||||
srv.applyV2Request((*RequestV2)(&req), membership.ApplyBoth)
|
||||
if g := cl.Version(); !reflect.DeepEqual(*g, version.V3_5) {
|
||||
t.Errorf("attributes = %v, want %v", *g, version.V3_5)
|
||||
}
|
||||
}
|
||||
|
||||
func TestApplyConfChangeError(t *testing.T) {
|
||||
lg := zaptest.NewLogger(t)
|
||||
be, _ := betesting.NewDefaultTmpBackend(t)
|
||||
|
Loading…
x
Reference in New Issue
Block a user