+*** Settings ***
+Documentation Test suite for testing Distributed Datastore main operations performed from follower1
+
+Library Collections
+Library ../../../../libraries/RequestsLibrary.py
+Library ../../../../libraries/Common.py
+Library ../../../../libraries/CrudLibrary.py
+Library ../../../../libraries/SettingsLibrary.py
+Library ../../../../libraries/UtilLibrary.py
+Library ../../../../libraries/ClusterStateLibrary.py
+Variables ../../../../variables/Variables.py
+
+*** Variables ***
+${REST_CONTEXT} /restconf/config/
+${SHARD_CAR_NAME} shard-car-config
+${SHARD_PEOPLE_NAME} shard-people-config
+${SHARD_CAR_PERSON_NAME} shard-car-people-config
+
+
+*** Test Cases ***
+Add cars and get cars from Follower1
+ [Documentation] Add 100 cars and get added cars from Follower1
+ ${FOLLOWERS} GetFollowers ${SHARD_CAR_PERSON_NAME} ${3} ${3} ${1} ${PORT} ${LEADER} ${FOLLOWER1} ${FOLLOWER2}
+ Log ${FOLLOWERS}
+ SET SUITE VARIABLE ${FOLLOWERS}
+
+ ${resp} AddCar ${FOLLOWERS[0]} ${PORT} ${100}
+ Sleep 1
+ ${resp} Getcars ${FOLLOWERS[0]} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain ${resp.content} manufacturer1
+
+Add persons and get persons from Follower1
+ [Documentation] Add 100 persons and get persons from Follower1
+ [Documentation] Note: There should be one person added first to enable rpc
+ ${resp} AddPerson ${FOLLOWERS[0]} ${PORT} ${0}
+ ${resp} AddPerson ${FOLLOWERS[0]} ${PORT} ${100}
+ Sleep 1
+ ${resp} GetPersons ${FOLLOWERS[0]} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain ${resp.content} user5
+
+Add car-person mapping and get car-person mapping from Follower1
+ [Documentation] Add car-person and get car-person from Follower1
+ [Documentation] Note: This is done to enable working of rpc
+
+ ${resp} AddCarPerson ${FOLLOWERS[0]} ${PORT} ${0}
+ ${resp} GetCarPersonMappings ${FOLLOWERS[0]} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain ${resp.content} user0
+
+Purchase 100 cars using Follower1
+ [Documentation] Purchase 100 cars using Follower1
+
+ ${resp} BuyCar ${FOLLOWERS[0]} ${PORT} ${100}
+ Sleep 1
+ ${resp} GetCarPersonMappings ${FOLLOWERS[0]} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Get car-person mappings using Follower1
+ [Documentation] Get car-person mappings using follower1 to see 100 entry
+ ${resp} GetCarPersonMappings ${FOLLOWERS[0]} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain ${resp.content} user100
+ Should Contain ${resp.content} user5
+
+Get car-person mappings using Leader
+ [Documentation] Get car-person mappings using Leader to see 100 entry
+ ${CURRENT_CAR_LEADER} GetLeader ${SHARD_CAR_PERSON_NAME} ${3} ${3} ${1} ${PORT} ${LEADER} ${FOLLOWER1} ${FOLLOWER2}
+ Log ${CURRENT_CAR_LEADER}
+ Sleep 1
+ ${resp} GetCarPersonMappings ${CURRENT_CAR_LEADER} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain ${resp.content} user100
+
+Get car-person mappings using Follower2
+ [Documentation] Get car-person mappings using Follower2 to see 100 entry
+ ${resp} GetCarPersonMappings ${FOLLOWERS[1]} ${PORT} ${0}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain ${resp.content} user0
+ Should Contain ${resp.content} user100