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_migrate_incremental_dml", func() steps.Step {
	var (
		taskName   = "test-infra"
		sourceName = "source-0"
		name       = "dm_migrate_incremental_dml"
		env        = newCommonEnv()
	)

	return env.
		init().
		// cleanUpEnv(name).
		initDbsAndSourcesAndTasks(name).
		toBuilder().
		DmRunWorkload(env.UpStreams[0], env.Dm, env.Workload, Spec.GetWorkloadOption(workload.CommandTypePrepare)).
		DmWaitTaskSynced(env.DmHost, taskName, []string{sourceName}).
		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, []string{sourceName}).
		DmCheckSyncDiff(env.Dm, env.SyncDiff, env.DmHost, Path.DiffPaths[0]).
		Build()
})
