[CORD-2957]New tests for VOLTDevice and PONPORT with framework edits

Change-Id: I130875a34372220b3ce25b89c999c264eefc8f24
diff --git a/src/test/cord-api/Tests/Sanity_PONPort.txt b/src/test/cord-api/Tests/Sanity_PONPort.txt
new file mode 100644
index 0000000..ba7237a
--- /dev/null
+++ b/src/test/cord-api/Tests/Sanity_PONPort.txt
@@ -0,0 +1,73 @@
+*** Settings ***
+Documentation     Test suite for PONPort
+Suite Setup       Read InputFile
+Test Template     Verify PONPort functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+# Update the input file for olt_device_id before running the tests
+${PATHFILE}       ${CURDIR}/data/PONPort.json
+
+*** Test Cases ***    TYPE                         LISTINDEX
+Test Create PONPort-1
+                      CREATE                       0
+
+Test Get PONPort-1
+                      RETRIEVE                     0
+Test Delete PONPort-1
+                      DELETE       0
+Test Create PONPort-2
+                      CREATE       1
+Test Get PONPort-2
+                      RETRIEVE     1
+Test Delete PONPort-2
+                      DELETE       1
+Test Create PONPort-3
+                      CREATE       2
+Test Get PONPort-3
+                      RETRIEVE     2
+Test Delete PONPort-3
+                      DELETE       2
+
+*** Keywords ***
+Read InputFile
+    ${PONPortList}=    utils.jsonToList    ${PATHFILE}    PONPortInfo
+    Set Suite Variable    ${plist}    ${PONPortList}
+    Set Suite Variable    ${PONPort_Id}    ${EMPTY}
+
+Verify PONPort functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post PONPort API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get PONPort API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete PONPort API    ${listIndex}
+
+Test Post PONPort API
+    [Arguments]    ${listIndex}
+    ${PONPortList} =    Get Variable Value    ${plist}
+    ${PONPortDict}=    utils.listToDict    ${PONPortList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    PON_PORT    ${PONPortDict}
+    Should Be True    ${api_result_status}
+    ${PONPort_Id}=    Get From Dictionary    ${api_result_json}    id
+    Set Global Variable    ${PONPort_Id}
+
+Test Get PONPort API
+    [Arguments]    ${listIndex}
+    Log    ${PONPort_Id}
+    ${json_result}=    restApi.ApiChameleonGet    PON_PORT    ${PONPort_Id}
+    Log    ${json_result}
+    ${PONPortList} =    Get Variable Value    ${plist}
+    ${PONPortDict}=    utils.listToDict    ${PONPortList}    ${listIndex}
+    Log    ${PONPortDict}
+    ${test_result}=    utils.compare_dict    ${PONPortDict}    ${json_result}
+    Should Be True    ${test_result}
+
+Test Delete PONPort API
+    [Arguments]    ${listIndex}
+    ${test_result}=    restApi.ApiChameleonDelete    PON_PORT    ${PONPort_Id}
+    Should Be True    ${test_result}