package ddl

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

func TestSuite(caseParams *oltppkg.CaseParams) {
	util.TestCase("should keep system normal while run DDL operation", "oltp_add_index_fun_001", func() {
		OLTP_ADD_INDEX_FUN_001(caseParams.Ctx, caseParams.Tc, caseParams.WorkloadRunParms.Cmdpr, caseParams.CaseCmdParms)
	})
	util.TestCase("should keep system normal while run DDL operation", "oltp_add_and_drop_column_fun_001", func() {
		OLTP_ADD_AND_DROP_COLUMN_FUN_001(caseParams.Ctx, caseParams.Tc, caseParams.WorkloadRunParms.Cmdpr, caseParams.CaseCmdParms)
	})
	util.TestCase("should keep system normal while drop big table", "oltp_drop_table_fun_001", func() {
		OLTP_DROP_TABLE_FUN_001(caseParams.Ctx, caseParams.Tc, caseParams.WorkloadRunParms.Cmdpr, caseParams.CaseCmdParms)
	})
	util.TestCase("should keep system normal while analyze table", "oltp_analyze_table_fun_001", func() {
		OLTP_ANALYZE_TABLE_FUN_001(caseParams.Ctx, caseParams.Tc, caseParams.WorkloadRunParms.Cmdpr, caseParams.CaseCmdParms)
	})
	util.TestCase("should keep system normal while analyze table", "oltp_truncate_table_fun_001", func() {
		OLTP_TRUNCATE_TABLE_FUN_001(caseParams.Ctx, caseParams.Tc, caseParams.WorkloadRunParms.Cmdpr, caseParams.CaseCmdParms)
	})
}
