apiVersion: api/v1
kind: Case
name: dm_collation_utf8mb4
features: [dm]
summary: 测试悲观模式合库合表
steps: |
    1. 使用dmctl operate create source.yaml添加source
    2. 使用dmctl task-start task.yaml with
      with is-sharding: true,
      shard-mode: "pessimistic"
    3. 分别向上游插入charset为utf8mb4， collate为utf8mb4_bin的 
    4. check downstream status and check the consistency
expectedResult: |
    步骤1. 创建source成功
    步骤2. 创建悲观合库合表任务成功
    步骤3. 使用dmctl query-status task-name查看任务
    步骤4. 5min之后，上下游对比一致
priority: P1
supportedVersions: [">5.4.0"]
tags: [dm]
designer: xujianxu@pingcap.com
automation: AUTOMATED
active: true
framework:
    generic:
        command:
            [
                "/bin/sh",
                "-c",
                "/dm_test_infra --workload testcases/dm_collation_utf8mb4/workload.yaml --path testcases/dm_collation_utf8mb4/path.yaml",
            ]
        workingDir: "/"
        env: null
        image: hub-new.pingcap.net/dm/test-infra:dm_collation_utf8mb4
        imagePullPolicy: Always
parameters:
    - type: RESOURCE
      name: upstream1
      default: upstream1
    - type: RESOURCE
      name: upstream2
      default: upstream2
    - type: RESOURCE
      name: downstream
      default: downstream
    - type: RESOURCE
      name: dm
      default: dm
    - type: RESOURCE
      name: workload
      default: workload
    - type: RESOURCE
      name: syncdiff
      default: syncdiff
    - type: STRING
      name: upStream0Sql
      default: |
          'create database dm_collation_utf8mb4 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; | create table dm_collation_utf8mb4.t1(a varchar(20)  primary key, b varchar(20) charset utf8mb4) collate utf8mb4_bin; | insert into dm_collation_utf8mb4.t1 values ('Aaa', 'd'); | insert into dm_collation_utf8mb4.t1 values ('aaA', 'D'), ('321', '32');'
    - type: STRING
      name: upStream1Sql
      default: |
          'create database dm_collation_utf8mb4 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; | create table dm_collation_utf8mb4.t1(a varchar(20)  primary key, b varchar(20) charset utf8mb4) collate utf8mb4_bin; | insert into dm_collation_utf8mb4.t1 values ('aAa', 'd'); | insert into dm_collation_utf8mb4.t1 values ('AaA', 'D'), ('123', '32');'
