Rearrange CSIT test order

- Waiting for Cmhandle to be ready before fetching the modules in the CSIT.
- Added condition to check size of the json array if it atleast has one
  item

Issue-ID: CPS-2313
Change-Id: Ib4f08069780c55a758ba976db5b96239c83ac990
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
diff --git a/csit/tests/cps-data-operations/cps-data-operations.robot b/csit/tests/cps-data-operations/cps-data-operations.robot
index 85e8a2a..8f1d71a 100644
--- a/csit/tests/cps-data-operations/cps-data-operations.robot
+++ b/csit/tests/cps-data-operations/cps-data-operations.robot
@@ -26,6 +26,7 @@
 Library               RequestsLibrary
 Library               BuiltIn
 Library               ConfluentKafkaLibrary
+Library               String
 
 Suite Setup           Create Session      CPS_URL    http://${CPS_CORE_HOST}:${CPS_CORE_PORT}
 
@@ -79,12 +80,20 @@
     [Arguments]    ${uri}    ${headers}    ${cmHandle}
     ${response}=    GET On Session    CPS_URL    ${uri}    headers=${headers}
     Should Be Equal As Strings    ${response.status_code}    200
+    ${number_of_items}=    Count Items In JSON Response    ${response}
+    Should Be True    ${number_of_items} > 0
     FOR  ${item}  IN  ${response.json()}
             IF  "${item['cmHandle']}" == "${cmHandle}"
                 Should Be Equal As Strings    ${item['state']['cmHandleState']}    READY
             END
     END
 
+Count Items In JSON Response
+    [Arguments]    ${response}
+    ${json_data}=    Evaluate    json.loads('${response.content.decode("utf-8")}')   json
+    ${number_of_items}=    Get Length    ${json_data}
+    RETURN    ${number_of_items}
+
 Basic Teardown
     [Arguments]     ${group_id}
     Unsubscribe     ${group_id}