tests: Switch downgradetests to use etcdctl

This commit is contained in:
Marek Siarkowicz 2022-02-11 15:39:32 +01:00
parent 2db4d35554
commit 2a7766c8cd
2 changed files with 13 additions and 19 deletions

View File

@ -15,7 +15,6 @@
package e2e package e2e
import ( import (
"context"
"fmt" "fmt"
"testing" "testing"
"time" "time"
@ -23,7 +22,6 @@ import (
"github.com/coreos/go-semver/semver" "github.com/coreos/go-semver/semver"
"go.etcd.io/etcd/api/v3/version" "go.etcd.io/etcd/api/v3/version"
"go.etcd.io/etcd/client/pkg/v3/fileutil" "go.etcd.io/etcd/client/pkg/v3/fileutil"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/framework/e2e" "go.etcd.io/etcd/tests/v3/framework/e2e"
) )
@ -79,20 +77,13 @@ func startEtcd(t *testing.T, execPath, dataDirPath string) *e2e.EtcdProcessClust
func downgradeEnable(t *testing.T, epc *e2e.EtcdProcessCluster, ver semver.Version) { func downgradeEnable(t *testing.T, epc *e2e.EtcdProcessCluster, ver semver.Version) {
t.Log("etcdctl downgrade...") t.Log("etcdctl downgrade...")
c, err := clientv3.New(clientv3.Config{ c := e2e.NewEtcdctl(epc.Cfg, epc.EndpointsV3())
Endpoints: epc.EndpointsV3(), e2e.ExecuteWithTimeout(t, 20*time.Second, func() {
err := c.DowngradeEnable(ver.String())
if err != nil {
t.Fatal(err)
}
}) })
if err != nil {
t.Fatal(err)
}
defer c.Close()
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
_, err = c.Downgrade(ctx, 1, ver.String())
if err != nil {
t.Fatal(err)
}
cancel()
} }
func stopEtcd(t *testing.T, epc *e2e.EtcdProcessCluster) { func stopEtcd(t *testing.T, epc *e2e.EtcdProcessCluster) {

View File

@ -32,16 +32,19 @@ func NewEtcdctl(cfg *EtcdProcessClusterConfig, endpoints []string) *etcdctlV3 {
} }
func (ctl *etcdctlV3) Put(key, value string) error { func (ctl *etcdctlV3) Put(key, value string) error {
return ctl.runCmd("put", key, value) return SpawnWithExpect(ctl.cmdArgs("put", key, value), "OK")
} }
func (ctl *etcdctlV3) runCmd(args ...string) error { func (ctl *etcdctlV3) DowngradeEnable(version string) error {
return SpawnWithExpect(ctl.cmdArgs("downgrade", "enable", version), "Downgrade enable success")
}
func (ctl *etcdctlV3) cmdArgs(args ...string) []string {
cmdArgs := []string{CtlBinPath + "3"} cmdArgs := []string{CtlBinPath + "3"}
for k, v := range ctl.flags() { for k, v := range ctl.flags() {
cmdArgs = append(cmdArgs, fmt.Sprintf("--%s=%s", k, v)) cmdArgs = append(cmdArgs, fmt.Sprintf("--%s=%s", k, v))
} }
cmdArgs = append(cmdArgs, args...) return append(cmdArgs, args...)
return SpawnWithExpect(cmdArgs, "OK")
} }
func (ctl *etcdctlV3) flags() map[string]string { func (ctl *etcdctlV3) flags() map[string]string {