[CORD-3203] automate data plane for real OLT/ONU
Change-Id: Ifeb4358028d5c24d3e2febef525c8a11bdb57912
diff --git a/src/test/cord-api/Tests/RealOLT_Test.txt b/src/test/cord-api/Tests/RealOLT_Test.txt
new file mode 100644
index 0000000..86faa32
--- /dev/null
+++ b/src/test/cord-api/Tests/RealOLT_Test.txt
@@ -0,0 +1,57 @@
+*** Settings ***
+Documentation Test suite for configuring OLT device using REST APIs
+Suite Setup Read InputFile
+Test Template Configuring Real OLT device
+Library Collections
+Library String
+Library OperatingSystem
+Library XML
+Library RequestsLibrary
+Library ../Framework/utils/utils.py
+Library ../Framework/restApi.py
+
+*** Variables ***
+${PATHFILE} ${CURDIR}/data/RealOLTDevice.json
+
+*** Test Cases *** TYPE LISTINDEX
+Test Create VOLTDevice-1
+ CREATE 0
+Test Get VOLTDevice-1
+ RETRIEVE 0
+
+*** Keywords ***
+Read InputFile
+ ${voltDeviceList}= utils.jsonToList ${PATHFILE} VOLTDeviceInfo
+ Set Suite Variable ${dlist} ${voltDeviceList}
+ Set Global Variable ${VOLTDevice_Id} ${EMPTY}
+
+Configuring Real OLT device
+ [Arguments] ${type} ${listIndex}
+ Run Keyword If "${type}" == "CREATE" Test Post VOLT Device API ${listIndex}
+ Run Keyword If "${type}" == "RETRIEVE" Test Get VOLT Device API ${listIndex}
+
+Test Post VOLT Device API
+ [Arguments] ${listIndex}
+ ${voltDeviceList} = Get Variable Value ${dlist}
+ ${voltDeviceDict}= utils.listToDict ${voltDeviceList} ${listIndex}
+ ${api_getResult}= restApi.ApiGet VOLT_SERVICE
+ ${voltServiceList}= Get From Dictionary ${api_getResult} items
+ ${voltServiceDict}= utils.getDictFromListOfDict ${voltServiceList} leaf_model_name VOLTService
+ ${VOLTService_Id}= Get From Dictionary ${voltServiceDict} id
+ ${voltDeviceDict}= utils.setFieldValueInDict ${voltDeviceDict} volt_service_id ${VOLTService_Id}
+ Log ${voltDeviceDict}
+ ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson VOLT_DEVICE ${voltDeviceDict}
+ Should Be True ${api_result_status}
+ ${VOLTDevice_Id}= Get From Dictionary ${api_result_json} id
+ Set Global Variable ${VOLTDevice_Id}
+
+Test Get VOLT Device API
+ [Arguments] ${listIndex}
+ Log ${VOLTDevice_Id}
+ ${json_result}= restApi.ApiChameleonGet VOLT_DEVICE ${VOLTDevice_Id}
+ Log ${json_result}
+ ${voltDeviceList} = Get Variable Value ${dlist}
+ ${voltDeviceDict}= utils.listToDict ${voltDeviceList} ${listIndex}
+ Log ${voltDeviceDict}
+ ${test_result}= utils.compare_dict ${voltDeviceDict} ${json_result}
+ Should Be True ${test_result}