package operator_upgrade

import (
	"time"

	. "github.com/onsi/ginkgo"
	_ "github.com/pingcap/endless/pkg/client/tidb"
	. "github.com/pingcap/endless/pkg/util"
	"github.com/pingcap/test-infra/sdk/core"
	"github.com/pingcap/test-infra/sdk/resource"

	. "github.com/pingcap/endless/testcase/upgrade/operator_upgrade/upgradepkg"
)

var (
	ctx           core.TestContext
	tc            resource.TiDBCluster
	down          resource.TiDBCluster
	nodelist      []string
	imagePath     string
	targetVersion string
	masterVersion string
)

var _ = Describe("[onlyupgrade]operator upgrade", func() {

	ctx = suiteTestCtx
	tc = ctx.Resource("tc").(resource.TiDBCluster)
	down = ctx.Resource("downstream").(resource.TiDBCluster)

	targetVersion = ctx.Param("target_version")
	Context("upgrade to target version ", func() {

		TestCase("upgrade", "upgrade", func() {
			nodelist = []string{"pd", "tiflash", "tikv", "tidb", "ticdc"}
			timeout := 60 * time.Minute
			UpgradeClusterByImage(ctx, tc, targetVersion, down, timeout, nodelist)
		})

	})
})
