<?xml version="1.0" encoding="UTF-8"?>
<con:testCase id="7989806e-67f2-42ab-b8f1-c71639286d8d" discardOkResults="false" failOnError="true" failTestCaseOnErrors="true" keepSession="false" name="UpgradeParam" searchProperties="true" timeout="0" xmlns:con="http://eviware.com/soapui/config">
  <con:settings>
    <con:setting id="7989806e-67f2-42ab-b8f1-c71639286d8dfileName">UpgradeParam</con:setting>
  </con:settings>
  <con:savedRecentRuns>1</con:savedRecentRuns>
  <con:testStep type="restrequest" name="login" id="b2ec6564-0704-4de5-adc4-209fe040ef07">
    <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="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="a8c25f94-6beb-4707-853e-ca72715b7a1c" 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>7b0bc8ab-e66b-4cf3-9ada-d9ec39549646</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":"7b0bc8ab-e66b-4cf3-9ada-d9ec39549646","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="restrequest" name="cluster" id="d9ab7bc9-43e1-47c1-a6d4-76b13f309b32">
    <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="cluster" 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 ${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>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>$['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="tag1"/>
          <con:entry key="clusterName" value=""/>
          <con:entry key="pageSize" value=""/>
          <con:entry key="clusterId" value=""/>
          <con:entry key="page" value=""/>
          <con:entry key="clusterStatus" value="Running"/>
        </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="checkPathWithEmptyClusterId" id="20fe92aa-3ce4-466d-b65f-d63848a2d70e">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/path" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkPathWithEmptyClusterId" id="25a506f8-ca82-43fe-b226-bb613c6b4977" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/upgrade/path</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="0fd60def-b58e-45f3-b264-e2e763f5a6e1" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>400</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="ef22f7c1-1d62-4586-803e-203ad5c120b5" name="JSONPath Match: code">
          <con:configuration>
            <path>$['code']</path>
            <content>10001</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="restrequest" name="checkPathWithNonExistClusterId" id="cd056c87-380a-44c0-aed4-36c50afb58ce">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/path" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkPathWithNonExistClusterId" id="25a506f8-ca82-43fe-b226-bb613c6b4977" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/upgrade/path</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="0fd60def-b58e-45f3-b264-e2e763f5a6e1" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>404</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="ef22f7c1-1d62-4586-803e-203ad5c120b5" name="JSONPath Match: code">
          <con:configuration>
            <path>$['code']</path>
            <content>10003</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="nonexistclusterid"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="checkPathWithCorrectParam" id="5c22ae13-1087-4662-b847-a20ce3e09774">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/path" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkPathWithCorrectParam" id="25a506f8-ca82-43fe-b226-bb613c6b4977" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/upgrade/path</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="0fd60def-b58e-45f3-b264-e2e763f5a6e1" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="ef22f7c1-1d62-4586-803e-203ad5c120b5" name="JSONPath Match: code">
          <con:configuration>
            <path>$['code']</path>
            <content>0</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="84909355-b9d0-4b24-92e9-95c66512970d" name="JSONPath Match: upgradeType">
          <con:configuration>
            <path>$['data']['paths'][0]['upgradeType']</path>
            <content>"in-place"</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </con:configuration>
        </con:assertion>
        <con:assertion type="Simple Contains" id="8ba9eacc-0ad0-4b92-b2a7-df13d16675cb" name="Contains: upgradeWays">
          <con:configuration>
            <token>offline|online</token>
            <ignoreCase>false</ignoreCase>
            <useRegEx>true</useRegEx>
          </con:configuration>
        </con:assertion>
        <con:assertion type="Simple Contains" id="ad8b1503-a77f-4167-985e-ce18bbcb9a07" name="Contains">
          <con:configuration>
            <token>v5.3.0|v5.4.0</token>
            <ignoreCase>false</ignoreCase>
            <useRegEx>true</useRegEx>
          </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="${cluster#Response#$['data']['clusters'][0]['clusterId']}"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="checkParamDiffWithEmptyClusterId" id="9d4964fd-9cb9-4d59-97b8-7216c3817eae">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/diff" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkParamDiffWithEmptyClusterId" id="9a6b03c1-2771-4591-b901-40c531f60059" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/2mSbdfqRT2So0keeTPYahQ/upgrade/diff</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="6cedfa70-b350-478a-961a-7ec57daaa37b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>400</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="26ee8c40-33e5-4130-adca-f0c548733bfa" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10001</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="targetVersion" value="v5.4.0"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="checkParamDiffWithNonExistClusterId" id="5cc9cd0b-9296-4343-8a1e-5a62f00a914e">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/diff" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkParamDiffWithNonExistClusterId" id="9a6b03c1-2771-4591-b901-40c531f60059" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/2mSbdfqRT2So0keeTPYahQ/upgrade/diff</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="6cedfa70-b350-478a-961a-7ec57daaa37b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>404</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="b6e25516-14c5-4bda-98cb-7683abcfbae1" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10003</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="nonexistclusterid"/>
          <con:entry key="targetVersion" value="v5.4.0"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="checkParamDiffWithEmptyTargetVersion" id="e5e4b31c-00d8-480c-a171-c23f3202a9f0">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/diff" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkParamDiffWithEmptyTargetVersion" id="9a6b03c1-2771-4591-b901-40c531f60059" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/2mSbdfqRT2So0keeTPYahQ/upgrade/diff</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="6cedfa70-b350-478a-961a-7ec57daaa37b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>400</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="b37ac700-31e9-4e9b-91ea-eea6f37532b5" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10001</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="${cluster#Response#$['data']['clusters'][0]['clusterId']}"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="checkParamDiffWithNonExistTargetVersion" id="353f10a3-af40-489a-a12b-ea078b4f8e27">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/diff" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkParamDiffWithNonExistTargetVersion" id="9a6b03c1-2771-4591-b901-40c531f60059" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/2mSbdfqRT2So0keeTPYahQ/upgrade/diff</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="6cedfa70-b350-478a-961a-7ec57daaa37b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>500</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="3fdd2b14-27d7-48cb-9c88-2b52c3850d4b" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>9899</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="${cluster#Response#$['data']['clusters'][0]['clusterId']}"/>
          <con:entry key="targetVersion" value="nonexisttargetversion"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="checkParamDiffWithCorrectParam" id="df90feae-bd68-4c4d-bebd-c6d4d1855290">
    <con:settings/>
    <con:config service="TiEM UI API Beta9" resourcePath="/api/v1/clusters/{clusterId}/upgrade/diff" methodName="GET" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="checkParamDiffWithCorrectParam" id="9a6b03c1-2771-4591-b901-40c531f60059" mediaType="application/json">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/2mSbdfqRT2So0keeTPYahQ/upgrade/diff</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="6cedfa70-b350-478a-961a-7ec57daaa37b" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="73601f18-d118-4fba-a31e-1dd09e6829fd" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>0</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="${cluster#Response#$['data']['clusters'][0]['clusterId']}"/>
          <con:entry key="targetVersion" value="v5.4.0"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="upgradeWithEmptyClusterId" id="d64c2d22-801d-4993-889a-a226f20ffb69">
    <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="upgradeWithEmptyClusterId" 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 ${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>{
  "configs" : [ {
    "instanceType" : "pd-server",
    "name" : "max-merge-region-size",
    "paramId" : "314",
    "value" : "20"
  } ],
  "targetVersion" : "v5.4.0",
  "upgradeType" : "in-place",
  "upgradeWay" : "offline"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/upgrade</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="751065c3-1422-49b3-90d4-bad627de39b9" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>400</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="81642ab3-45d3-4dd6-874f-1fa9fb1aab57" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10001</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="restrequest" name="upgradeWithNonExistClusterId" id="28ee9ce0-5a0a-4825-8a6f-3c27d10b1f1c">
    <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="upgradeWithNonExistClusterId" 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 ${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>{
  "configs" : [ {
    "instanceType" : "pd-server",
    "name" : "max-merge-region-size",
    "paramId" : "314",
    "value" : "20"
  } ],
  "targetVersion" : "v5.4.0",
  "upgradeType" : "in-place",
  "upgradeWay" : "offline"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/nonexistclusterid/upgrade</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="751065c3-1422-49b3-90d4-bad627de39b9" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>404</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="6cbce968-b9ea-49e4-8590-468da9e14a72" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10003</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="nonexistclusterid"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="upgradeWithEmptyTargetVersion" id="cf6f59fb-6c49-463e-9b3f-581409e7d1a9">
    <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="upgradeWithEmptyTargetVersion" 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 ${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>{
  "configs" : [ {
    "instanceType" : "pd-server",
    "name" : "max-merge-region-size",
    "paramId" : "314",
    "value" : "20"
  } ],
  "targetVersion" : "",
  "upgradeType" : "in-place",
  "upgradeWay" : "offline"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/Q9FtxcU1T1GPNNUhuIMfmg/upgrade</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="751065c3-1422-49b3-90d4-bad627de39b9" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>400</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="4df100d0-bf60-40a9-b4b0-7e31e9e7dbf1" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10001</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="${cluster#Response#$['data']['clusters'][0]['clusterId']}"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="upgradeWithEmptyUpgradeType" id="29e03f79-4d29-4573-a5df-98a76f82ae99">
    <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="upgradeWithEmptyUpgradeType" 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 ${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>{
  "configs" : [ {
    "instanceType" : "pd-server",
    "name" : "max-merge-region-size",
    "paramId" : "314",
    "value" : "20"
  } ],
  "targetVersion" : "v5.4.0",
  "upgradeType" : "",
  "upgradeWay" : "offline"
}</con:request>
        <con:originalUri>http://172.16.4.134/api/v1/clusters/Q9FtxcU1T1GPNNUhuIMfmg/upgrade</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="751065c3-1422-49b3-90d4-bad627de39b9" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>400</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="JsonPath Match" id="603a77f8-068d-47ef-99dc-5d0857ec392a" name="JSONPath Match">
          <con:configuration>
            <path>$['code']</path>
            <content>10001</content>
            <allowWildcards>false</allowWildcards>
            <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
            <ignoreComments>false</ignoreComments>
          </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="${cluster#Response#$['data']['clusters'][0]['clusterId']}"/>
        </con:parameters>
      </con:restRequest>
    </con:config>
  </con:testStep>
  <con:testStep type="restrequest" name="logout" id="e48ac4f3-18d4-4a9c-9ae8-c5f6d1416891">
    <con:settings/>
    <con:config service="TiEM UI API" resourcePath="/api/v1/user/logout" methodName="POST" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <con:restRequest name="logout" id="46b09598-0eaf-485d-aabe-472863647844" mediaType="application/json" postQueryString="false">
        <con:settings>
          <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="Authorization" value="Bearer ${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/user/logout</con:originalUri>
        <con:assertion type="Valid HTTP Status Codes" id="a4293ab3-7614-4038-9f37-a5d6eb181f38" name="Valid HTTP Status Codes">
          <con:settings/>
          <con:configuration>
            <codes>200</codes>
          </con:configuration>
        </con:assertion>
        <con:assertion type="DataAndMetadataAssertion" id="c75f10ef-1cee-4f44-87d4-0aed0e6f9bcf" 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']['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:originalMessage>{"code":0,"message":"OK","data":{"userId":"yD8pMBfUR4e8SV2TqPtRZQ"}}</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:properties/>
  <con:reportParameters/>
  <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:testCase>
