package scalebench

import (
	"github.com/pingcap/endless/pkg/util"
	"github.com/pingcap/endless/testcase/oltp/tiuptest/tiuppkg"
)

func TestSuite(caseParams *tiuppkg.TiupCaseParams) {
	util.TestCase("Run workload benchmark", "oltp_scale_out_bench_tpcc_run_high", func() {
		OLTP_SCALE_OUT_BENCH_TPCC_RUN_HIGH(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_in_bench_tpcc_run", func() {
		OLTP_SCALE_IN_BENCH_TPCC_RUN(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_out_bench_tpcc_prepare", func() {
		OLTP_SCALE_OUT_BENCH_TPCC_PREPARE(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_in_bench_tpcc_prepare", func() {
		OLTP_SCALE_IN_BENCH_TPCC_PREPARE(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_out_bench_sysbench_read_only", func() {
		OLTP_SCALE_OUT_BENCH_SYSBENCH_READ_ONLY(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_in_bench_sysbench_read_only", func() {
		OLTP_SCALE_IN_BENCH_SYSBENCH_READ_ONLY(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_out_bench_sysbench_write_only", func() {
		OLTP_SCALE_OUT_BENCH_SYSBENCH_WRITE_ONLY(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_in_bench_sysbench_write_only", func() {
		OLTP_SCALE_IN_BENCH_SYSBENCH_WRITE_ONLY(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_out_bench_sysbench_prepare", func() {
		OLTP_SCALE_OUT_BENCH_SYSBENCH_PREPARE(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_in_bench_sysbench_prepare", func() {
		OLTP_SCALE_IN_BENCH_SYSBENCH_PREPARE(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_out_bench_sysbench_read_write", func() {
		OLTP_SCALE_OUT_BENCH_SYSBENCH_READ_WRITE(caseParams.Ctx, "nightly")
	})
	util.TestCase("Run workload benchmark", "oltp_scale_in_bench_sysbench_read_write", func() {
		OLTP_SCALE_IN_BENCH_SYSBENCH_READ_WRITE(caseParams.Ctx, "nightly")
	})
}
