--- /dev/null
+*** Settings ***
+Documentation This test finds the leader for shards in a 3-Node cluster and executes CRUD operations on them
+Default Tags 3-node-cluster
+Library Collections
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Library ../../../libraries/CrudLibrary.py
+Library ../../../libraries/SettingsLibrary.py
+Library ../../../libraries/UtilLibrary.py
+Library ../../../libraries/ClusterStateLibrary.py
+Resource ../../../libraries/ClusterKeywords.robot
+Variables ../../../variables/Variables.py
+
+*** Variables ***
+${SHARD_CAR_NAME} shard-car-config
+${SHARD_PEOPLE_NAME} shard-people-config
+${SHARD_CAR_PERSON_NAME} shard-car-people-config
+${NUM_ENTRIES} ${30}
+
+*** Test Cases ***
+Get Car Leader And Followers
+ ${CURRENT_CAR_LEADER} Wait For Leader To Be Found ${SHARD_CAR_NAME}
+ Set Suite Variable ${CURRENT_CAR_LEADER}
+ ${CAR_FOLLOWERS} Get All Followers ${SHARD_CAR_NAME}
+ Set Suite Variable ${CAR_FOLLOWERS}
+
+Add cars and get cars from Leader
+ [Documentation] Add some cars and get added cars from Leader
+ Add Cars And Verify ${CURRENT_CAR_LEADER} ${NUM_ENTRIES}
+
+Get added cars from Follower1
+ [Documentation] Get added cars from Follower1
+ Wait Until Keyword Succeeds 60s 2s Get Cars And Verify @{CAR_FOLLOWERS}[0] ${NUM_ENTRIES}
+
+Get added cars from Follower2
+ [Documentation] Get added cars from Follower2
+ Wait Until Keyword Succeeds 60s 2s Get Cars And Verify @{CAR_FOLLOWERS}[1] ${NUM_ENTRIES}
+
+Get People Leader And Followers
+ ${CURRENT_PEOPLE_LEADER} Wait For Leader To Be Found ${SHARD_PEOPLE_NAME}
+ Set Suite Variable ${CURRENT_PEOPLE_LEADER}
+ ${PEOPLE_FOLLOWERS} Get All Followers ${SHARD_PEOPLE_NAME}
+ Set Suite Variable ${PEOPLE_FOLLOWERS}
+
+Add people and get people from Leader
+ [Documentation] Add some people and get people from Leader.
+ Add People And Verify ${CURRENT_PEOPLE_LEADER} ${NUM_ENTRIES}
+
+Get added people from Follower1
+ [Documentation] Get added people from Follower1
+ Wait Until Keyword Succeeds 60s 2s Get People And Verify @{PEOPLE_FOLLOWERS}[0] ${NUM_ENTRIES}
+
+Get added people from Follower2
+ [Documentation] Get added people from Follower2
+ Wait Until Keyword Succeeds 60s 2s Get People And Verify @{PEOPLE_FOLLOWERS}[1] ${NUM_ENTRIES}
+
+Get Car-Person Leader And Followers
+ ${CURRENT_CAR_PERSON_LEADER} Wait For Leader To Be Found ${SHARD_CAR_PERSON_NAME}
+ Set Suite Variable ${CURRENT_CAR_PERSON_LEADER}
+ ${CAR_PERSON_FOLLOWERS} Get All Followers ${SHARD_CAR_PERSON_NAME}
+ Set Suite Variable ${CAR_PERSON_FOLLOWERS}
+
+Add car-person mapping and get car-person mapping from Leader
+ Add Car Person And Verify ${CURRENT_CAR_PERSON_LEADER}
+
+Purchase cars on Leader
+ [Documentation] Purchase some cars on the Leader
+ ${NUM_BUY_CARS_ON_LEADER} Evaluate ${NUM_ENTRIES}/3
+ ${NUM_BUY_CARS_ON_FOLLOWER1} Evaluate ${NUM_ENTRIES}/3
+ ${NUM_BUY_CARS_ON_FOLLOWER2} Evaluate ${NUM_ENTRIES}-${NUM_BUY_CARS_ON_LEADER}-${NUM_BUY_CARS_ON_FOLLOWER1}
+ Set Suite Variable ${NUM_BUY_CARS_ON_LEADER}
+ Set Suite Variable ${NUM_BUY_CARS_ON_FOLLOWER1}
+ Set Suite Variable ${NUM_BUY_CARS_ON_FOLLOWER2}
+ Buy Cars And Verify ${CURRENT_CAR_PERSON_LEADER} ${NUM_BUY_CARS_ON_LEADER}
+
+Purchase cars on Follower1
+ [Documentation] Purchase some cars on Follower1
+ Buy Cars And Verify @{CAR_PERSON_FOLLOWERS}[0] ${NUM_BUY_CARS_ON_FOLLOWER1} ${NUM_BUY_CARS_ON_LEADER}
+
+Purchase cars on Follower2
+ [Documentation] Purchase some cars on Follower2
+ ${start} Evaluate ${NUM_BUY_CARS_ON_LEADER}+${NUM_BUY_CARS_ON_FOLLOWER1}
+ Buy Cars And Verify @{CAR_PERSON_FOLLOWERS}[1] ${NUM_BUY_CARS_ON_FOLLOWER2} ${start}
+
+Get car-person mappings from Leader
+ [Documentation] Get car-person mappings from Leader to see all entries
+ Wait Until Keyword Succeeds 60s 2s Get Car-Person Mappings And Verify ${CURRENT_CAR_PERSON_LEADER} ${NUM_ENTRIES}
+
+Get car-person mappings from Follower1
+ [Documentation] Get car-person mappings from Follower1 to see all entries
+ Wait Until Keyword Succeeds 60s 2s Get Car-Person Mappings And Verify @{CAR_PERSON_FOLLOWERS}[0] ${NUM_ENTRIES}
+
+Get car-person mappings from Follower2
+ [Documentation] Get car-person mappings from Follower2 to see all entries
+ Wait Until Keyword Succeeds 60s 2s Get Car-Person Mappings And Verify @{CAR_PERSON_FOLLOWERS}[1] ${NUM_ENTRIES}