Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / suites / controller / Clustering_Datastore / car_failover_crud.robot
index e33a57e296c66698cfa6e532972c9e0265d8ff87..08ec6f1550ec87ed14445e967acf658a5525c1d2 100644 (file)
@@ -8,8 +8,8 @@ Documentation     Suite mixing basic operations with restart of car Leader.
 ...               and is available at http://www.eclipse.org/legal/epl-v10.html
 ...
 ...
-...               This test kills the current leader of the "car" shard and then executes CRD
-...               operations on the new leader and a new follower. The killed member is brought back.
+...               This test stops the current leader of the "car" shard and then executes CRD
+...               operations on the new leader and a new follower. The stopped member is brought back.
 ...               This suite uses 3 different car sets, same size but different starting ID.
 ...
 ...               Other models and shards (people, car-people) are not accessed by this suite.
@@ -17,10 +17,12 @@ Documentation     Suite mixing basic operations with restart of car Leader.
 ...               All data is deleted at the end of the suite.
 ...               This suite expects car module to have a separate Shard.
 Suite Setup       Setup
+Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
 Default Tags      clustering    carpeople    critical
 Library           Collections
 Resource          ${CURDIR}/../../../libraries/CarPeople.robot
 Resource          ${CURDIR}/../../../libraries/ClusterManagement.robot
+Resource          ${CURDIR}/../../../libraries/SetupUtils.robot
 Resource          ${CURDIR}/../../../libraries/TemplatedRequests.robot
 Variables         ${CURDIR}/../../../variables/Variables.py
 
@@ -34,14 +36,17 @@ ${ORIGINAL_START_I}    100
 ${VAR_DIR}        ${CURDIR}/../../../variables/carpeople/crud
 
 *** Test Cases ***
-Add_Original_Cars_On_Old_Leader
+Add_Original_Cars_On_Old_Leader_And_Verify
     [Documentation]    Add initial cars on car Leader.
     TemplatedRequests.Put_As_Json_Templated    folder=${VAR_DIR}/cars    session=${car_leader_session}    iterations=${CAR_ITEMS}    iter_start=${ORIGINAL_START_I}
+    FOR    ${session}    IN    @{ClusterManagement__session_list}
+        BuiltIn.Wait_Until_Keyword_Succeeds    10s    2s    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}
+        ...    verify=True    iterations=${CAR_ITEMS}    iter_start=${ORIGINAL_START_I}
+    END
 
-Kill_Original_Car_Leader
-    [Documentation]    Kill the car Leader to cause a new leader to get elected.
-    ${kill_list} =    BuiltIn.Create_List    ${car_leader_index}
-    ClusterManagement.Kill_Members_From_List_Or_All    member_index_list=${kill_list}    confirm=True
+Stop_Original_Car_Leader
+    [Documentation]    Stop the car Leader to cause a new leader to get elected.
+    ClusterManagement.Stop_Single_Member    ${car_leader_index}    confirm=True
 
 Wait_For_New_Leader
     [Documentation]    Wait until new car Leader is elected.
@@ -53,8 +58,9 @@ See_Original_Cars_On_New_Leader
 
 See_Original_Cars_On_New_Followers
     [Documentation]    The same check on other existing member(s).
-    : FOR    ${session}    IN    @{new_follower_sessions}
-    \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${ORIGINAL_START_I}
+    FOR    ${session}    IN    @{new_follower_sessions}
+        TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${ORIGINAL_START_I}
+    END
 
 Delete_Original_Cars_On_New_Leader
     [Documentation]    Delete cars on the new Leader.
@@ -70,8 +76,9 @@ See_Leader_Cars_On_New_Leader
 
 See_Leader_Cars_On_New_Followers
     [Documentation]    The same check on other existing members.
-    : FOR    ${session}    IN    @{new_follower_sessions}
-    \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${LEADER_2NODE_START_I}
+    FOR    ${session}    IN    @{new_follower_sessions}
+        TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${LEADER_2NODE_START_I}
+    END
 
 Delete_Leader_Cars_On_New_First_Follower
     [Documentation]    Delete cars in new first Follower.
@@ -87,13 +94,13 @@ See_Folower_Cars_On_New_Leader
 
 See_Follower_Cars_On_New_Followers
     [Documentation]    The same check on other existing members.
-    : FOR    ${session}    IN    @{new_follower_sessions}
-    \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${FOLLOWER_2NODE_START_I}
+    FOR    ${session}    IN    @{new_follower_sessions}
+        TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${FOLLOWER_2NODE_START_I}
+    END
 
 Start_Old_Car_Leader
-    [Documentation]    Start the killed member without deleting the persisted data.
-    ${revive_list} =    BuiltIn.Create_List    ${car_leader_index}
-    ClusterManagement.Start_Members_From_List_Or_All    member_index_list=${revive_list}    wait_for_sync=True    timeout=${MEMBER_START_TIMEOUT}
+    [Documentation]    Start the stopped member without deleting the persisted data.
+    ClusterManagement.Start_Single_Member    ${car_leader_index}    wait_for_sync=True    timeout=${MEMBER_START_TIMEOUT}
     BuiltIn.Wait_Until_Keyword_Succeeds    30s    2s    ClusterManagement.Verify_Leader_Exists_For_Each_Shard    shard_name_list=${SHARD_NAME_LIST}    shard_type=config
 
 See_Folower_Cars_On_Old_Leader
@@ -107,7 +114,7 @@ Delete_Follower_Cars_On_New_Leader
 *** Keywords ***
 Setup
     [Documentation]    Initialize resources, memorize car shard leader and followers.
-    ClusterManagement.ClusterManagement_Setup
+    SetupUtils.Setup_Utils_For_Setup_And_Teardown
     CarPeople.Set_Variables_For_Shard    shard_name=car
 
 Set_Variables_For_Less_Nodes
@@ -117,9 +124,10 @@ Set_Variables_For_Less_Nodes
     ${leader_session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${leader}
     BuiltIn.Set_Suite_Variable    \${new_leader_session}    ${leader_session}
     ${sessions} =    BuiltIn.Create_List
-    : FOR    ${follower_index}    IN    @{follower_list}
-    \    ${follower_session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${follower_index}
-    \    Collections.Append_To_List    ${sessions}    ${follower_session}
+    FOR    ${follower_index}    IN    @{follower_list}
+        ${follower_session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${follower_index}
+        Collections.Append_To_List    ${sessions}    ${follower_session}
+    END
     BuiltIn.Set_Suite_Variable    \${new_follower_sessions}    ${sessions}
     ${first_follower_session} =    Collections.Get_From_List    ${sessions}    0
     BuiltIn.Set_Suite_Variable    \${new_first_follower_session}    ${first_follower_session}