package availzone

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 should be stable after inject network partition chaos within two az", "oltp_az_rel_network_partition_001", func() {
		OLTP_AZ_REL_NETWORK_PARTITION_001(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
	util.TestCase("all replica should healthy after down one az tikv", "oltp_az_rel_down_tikv_001", func() {
		OLTP_AZ_REL_DOWN_TIKV_001(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
	util.TestCase("qps should be stable while inject one az network delay", "oltp_az_rel_network_delay_001", func() {
		OLTP_AZ_REL_NETWORK_DELAY_001(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
	util.TestCase("qps should be stable while inject one az network loss", "oltp_az_rel_network_loss_001", func() {
		OLTP_AZ_REL_NETWORK_LOSS_001(caseParams.Ctx, caseParams.Tc.(resource.TiDBCluster), caseParams.CaseCmdParms, caseParams.WorkloadRunParms)
	})
}
