package operator_upgrade

import (
	. "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_wk core.TestContext
	tc_wk  resource.TiDBCluster
)

var _ = Describe("[wkload]precheck workload", func() {
	ctx_wk = suiteTestCtx
	Context("[prewkload]precheck, workload test", func() {
		TestCase("init", "init mysql", func() {
			INIT_MYSQL(ctx_wk)
		})
		TestCase("init", "init tidb", func() {
			INIT_Cluster1(ctx_wk)
		})
		TestCase("run bank workload", "wk001", func() {
			WKLD_BANK_RUN(ctx_wk, "800")
		})
		TestCase("run tptest workload", "wk002", func() {
			WKLD_TPTEST(ctx_wk, "precheck")
		})
		TestCase("run tpch workload", "wk003", func() {
			WKLD_TPCH(ctx_wk, "precheck")
		})
		TestCase("run randgen workload", "wk004", func() {
			WKLD_RANDGEN(ctx_wk, "precheck")
		})
	})

	Context("[postwkload]postcheck, workload test", func() {
		TestCase("run bank workload", "wk101", func() {
			WKLD_BANK_CHECK(ctx_wk)
		})
		TestCase("run tptest workload", "wk102", func() {
			WKLD_TPTEST(ctx_wk, "postcheck")
		})
		TestCase("run tpch workload", "wk103", func() {
			WKLD_TPCH(ctx_wk, "postcheck")
		})
		TestCase("run randgen workload", "wk104", func() {
			WKLD_RANDGEN(ctx_wk, "postcheck")
		})
	})
})
