<?xml version="1.0" encoding="UTF-8"?>
<con:testCase id="8d0334ec-d61d-4bbe-af7c-852412a90152" discardOkResults="false" failOnError="true" failTestCaseOnErrors="true" keepSession="false" name="Upgrade" searchProperties="true" timeout="0" xmlns:con="http://eviware.com/soapui/config">
  <con:settings>
    <con:setting id="8d0334ec-d61d-4bbe-af7c-852412a90152fileName">Upgrade</con:setting>
  </con:settings>
  <con:testStep type="restrequest" name="U2-Login" id="31705c76-df52-46d2-887e-97cb2fc6208f">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/user/login" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Login" id="1462dff4-0950-4f59-a435-496c868230e2" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
  "userName" : "admin",
  "userPassword" : "admin"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/user/login</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="155fd46f-3811-4c1a-b5f4-be86f7253481" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="3c253c5c-ef63-4bf5-b26e-8afdf33de283" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['token']</con:path>
              <con:element>token</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>52f4d48f-3c2d-47ee-bd5e-f486b2bef208</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['userId']</con:path>
              <con:element>userId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>yD8pMBfUR4e8SV2TqPtRZQ</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['tenantId']</con:path>
              <con:element>tenantId</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>admin</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"token":"52f4d48f-3c2d-47ee-bd5e-f486b2bef208","userId":"yD8pMBfUR4e8SV2TqPtRZQ","tenantId":"admin"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="datagen" name="RandomDelay2" id="bb3fedf4-3baa-4edb-874b-c285c1ed2994">
    <con:settings/>
    <con:config xsi:type="con:DataGeneratorStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>10000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random10s</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>20000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random20s</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>30000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random30s</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>60000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random1m</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>120000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random2m</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>180000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random3m</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>0</start>
          <end>300000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random5m</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>180000</start>
          <end>300000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random3-5m</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
      <con:property type="Number">
        <con:configuration>
          <start>10000</start>
          <end>20000</end>
          <step/>
          <pattern/>
          <random>true</random>
          <persist>false</persist>
        </con:configuration>
        <con:name>Random10-20s</con:name>
        <con:mode>STEP</con:mode>
        <con:shared>false</con:shared>
      </con:property>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Create-C2" id="4b599d00-2e56-4a3f-873d-d833138ec843">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/clusters/" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Create-C2" id="7dd24763-b143-40ea-b13a-c914b934cc8b" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
  "clusterName": "test-upgrade",
  "clusterType": "TiDB",
  "clusterVersion": "v5.0.0",
  "copies": 1,
  "cpuArchitecture": "X86_64",
  "dbPassword": "12121212",
  "exclusive": false,
  "parameterGroupID": "",
  "vendor": "Local",
  "region": "Region1",
  "resourceParameters": {
    "instanceResource": [
      {
        "componentType": "TiDB",
        "resource": [
          {
            "count": 1,
            "specCode": "4C8G",
            "zoneCode": "Region1,Zone1_1"
          }
        ],
        "totalNodeCount": 1
      },
      {
        "componentType": "TiKV",
        "resource": [
          {
            "count": 1,
            "specCode": "4C8G",
            "zoneCode": "Region1,Zone1_1"
          }
        ],
        "totalNodeCount": 1
      },
      {
        "componentType": "PD",
        "resource": [
          {
            "count": 1,
            "specCode": "4C8G",
            "zoneCode": "Region1,Zone1_1"
          }
        ],
        "totalNodeCount": 1
      }
    ]
  },
  "tags": [
    "test-upgrade"
  ]
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="253804b1-9a82-4def-bd81-00c3e87323d4" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="e77da43e-2e97-4f7d-b505-c4eeaa8d82c2" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>12</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>KjGHu0cKQt2AqOmh9iJLdw</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusterId']</con:path>
              <con:element>clusterId</con:element>
              <con:operatorId>12</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>Vp5wW4CZSK-xb9vxh9ejXg</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"workFlowId":"KjGHu0cKQt2AqOmh9iJLdw","clusterId":"Vp5wW4CZSK-xb9vxh9ejXg"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Query-C0" id="816f0395-04a2-4c12-a33e-ae3afa2526aa">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/clusters/" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Query-C0" id="f985b04d-12b3-4c64-8a6f-5def9b90bb6e" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request/>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="bd829bab-2de5-44c4-9df8-59be59877fd4" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="8d25e5b7-71e8-472a-a086-b5afc76c9087" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['clusterId']</con:path>
              <con:element>clusterId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>dNP4olKcQ721S6gk1eX9pw</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['tags'][0]</con:path>
              <con:element>0</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>tag1</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['tls']</con:path>
              <con:element>tls</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>false</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>3</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['status']</con:path>
              <con:element>status</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>Running</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['role']</con:path>
              <con:element>role</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue xsi:nil="true"/>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['copies']</con:path>
              <con:element>copies</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['exclusive']</con:path>
              <con:element>exclusive</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>false</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>3</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['cpuArchitecture']</con:path>
              <con:element>cpuArchitecture</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>X86_64</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['alertUrl']</con:path>
              <con:element>alertUrl</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>172.16.6.104:10044</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['grafanaUrl']</con:path>
              <con:element>grafanaUrl</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>172.16.6.104:10043</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['maintainStatus']</con:path>
              <con:element>maintainStatus</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue xsi:nil="true"/>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['maintainWindow']</con:path>
              <con:element>maintainWindow</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue xsi:nil="true"/>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['intranetConnectAddresses'][0]</con:path>
              <con:element>0</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>172.16.6.102:10000</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['extranetConnectAddresses'][0]</con:path>
              <con:element>0</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>172.16.6.102:10000</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['whitelist']</con:path>
              <con:element>whitelist</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>[]</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>4</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['cpuUsage']['total']</con:path>
              <con:element>total</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>100</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['cpuUsage']['used']</con:path>
              <con:element>used</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>50</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['cpuUsage']['usageRate']</con:path>
              <con:element>usageRate</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0.5</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['memoryUsage']['total']</con:path>
              <con:element>total</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>100</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['memoryUsage']['used']</con:path>
              <con:element>used</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>50</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['memoryUsage']['usageRate']</con:path>
              <con:element>usageRate</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0.5</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['storageUsage']['total']</con:path>
              <con:element>total</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>100</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['storageUsage']['used']</con:path>
              <con:element>used</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>50</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['storageUsage']['usageRate']</con:path>
              <con:element>usageRate</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0.5</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['backupFileUsage']['total']</con:path>
              <con:element>total</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>100</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['backupFileUsage']['used']</con:path>
              <con:element>used</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>50</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['backupFileUsage']['usageRate']</con:path>
              <con:element>usageRate</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0.5</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['createTime']</con:path>
              <con:element>createTime</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>2021-12-21T12:50:40.177528916+08:00</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['updateTime']</con:path>
              <con:element>updateTime</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>2021-12-21T12:51:25.360098316+08:00</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['deleteTime']</con:path>
              <con:element>deleteTime</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0001-01-01T00:00:00Z</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['page']['page']</con:path>
              <con:element>page</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['page']['pageSize']</con:path>
              <con:element>pageSize</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['page']['total']</con:path>
              <con:element>total</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>1</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['userId']</con:path>
              <con:element>userId</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>l_CfTmx3ScOPXTQqr3mLeg</con:expectedValue>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['clusterName']</con:path>
              <con:element>clusterName</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>tidb-test</con:expectedValue>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['clusterType']</con:path>
              <con:element>clusterType</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>TiDB</con:expectedValue>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['clusterVersion']</con:path>
              <con:element>clusterVersion</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>v4.0.12</con:expectedValue>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusters'][0]['dbUser']</con:path>
              <con:element>dbUser</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>root</con:expectedValue>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"clusters":[{"clusterId":"dNP4olKcQ721S6gk1eX9pw","userId":"l_CfTmx3ScOPXTQqr3mLeg","clusterName":"tidb-test","clusterType":"TiDB","clusterVersion":"v4.0.12","dbUser":"root","tags":["tag1"],"tls":false,"status":"Running","role":"","copies":0,"exclusive":false,"cpuArchitecture":"X86_64","alertUrl":"172.16.6.104:10044","grafanaUrl":"172.16.6.104:10043","maintainStatus":"","maintainWindow":"","intranetConnectAddresses":["172.16.6.102:10000"],"extranetConnectAddresses":["172.16.6.102:10000"],"whitelist":[],"cpuUsage":{"total":100,"used":50,"usageRate":0.5},"memoryUsage":{"total":100,"used":50,"usageRate":0.5},"storageUsage":{"total":100,"used":50,"usageRate":0.5},"backupFileUsage":{"total":100,"used":50,"usageRate":0.5},"createTime":"2021-12-21T12:50:40.177528916+08:00","updateTime":"2021-12-21T12:51:25.360098316+08:00","deleteTime":"0001-01-01T00:00:00Z"}]},"page":{"page":0,"pageSize":0,"total":1}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters>
          <con:entry key="clusterType" value=""/>
          <con:entry key="clusterTag" value=""/>
          <con:entry key="clusterName" value="tidb-test"/>
          <con:entry key="pageSize" value=""/>
          <con:entry key="page" value=""/>
        </con:parameters>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Export-C0" id="0120cde2-5651-42dc-b4f1-dfd2535921d8">
    <con:settings/>
    <con:config service="TiEM UI API" methodName="POST" resourcePath="/api/v1/clusters/export" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Export-C0" id="404ef49f-d0b7-4e80-b7f1-8cd260b5697d" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:encoding>UTF-8</con:encoding>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
   "clusterId" : "${U2-Query-C0#Response#$['data']['clusters'][0]['clusterId']}",
   "userName" : "root",
   "password" : "tiem1234",
   "fileType" : "csv",
   "storageType" : "nfs"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/export</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="04abdf61-9f30-40b5-a009-d2e217c870f6" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="a1c2c4e6-2297-40f4-adff-6e59b2e4fa72" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>iYlvb10YQb6soqnnrs2uLQ</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['recordId']</con:path>
              <con:element>recordId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>ZvCpanoySMCX0yLFfNFykg</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"workFlowId":"iYlvb10YQb6soqnnrs2uLQ","recordId":"ZvCpanoySMCX0yLFfNFykg"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitCreateC2" id="af450e8e-1dcc-4555-bd4b-9c6fd69f0d04">
    <con:settings/>
    <con:config>
      <delay>60000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="delayRandom" id="6c25f849-2971-40b9-8138-e95a1d45da9f">
    <con:settings/>
    <con:config>
      <delay>${RandomDelay2#Random3-5m}</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Backup-C2" id="321f6ff4-56a4-4c07-971a-eb489276c7de">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/backups/" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Backup-C2" id="22bc8e1a-008e-4b69-bbc5-30fc00fb07f8" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
   "backupMode" : "manual",
   "backupType" : "",
   "clusterId" : "${U2-Create-C2#Response#$['data']['clusterId']}"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/backups/</con:originalUri>
        <con:assertion type="DataAndMetadataAssertion" id="efc120cd-9ad5-4007-adcb-8cce289b3875" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>WFNPBq3SRimOnQ81B0HtbA</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['backupId']</con:path>
              <con:element>backupId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>labRMwGvRu6cwvEGvfORnw</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"workFlowId":"WFNPBq3SRimOnQ81B0HtbA","backupId":"labRMwGvRu6cwvEGvfORnw"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>Inherit From Parent</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Import-C2" id="a9dac47f-943c-40a7-ab6a-3be3ce94c173">
    <con:settings/>
    <con:config service="TiEM UI API" methodName="POST" resourcePath="/api/v1/clusters/import" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Import-C2" id="97cad780-bb73-42b2-bd57-470fdf4809fc" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:encoding>UTF-8</con:encoding>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
   "clusterId" : "${U2-Create-C2#Response#$['data']['clusterId']}",
   "userName" : "root",
   "password" : "${U2-Create-C2#Request#$['dbPassword']}",
   "recordId" : "${U2-Export-C0#Response#$['data']['recordId']}"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/import</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="5262678a-7fed-4978-a093-7af99c4dbc54" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="435db6b9-be59-499a-bbef-1c2a175eea89" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['recordId']</con:path>
              <con:element>recordId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>B9GXXw76RHC9pepXkqBBXA</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>Ytjq-MoDQ3K7xgvmdgbl0Q</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"recordId":"B9GXXw76RHC9pepXkqBBXA","workFlowId":"Ytjq-MoDQ3K7xgvmdgbl0Q"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitImportC2" id="c234f5ff-3f74-43cd-a7d8-1e896814aeb3">
    <con:settings/>
    <con:config>
      <delay>20000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="delayRandom 3" id="75de7894-8da6-4c80-af6a-767e4b79c7b2">
    <con:settings/>
    <con:config>
      <delay>${RandomDelay2#Random20s}</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Export-C2" id="0d0089ee-ced5-405a-ae16-33d72cc0d788">
    <con:settings/>
    <con:config service="TiEM UI API" methodName="POST" resourcePath="/api/v1/clusters/export" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Export-C2" id="404ef49f-d0b7-4e80-b7f1-8cd260b5697d" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:encoding>UTF-8</con:encoding>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
   "clusterId" : "${U2-Create-C2#Response#$['data']['clusterId']}",
   "userName" : "root",
   "password" : "${U2-Create-C2#Request#$['dbPassword']}",
   "fileType" : "csv",
   "storageType" : "nfs"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/export</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="04abdf61-9f30-40b5-a009-d2e217c870f6" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="a1c2c4e6-2297-40f4-adff-6e59b2e4fa72" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>iYlvb10YQb6soqnnrs2uLQ</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['recordId']</con:path>
              <con:element>recordId</con:element>
              <con:operatorId>9</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>ZvCpanoySMCX0yLFfNFykg</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"workFlowId":"iYlvb10YQb6soqnnrs2uLQ","recordId":"ZvCpanoySMCX0yLFfNFykg"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitExportC2" id="c30f9a76-e54c-4e1f-bae8-c70d6173d727">
    <con:settings/>
    <con:config>
      <delay>30000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-UpgradeFailed-C2" id="706efe21-e284-495a-9720-feb12f6a4de5">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-UpgradeFailed-C2" id="cf0965af-809e-4a2c-bf7b-bd5b24888698" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
  "targetVersion" : "v5.4.0",
  "upgradeType" : "in-place",
  "upgradeWay" : "online"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/:clusterId/upgrade</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="75266d5d-c2b7-4767-b70a-01b9a3d35296" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters>
          <con:entry key="clusterId" value="${U2-Create-C2#Response#$['data']['clusterId']}"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="delayRandom 4" id="658f951b-be6b-49d5-a753-909eaa0222cc">
    <con:settings/>
    <con:config>
      <delay>${RandomDelay2#Random20s}</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitUpgradeC2" id="eec1d6e5-4743-4223-a485-40d11b22ac72">
    <con:settings/>
    <con:config>
      <delay>15000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Delete-C2" id="966fc7cf-e7cd-4981-8f4d-9cb6361cf2af">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/clusters/{clusterId}" methodName="DELETE" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Delete-C2" id="aba0fb8b-8115-4c9f-a9ec-7c3cb5cc6253" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
  "autoBackup" : false,
  "keepHistoryBackupRecords" : true
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/Vp5wW4CZSK-xb9vxh9ejXg</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="479f2ac0-5eaa-4619-abb2-a868f4774e2b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="d317d848-0573-4e38-8409-235803f2494b" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>12</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>ZtQSiyn1Qi6sl1d5NZv0iA</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusterID']</con:path>
              <con:element>clusterID</con:element>
              <con:operatorId>12</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>Vp5wW4CZSK-xb9vxh9ejXg</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"workFlowId":"ZtQSiyn1Qi6sl1d5NZv0iA","clusterID":"Vp5wW4CZSK-xb9vxh9ejXg"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters>
          <con:entry key="clusterId" value="${U2-Create-C2#Response#$['data']['clusterId']}"/>
        </con:parameters>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitDeleteC2" id="1c360f9f-8f71-4012-8908-3f752bc94f2d">
    <con:settings/>
    <con:config>
      <delay>60000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Restore-C4" id="914dc4e4-7057-451f-9d4e-c9527d29fe0e">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/restore" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Restore-C4" id="ba061936-1399-41b9-9c35-0fd169987832" mediaType="application/x-www-form-urlencoded" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
   "backupId" : "${U2-Backup-C2#Response#$['data']['backupId']}",
   "clusterName" : "test-upgrade",
   "clusterType" : "TiDB",
   "clusterVersion" : "v5.2.0",
   "copies" : 1,
   "cpuArchitecture" : "X86_64",
   "dbPassword" : "12121212",
   "exclusive" : false,
   "parameterGroupID" : "",
   "vendor" : "Local",
   "region" : "Region1",
   "resourceParameters" : {
      "instanceResource" : [
         {
            "componentType" : "TiDB",
            "resource" : [
               {
                  "count" : 1,
                  "specCode" : "4C8G",
                  "zoneCode" : "Region1,Zone1_1"
               }
            ],
            "totalNodeCount" : 1
         },
         {
            "componentType" : "TiKV",
            "resource" : [
               {
                  "count" : 1,
                  "specCode" : "4C8G",
                  "zoneCode" : "Region1,Zone1_1"
               }
            ],
            "totalNodeCount" : 1
         },
         {
            "componentType" : "PD",
            "resource" : [
               {
                  "count" : 1,
                  "specCode" : "4C8G",
                  "zoneCode" : "Region1,Zone1_1"
               }
            ],
            "totalNodeCount" : 1
         }
      ]
   },
   "tags" : [
      "test-upgrade"
   ]
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/restore</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="ed03a1e2-c94c-4cab-8218-ee8f68d06f1c" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="Response SLA Assertion" id="d67a3409-6393-4246-839e-cb9b69d9e97c" name="Response SLA">
          <con:configuration>
            <SLA>200</SLA>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters/>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitRestoreC4" id="50ea7f3e-23dd-4c27-94ad-1af0a174fbca">
    <con:settings/>
    <con:config>
      <delay>300000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="delayRandom 2" id="bbdf9a65-a2e2-44b6-9603-3c053cf22389">
    <con:settings/>
    <con:config>
      <delay>${RandomDelay2#Random1m}</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Upgrade-C4" id="539bbe43-ca0c-40ab-94f4-a35ccb3811f6">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Upgrade-C4" id="cf0965af-809e-4a2c-bf7b-bd5b24888698" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
  "targetVersion" : "v5.4.0",
  "upgradeType" : "in-place",
  "upgradeWay" : "online"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/:clusterId/upgrade</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="75266d5d-c2b7-4767-b70a-01b9a3d35296" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters>
          <con:entry key="clusterId" value="${U2-Restore-C4#Response#$['data']['clusterID']}"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitUpgradeC4" id="f06257cb-5293-4eaf-87bd-d60b9275a833">
    <con:settings/>
    <con:config>
      <delay>300000</delay>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="U2-Delete-C4" id="bbb3e1ea-148f-4887-90d2-51c9a530a481">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/clusters/{clusterId}" methodName="DELETE" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="U2-Delete-C4" id="aba0fb8b-8115-4c9f-a9ec-7c3cb5cc6253" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${U2-Login#Response#$['data']['token']}" xmlns="http://eviware.com/soapui/config"/></con:setting>
        </con:settings>
        <con:endpoint>http://172.16.4.134:4100</con:endpoint>
        <con:request>{
  "autoBackup" : false,
  "keepHistoryBackupRecords" : true
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/Vp5wW4CZSK-xb9vxh9ejXg</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="479f2ac0-5eaa-4619-abb2-a868f4774e2b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="d317d848-0573-4e38-8409-235803f2494b" name="Smart Assertion">
          <con:configuration xsi:type="con:DataAndMetadataAssertion">
            <con:mode>Received Data</con:mode>
            <con:elements>
              <con:path>$['code']</con:path>
              <con:element>code</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>0</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>true</con:numberType>
              <con:expectedDataType>2</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['message']</con:path>
              <con:element>message</con:element>
              <con:operatorId>1</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>OK</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['workFlowId']</con:path>
              <con:element>workFlowId</con:element>
              <con:operatorId>12</con:operatorId>
              <con:enabled>true</con:enabled>
              <con:expectedValue>ZtQSiyn1Qi6sl1d5NZv0iA</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:elements>
              <con:path>$['data']['clusterID']</con:path>
              <con:element>clusterID</con:element>
              <con:operatorId>12</con:operatorId>
              <con:enabled>false</con:enabled>
              <con:expectedValue>Vp5wW4CZSK-xb9vxh9ejXg</con:expectedValue>
              <con:caseSensitive>true</con:caseSensitive>
              <con:numberType>false</con:numberType>
              <con:expectedDataType>1</con:expectedDataType>
            </con:elements>
            <con:originalMessage>{"code":0,"message":"OK","data":{"workFlowId":"ZtQSiyn1Qi6sl1d5NZv0iA","clusterID":"Vp5wW4CZSK-xb9vxh9ejXg"}}</con:originalMessage>
          </con:configuration>
        </con:assertion>
        <con:credentials>
          <con:selectedAuthProfile>No Authorization</con:selectedAuthProfile>
          <con:authType>No Authorization</con:authType>
        </con:credentials>
        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
        <con:parameters>
          <con:entry key="clusterId" value="${U2-Restore-C4#Response#$['data']['clusterID']}"/>
        </con:parameters>
        <con:environmentSpec>
          <con:entry environmentId="145614f2-3764-4b2c-aea1-428a3da9b4e7">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
          <con:entry environmentId="0348fa2a-7106-45b2-8fa8-793ec5904838">
            <con:authProfile>Inherit From Parent</con:authProfile>
          </con:entry>
        </con:environmentSpec>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="delay" name="waitDeleteC4" id="08b9a5bb-bdbd-4e70-aa68-6842b1a10c9b">
    <con:settings/>
    <con:config>
      <delay>60000</delay>
    </con:config>
  </con:testStep>
  <con:properties/>
  <con:reportParameters/>
</con:testCase>
