package upgrade

import (
	"github.com/pingcap/endless/pkg/util"
	"github.com/pingcap/endless/testcase/oltp/oltppkg"
	"github.com/pingcap/test-infra/sdk/resource"
)

func TestSuite(caseParams *oltppkg.CaseParams) {
	util.TestCase("qps shoud not drop more than 10% while upgrade to target version", "oltp_upgrade_fun_001", func() {
		OLTP_UPGRADE_FUN_001(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms, caseParams.BenchToolset)
	})
	util.TestCase("Upgrade during offline node", "oltp_upgrade_with_tombstone", func() {
		OLTP_UPGRADE_WITH_TOMBSTONE(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
	util.TestCase("Upgrade during offline node", "oltp_upgrade_during_scale_in", func() {
		OLTP_UPGRADE_DURING_SCALE_IN(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
	util.TestCase("Upgrade during scale out ", "oltp_upgrade_during_scale_out", func() {
		OLTP_UPGRADE_DURING_SCALE_OUT(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
}
