package testcases

import (
	"github.com/pingcap/test-infra/caselib/pkg/model/workload"
	"github.com/pingcap/test-infra/caselib/pkg/steps"
	_ "github.com/pingcap/test-infra/sdk/resource/impl/k8s"
)

var _ = AddTestCase("dm_lightning_basic", func() steps.Step {
	var (
		name           = "dm_lightning_basic"
		env            = newCommonEnv()
		taskName       = "dm_lightning_basic"
		sourceNameList = []string{"source-0"}
	)

	return env.
		init().
		// cleanUpEnv(name).
		initDbsAndSourcesAndTasksWithPrepareData(name).
		toBuilder().
		DmWaitTaskSynced(env.DmHost, taskName, sourceNameList).
		DmCheckSyncDiff(env.Dm, env.SyncDiff, env.DmHost, Path.DiffPaths[0]).
		DmRunWorkload(env.UpStreams[0], env.Dm, env.Workload, Spec.GetWorkloadOption(workload.CommandTypeRun)).
		DmWaitTaskSynced(env.DmHost, taskName, sourceNameList).
		DmCheckSyncDiff(env.Dm, env.SyncDiff, env.DmHost, Path.DiffPaths[0]).
		Build()
})
