Chameleon API Tests

Change-Id: I8002eb19add6e296f034adcdf7801d2ee54744cf
diff --git a/src/test/cord-api/Tests/.gitignore b/src/test/cord-api/Tests/.gitignore
new file mode 100644
index 0000000..633ea0f
--- /dev/null
+++ b/src/test/cord-api/Tests/.gitignore
@@ -0,0 +1,3 @@
+log.html
+report.html
+output.xml
diff --git a/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt b/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt
new file mode 100644
index 0000000..2d9b5f2
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt
@@ -0,0 +1,37 @@
+*** Settings ***
+Documentation     Test suite for checking default services
+Suite Setup       Read InputFile
+Test Template     Verify Service Sanity
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_defaultServices.json
+
+*** Test Cases ***    TYPE
+Test Service Sanity
+                      SANITY
+
+*** Keywords ***
+Read InputFile
+    ${serviceList}=    utils.jsonToList    ${PATHFILE}    ServiceInfo
+    Set Suite Variable    ${slist}    ${serviceList}
+
+Verify Service Sanity
+    [Arguments]    ${type}
+    Run Keyword If    "${type}" == "SANITY"    Test Service Sanity
+
+Test Service Sanity
+    ${json_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${serviceList}=    Get Variable Value    ${slist}
+    ${test_result}=    utils.compare_list_of_dicts    ${serviceList}    ${json_result_list}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_DeploymentTest.txt b/src/test/cord-api/Tests/Ch_DeploymentTest.txt
new file mode 100644
index 0000000..7a3de5d
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_DeploymentTest.txt
@@ -0,0 +1,100 @@
+*** Settings ***
+Documentation     Test suite for Deployment verification
+Suite Setup       Read InputFile
+Test Template     Verify Deployment functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Deployment.json
+${PATHFILE2}      ${CURDIR}/data/putDeployment.json
+
+*** Test Cases ***    TYPE                       LISTINDEX
+Test Post Deployment-1
+                      CREATE                     0
+
+Test Get Deployment-1
+                      RETRIEVE                   0
+                      #Test Edit Deployment-1    PUT          0
+
+Test Delete Deployment-1
+                      DELETE                     0
+
+Test Post Deployment-2
+                      CREATE                     1
+
+Test Get Deployment-2
+                      RETRIEVE                   1
+                      #Test Edit Deployment-2    PUT          1
+
+Test Delete Deployment-2
+                      DELETE                     1
+
+*** Keywords ***
+Read InputFile
+    ${deploymentList}=    utils.jsonToList    ${PATHFILE}    DeploymentInfo
+    Set Suite Variable    ${dlist}    ${deploymentList}
+    ${putDeploymentList}=    utils.jsonToList    ${PATHFILE2}    DeploymentInfo
+    Set Suite Variable    ${putList}    ${putDeploymentList}
+
+Verify Deployment functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Deployment API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Deployment API    ${listIndex}
+    Run Keyword If    "${type}" == "PUT"    Test Edit Deployment API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Deployment API    ${listIndex}
+
+Test Post Deployment API
+    [Arguments]    ${listIndex}
+    ${deploymentList} =    Get Variable Value    ${dlist}
+    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_DEPLOYMENTS    ${deploymentDict}
+    Should Be True    ${api_result}
+
+Test Get Deployment API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${deploymentList}=    Get Variable Value    ${dlist}
+    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${deploymentDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    utils.compare_dict    ${deploymentDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+
+Test Edit Deployment API
+    [Arguments]    ${listIndex}
+    ${get_result}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS
+    ${putDeploymentList}=    Get Variable Value    ${putList}
+    ${putDeploymentDict}=    utils.listToDict    ${putDeploymentList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${putDeploymentDict}    name
+    ${deploymentDict}=    utils.getDictFromListofDict    ${get_result}    name    ${name}
+    ${deploymentID}=    utils.getFieldValueFromDict    ${deploymentDict}    id
+    ${api_result}=    restApi.ApiPut    CH_CORE_DEPLOYMENTS    ${putDeploymentDict}    ${deploymentID}
+    Should Be True    ${api_result}
+    ${getResultAfterPut}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS    ${deploymentID}
+    ${test_result}=    utils.compare_dict    ${putDeploymentDict}    ${getResultAfterPut}
+    Should Be True    ${test_result}
+
+Test Delete Deployment API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    ${deploymentList}=    Get Variable Value    ${dlist}
+    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${deploymentDict}    name
+    Log    ${name}
+    ${deploymentDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    Log    ${deploymentDict}
+    ${deploymentId}=    utils.getFieldValueFromDict    ${deploymentDict}    id
+    Log    ${deploymentId}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_DEPLOYMENTS    ${deploymentId}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_NodeTest.txt b/src/test/cord-api/Tests/Ch_NodeTest.txt
new file mode 100644
index 0000000..b777dea
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_NodeTest.txt
@@ -0,0 +1,81 @@
+*** Settings ***
+Documentation     Test suite for Node API verification
+Suite Setup       Read InputFile
+Test Template     Verify Node API functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+Variables         ../Properties/RestApiProperties.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Node.json
+${IP}             ${SERVER_IP}
+${PORT}           ${SERVER_PORT}
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Post Node-1      CREATE      0
+
+Test Get Node-1       RETRIEVE    0
+
+Test Delete Node-1    DELETE      0
+
+Test Post Node-2      CREATE      1
+
+Test Get Node-2       RETRIEVE    1
+
+Test Delete Node-2    DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${nodeList}=    utils.jsonToList    ${PATHFILE}    NodeInfo
+    Set Suite Variable    ${nlist}    ${nodeList}
+    ${siteDeployment}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}
+    ...    /api/core/sitedeployments/1/
+    Set Suite Variable    ${siteDeployment}    ${siteDeployment}
+
+Verify Node API functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Node API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Node API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Node API    ${listIndex}
+
+Test Post Node API
+    [Arguments]    ${listIndex}
+    ${nodeList}=    Get Variable Value    ${nlist}
+    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_NODES    ${nodeDict}
+    Should Be True    ${api_result}
+
+Test Get Node API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_NODES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${nodeList}=    Get Variable Value    ${nlist}
+    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${nodeDict}    name
+    Log    ${name}
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    utils.compare_dict    ${nodeDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+
+Test Delete Node API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_NODES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    ${nodeList}=    Get Variable Value    ${nlist}
+    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${nodeDict}    name
+    Log    ${name}
+    ${nodeDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    Log    ${nodeDict}
+    ${nodeId}=    utils.getFieldValueFromDict    ${nodeDict}    id
+    Log    ${nodeId}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_NODES    ${nodeId}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SanityFlavors.txt b/src/test/cord-api/Tests/Ch_SanityFlavors.txt
new file mode 100644
index 0000000..72ced6e
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_SanityFlavors.txt
@@ -0,0 +1,76 @@
+*** Settings ***
+Documentation     Test suite for Sanity Test of Flavors API
+Suite Setup       Read InputFile
+Test Template     Verify Flavor API functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Flavors.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Add Flavor-1     CREATE      0
+
+Test Get Flavor-1     RETRIEVE    0
+
+Test Delete Flavor-1
+                      DELETE      0
+
+Test Add Flavor-2     CREATE      1
+
+Test Get Flavor-2     RETRIEVE    1
+
+Test Delete Flavor-2
+                      DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${flavorList} =    utils.jsonToList    ${PATHFILE}    flavorsInfo
+    Set Suite Variable    ${vList}    ${flavorList}
+
+Verify Flavor API functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Flavors    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Flavors    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Flavors    ${listIndex}
+
+Test Post Flavors
+    [Arguments]    ${listIndex}
+    ${flavorList} =    Get Variable Value    ${vList}
+    ${flavorDict}=    utils.listToDict    ${flavorList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_FLAVORS    ${flavorDict}
+    Should Be True    ${api_result}
+
+Test Get Flavors
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_FLAVORS
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${flavorList}=    Get Variable Value    ${vList}
+    ${inputDict}=    utils.listToDict    ${flavorList}    ${listIndex}
+    ${flavorName}=    utils.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${flavorName}
+    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    Should Be True    ${json_result}
+
+Test Delete Flavors
+    [Arguments]    ${listIndex}
+    ${json_getresult}=    restApi.ApiGet    CH_CORE_FLAVORS
+    ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
+    ${flavorList}=    Get Variable Value    ${vList}
+    ${flavorDict}=    utils.listToDict    ${vList}    ${listIndex}
+    ${flavorName}=    utils.getFieldValueFromDict    ${flavorDict}    name
+    Log    ${flavorName}
+    ${getFlavorDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${flavorName}
+    Log    ${getFlavorDict}
+    ${flavorID}=    utils.getFieldValueFromDict    ${getFlavorDict}    id
+    Log    ${flavorID}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_FLAVORS    ${flavorID}
+    Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SanityInstance.txt b/src/test/cord-api/Tests/Ch_SanityInstance.txt
new file mode 100644
index 0000000..01a972d
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_SanityInstance.txt
@@ -0,0 +1,81 @@
+*** Settings ***
+Documentation     Test suite for Sanity Test of Instance API
+Suite Setup       Read InputFile
+Test Template     Verify Instance API functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_SanityInstance.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Add Instance-1
+                      CREATE      0
+
+Test Get Instance-1
+                      RETRIEVE    0
+
+Test Delete Instance-1
+                      DELETE      0
+
+Test Add Instance-2
+                      CREATE      1
+
+Test Get Instance-2
+                      RETRIEVE    1
+
+Test Delete Instance-2
+                      DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${instanceList} =    utils.jsonToList    ${PATHFILE}    InstanceInfo
+    Set Suite Variable    ${iList}    ${instanceList}
+
+Verify Instance API functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Instances    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Instances    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Instances    ${listIndex}
+
+Test Post Instances
+    [Arguments]    ${listIndex}
+    ${instanceList} =    Get Variable Value    ${iList}
+    ${instanceDict}=    utils.listToDict    ${instanceList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_INSTANCES    ${instanceDict}
+    Should Be True    ${api_result}
+
+Test Get Instances
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_INSTANCES
+    Log    ${json_result}
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${instanceList}=    Get Variable Value    ${iList}
+    ${inputDict}=    utils.listToDict    ${instanceList}    ${listIndex}
+    ${instanceName}=    utils.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${instanceName}
+    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    Should Be True    ${json_result}
+
+Test Delete Instances
+    [Arguments]    ${listIndex}
+    ${json_getresult}=    restApi.ApiGet    CH_CORE_INSTANCES
+    ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
+    ${instanceList}=    Get Variable Value    ${iList}
+    ${instanceDict}=    utils.listToDict    ${iList}    ${listIndex}
+    ${instanceName}=    utils.getFieldValueFromDict    ${instanceDict}    name
+    Log    ${instanceName}
+    ${getInstanceDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${instanceName}
+    Log    ${getInstanceDict}
+    ${instanceID}=    utils.getFieldValueFromDict    ${getInstanceDict}    id
+    Log    ${instanceID}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_INSTANCES    ${instanceID}
+    Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_ServiceTest.txt b/src/test/cord-api/Tests/Ch_ServiceTest.txt
new file mode 100644
index 0000000..9f06ad1
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_ServiceTest.txt
@@ -0,0 +1,104 @@
+*** Settings ***
+Documentation     Test suite for Service verification
+Suite Setup       Read InputFile
+Test Template     Verify Service functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Service.json
+${PATHFILE2}      ${CURDIR}/data/Ch_putService.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Post Service-1
+                      CREATE      0
+
+Test Get Service-1    RETRIEVE    0
+
+Test Edit Service-1
+                      PUT         0
+
+Test Delete Service-1
+                      DELETE      0
+
+Test Post Service-2
+                      CREATE      1
+
+Test Get Service-2    RETRIEVE    1
+
+Test Edit Service-2
+                      PUT         1
+
+Test Delete Service-2
+                      DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${serviceList}=    utils.jsonToList    ${PATHFILE}    ServiceInfo
+    Set Suite Variable    ${slist}    ${serviceList}
+    ${putServiceList}=    utils.jsonToList    ${PATHFILE2}    ServiceInfo
+    Set Suite Variable    ${putList}    ${putServiceList}
+
+Verify Service functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Service API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Service API    ${listIndex}
+    Run Keyword If    "${type}" == "PUT"    Test Edit Service API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Service API    ${listIndex}
+
+Test Post Service API
+    [Arguments]    ${listIndex}
+    ${serviceList} =    Get Variable Value    ${slist}
+    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_SERVICES    ${serviceDict}
+    Should Be True    ${api_result}
+
+Test Get Service API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    Log    ${json_result}
+    ${serviceList}=    Get Variable Value    ${slist}
+    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${serviceDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    utils.compare_dict    ${serviceDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+
+Test Edit Service API
+    [Arguments]    ${listIndex}
+    ${get_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${get_result_list}=    Get From Dictionary    ${get_result}    items
+    ${putServiceList}=    Get Variable Value    ${putList}
+    ${putServiceDict}=    utils.listToDict    ${putServiceList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${putServiceDict}    name
+    ${serviceDict}=    utils.getDictFromListofDict    ${get_result_list}    name    ${name}
+    ${serviceID}=    utils.getFieldValueFromDict    ${serviceDict}    id
+    ${api_result}=    restApi.ApiChameleonPut    CH_CORE_SERVICES    ${putServiceDict}    ${serviceID}
+    Should Be True    ${api_result}
+    ${getResultAfterPut}=    restApi.ApiChameleonGet    CH_CORE_SERVICES    ${serviceID}
+    ${test_result}=    utils.compare_dict    ${putServiceDict}    ${getResultAfterPut}
+    Should Be True    ${test_result}
+
+Test Delete Service API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    ${serviceList}=    Get Variable Value    ${slist}
+    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${serviceDict}    name
+    Log    ${name}
+    ${serviceDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    Log    ${serviceDict}
+    ${serviceId}=    utils.getFieldValueFromDict    ${serviceDict}    id
+    Log    ${serviceId}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_SERVICES    ${serviceId}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SiteTest.txt b/src/test/cord-api/Tests/Ch_SiteTest.txt
new file mode 100644
index 0000000..0748d18
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_SiteTest.txt
@@ -0,0 +1,97 @@
+*** Settings ***
+Documentation     Test suite for Site verification
+Suite Setup       Read InputFile
+Test Template     Verify Site functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Site.json
+${PATHFILE2}      ${CURDIR}/data/Ch_putSite.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Post Site-1      CREATE      0
+
+Test Get Site-1       RETRIEVE    0
+
+Test Edit Site-1      PUT         0
+
+Test Delete Site-1    DELETE      0
+
+Test Post Site-2      CREATE      1
+
+Test Get Site-2       RETRIEVE    1
+
+Test Edit Site-2      PUT         1
+
+Test Delete Site-2    DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${siteList}=    utils.jsonToList    ${PATHFILE}    SiteInfo
+    Set Suite Variable    ${slist}    ${siteList}
+    ${putSiteList}=    utils.jsonToList    ${PATHFILE2}    SiteInfo
+    Set Suite Variable    ${putList}    ${putSiteList}
+
+Verify Site functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Site API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Site API    ${listIndex}
+    Run Keyword If    "${type}" == "PUT"    Test Edit Site API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Site API    ${listIndex}
+
+Test Post Site API
+    [Arguments]    ${listIndex}
+    ${siteList} =    Get Variable Value    ${slist}
+    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_SITES    ${siteDict}
+    Should Be True    ${api_result}
+
+Test Get Site API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_SITES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${siteList}=    Get Variable Value    ${slist}
+    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${siteDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    utils.compare_dict    ${siteDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+
+Test Edit Site API
+    [Arguments]    ${listIndex}
+    ${get_result}=    restApi.ApiGet    CH_CORE_SITES
+    ${get_result_list}=    Get From Dictionary    ${get_result}    items
+    ${putSiteList}=    Get Variable Value    ${putList}
+    ${putSiteDict}=    utils.listToDict    ${putSiteList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${putSiteDict}    name
+    ${siteDict}=    utils.getDictFromListofDict    ${get_result_list}    name    ${name}
+    ${siteID}=    utils.getFieldValueFromDict    ${siteDict}    id
+    ${api_result}=    restApi.ApiChameleonPut    CH_CORE_SITES    ${putSiteDict}    ${siteID}
+    Should Be True    ${api_result}
+    ${getResultAfterPut}=    restApi.ApiChameleonGet    CH_CORE_SITES    ${siteID}
+    ${test_result}=    utils.compare_dict    ${putSiteDict}    ${getResultAfterPut}
+    Should Be True    ${test_result}
+
+Test Delete Site API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_SITES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    ${siteList}=    Get Variable Value    ${slist}
+    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
+    ${name}=    utils.getFieldValueFromDict    ${siteDict}    name
+    Log    ${name}
+    ${siteDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    Log    ${siteDict}
+    ${siteId}=    utils.getFieldValueFromDict    ${siteDict}    id
+    Log    ${siteId}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_SITES    ${siteId}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SliceTest.txt b/src/test/cord-api/Tests/Ch_SliceTest.txt
new file mode 100644
index 0000000..565e1cb
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_SliceTest.txt
@@ -0,0 +1,72 @@
+*** Settings ***
+Documentation     Test suite for Slice API verification
+Suite Setup       Read InputFile
+Test Template     Verify Slice API functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+Variables         ../Properties/RestApiProperties.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Slice.json
+${IP}             ${SERVER_IP}
+${PORT}           ${SERVER_PORT}
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Add Slice-1      CREATE      0
+
+Test Get Slice-1      RETRIEVE    0
+
+Test Delete Slice-1
+                      DELETE      0
+
+*** Keywords ***
+Read InputFile
+    ${sliceList} =    utils.jsonToList    ${PATHFILE}    SliceInfo
+    Set Suite Variable    ${sList}    ${sliceList}
+
+Verify Slice API functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Slice API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Slice API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Slice API    ${listIndex}
+
+Test Post Slice API
+    [Arguments]    ${listIndex}
+    ${sliceList} =    Get Variable Value    ${sList}
+    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_SLICES    ${sliceDict}
+    Should Be True    ${api_result}
+
+Test Get Slice API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_SLICES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${sliceList}=    Get Variable Value    ${sList}
+    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${sliceName}=    Get From Dictionary    ${sliceDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${sliceName}
+    ${test_result}=    utils.compare_dict    ${sliceDict}    ${getJsonDict}
+    Should Be True    ${json_result}
+
+Test Delete Slice API
+    [Arguments]    ${listIndex}
+    ${json_getresult}=    restApi.ApiGet    CH_CORE_SLICES
+    ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
+    ${sliceList}=    Get Variable Value    ${sList}
+    ${sliceDict}=    utils.listToDict    ${sList}    ${listIndex}
+    ${sliceName}=    utils.getFieldValueFromDict    ${sliceDict}    name
+    Log    ${sliceName}
+    ${getSliceDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${sliceName}
+    Log    ${getSliceDict}
+    ${sliceID}=    utils.getFieldValueFromDict    ${getSliceDict}    id
+    Log    ${sliceID}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_SLICES    ${sliceID}
+    Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SubscriberTest.txt b/src/test/cord-api/Tests/Ch_SubscriberTest.txt
new file mode 100644
index 0000000..0d0e2e3
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_SubscriberTest.txt
@@ -0,0 +1,113 @@
+*** Settings ***
+Documentation     Test suite for Subscriber verification
+Suite Setup       Read InputFile
+Test Template     Verify Subscriber functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Subscriber.json
+${PATHFILE2}      ${CURDIR}/data/Ch_putSubscriber.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Create Subscriber-1
+                      CREATE      0
+
+Test Get_Subscriber-1
+                      RETRIEVE    0
+
+Test Edit Subscriber-1
+                      PUT         0
+
+Test Create Subscriber-2
+                      CREATE      1
+
+Test Get_Subscriber-2
+                      RETRIEVE    1
+
+Test Edit Subscriber-2
+                      PUT         1
+
+Test Create Subscriber-3
+                      CREATE      2
+
+Test Get_Subcriber-3
+                      RETRIEVE    2
+
+Test Edit Subscriber-3
+                      PUT         2
+
+*** Keywords ***
+Read InputFile
+    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    Set Suite Variable    ${slist}    ${subscriberList}
+    ${putSubscriberList}=    utils.jsonToList    ${PATHFILE2}    SubscriberInfo
+    Set Suite Variable    ${putList}    ${putSubscriberList}
+
+Verify Subscriber functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Subscriber API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Subscriber API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Subscriber API    ${listIndex}
+    Run Keyword If    "${type}" == "PUT"    Test Edit Subscriber API    ${listIndex}
+
+Test Post Subscriber API
+    [Arguments]    ${listIndex}
+    ${subscriberList} =    Get Variable Value    ${slist}
+    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
+    Should Be True    ${api_result}
+
+Test Get Subscriber API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    Log    ${json_result}
+    ${subscriberList}=    Get Variable Value    ${slist}
+    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
+    ${AccountNum}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    Log    ${AccountNum}
+    ${json_result_list}=    Get From dictionary    ${json_result}    items
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${AccountNum}
+    Log    ${getJsonDict}
+    Log    ${subscriberDict}
+    ${test_result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+
+Test Edit Subscriber API
+    [Arguments]    ${listIndex}
+    ${get_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${get_result_list}=    Get From Dictionary    ${get_result}    items
+    ${putSubscriberList}=    Get Variable Value    ${putList}
+    ${putSubscriberDict}=    utils.listToDict    ${putSubscriberList}    ${listIndex}
+    ${AcctNum}=    utils.getFieldValueFromDict    ${putSubscriberDict}    service_specific_id
+    Log    ${AcctNum}
+    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result_list}    service_specific_id    ${AcctNum}
+    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    ${api_result}=    restApi.ApiChameleonPut    VOLT_SUBSCRIBER    ${putSubscriberDict}    ${subscriberID}
+    Should Be True    ${api_result}
+    ${getResultAfterPut}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${getResultList_AfterPut}=    Get From Dictionary    ${getResultAfterPut}    items
+    ${getResultDict}=    utils.getDictFromListOfDict    ${getResultList_AfterPut}    service_specific_id    ${AcctNum}
+    ${test_result}=    utils.compare_dict    ${putSubscriberDict}    ${getResultDict}
+    Should Be True    ${test_result}
+
+Test Delete Subscriber API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${subscriberList}=    Get Variable Value    ${slist}
+    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
+    ${AcctNum}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    Log    ${AcctNum}
+    ${subscriberDict}=    utils.getDictFromListofDict    ${json_result}    service_specific_id    ${AcctNum}
+    Log    ${subscriberDict}
+    ${subscriberId}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    Log    ${subscriberId}
+    ${test_result}=    restApi.ApiDelete    VOLT_SUBSCRIBER    ${subscriberId}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_UsersTest.txt b/src/test/cord-api/Tests/Ch_UsersTest.txt
new file mode 100644
index 0000000..cda8899
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_UsersTest.txt
@@ -0,0 +1,80 @@
+*** Settings ***
+Documentation     Test suite for Users API
+Suite Setup       Read InputFile
+Test Template     Verify User functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_Users.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Add User-1       CREATE      0
+
+Test Get User-1       RETRIEVE    0
+
+Test Delete User-1    DELETE      0
+
+Test Add User-2       CREATE      1
+
+Test Get User-2       RETRIEVE    1
+
+Test Delete User-2    DELETE      1
+
+Test Add User-3       CREATE      2
+
+Test Get User-3       RETRIEVE    2
+
+Test Delete User-3    DELETE      2
+
+*** Keywords ***
+Read InputFile
+    ${userList} =    utils.jsonToList    ${PATHFILE}    UserInfo
+    Set Suite Variable    ${uList}    ${userList}
+
+Verify User functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Users API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Users API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Users API    ${listIndex}
+
+Test Post Users API
+    [Arguments]    ${listIndex}
+    ${userList} =    Get Variable Value    ${uList}
+    ${userDict}=    utils.listToDict    ${userList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_USERS    ${userDict}
+    Should Be True    ${api_result}
+
+Test Get Users API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_USERS
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${userList}=    Get Variable Value    ${uList}
+    ${inputDict}=    utils.listToDict    ${userList}    ${listIndex}
+    ${email}=    utils.getFieldValueFromDict    ${inputDict}    email
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    email    ${email}
+    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    Should Be True    ${json_result}
+
+Test Delete Users API
+    [Arguments]    ${listIndex}
+    ${json_getresult}=    restApi.ApiGet    CH_CORE_USERS
+    ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
+    ${userList}=    Get Variable Value    ${uList}
+    ${userDict}=    utils.listToDict    ${uList}    ${listIndex}
+    ${email}=    utils.getFieldValueFromDict    ${userDict}    email
+    Log    ${email}
+    ${getUserDict}=    utils.getDictFromListofDict    ${json_getresult_list}    email    ${email}
+    Log    ${getUserDict}
+    ${userID}=    utils.getFieldValueFromDict    ${getUserDict}    id
+    Log    ${userID}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_USERS    ${userID}
+    Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_VoltTenant.txt b/src/test/cord-api/Tests/Ch_VoltTenant.txt
new file mode 100644
index 0000000..60b4a41
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_VoltTenant.txt
@@ -0,0 +1,69 @@
+*** Settings ***
+Documentation     Test suite for volt Tenant Verification - Chameleon API
+Suite Setup       Read InputFile
+Test Template     Verify volt Tenant Functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Ch_VoltTenant.json
+${PATHFILE2}      ${CURDIR}/data/Ch_putVoltTenant.json
+
+*** Test Cases ***    TYPE      LISTINDEX
+Test volt Tenant-1    CREATE    0
+
+Test volt Tenant-2    CREATE    1
+
+Test volt Tenant-3    CREATE    2
+
+*** Keywords ***
+Read InputFile
+    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    Set Suite Variable    ${vlist}    ${voltList}
+    ${putvoltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    Set Suite Variable    ${putList}    ${putvoltList}
+
+Verify volt Tenant Functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post volt Tenant API    ${listIndex}
+
+Test Post volt Tenant API
+    [Arguments]    ${listIndex}
+    ${voltTenantList} =    Get Variable Value    ${vlist}
+    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
+    ${service_specific_id}=    Get From Dictionary    ${voltTenantDict}    service_specific_id
+    ${get_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${get_result_list}=    Get From Dictionary    ${get_result}    items
+    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result_list}    service_specific_id    ${service_specific_id}
+    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    Log    ${subscriberID}
+    ${updatedVoltDict}=    utils.setFieldValueInDict    ${voltDict}    subscriber_root_id    ${subscriberID}
+    ${api_result}=    restApi.ApiPost    VOLT_TENANT    ${updatedVoltDict}
+    Should Be True    ${api_result}
+    # Verifying Get operation after POST
+    ${getVolt_result}=    restApi.ApiGet    VOLT_TENANT
+    ${getVolt_result_list}=    Get From Dictionary    ${getVolt_result}    items
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result_list}    subscriber_root_id    ${subscriberID}
+    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+    # Verifying PUT operation
+    ${putvoltList}=    Get Variable Value    ${putList}
+    ${putVoltDict}=    utils.listToDict    ${putvoltList}    ${listIndex}
+    ${putvoltTenantDict}=    Get From Dictionary    ${putVoltDict}    voltTenant
+    ${voltID}=    utils.getFieldValueFromDict    ${getJsonDict}    id
+    ${put_result}=    restApi.ApiChameleonPut    VOLT_TENANT    ${putvoltTenantDict}    ${voltID}
+    Should Be True    ${put_result}
+    # Verifying Get after PUT operation
+    #${getVolt_afterPut}=    restApi.ApiGet    VOLT_TENANT
+    #${getVoltDict}=    utils.getDictFromListofDict    ${getVolt_afterPut}    id    ${voltID}
+    ${getVoltDict}=    utils.ApiChemeleonGet    VOLT_TENANT    ${voltID}
+    ${result_afterPut}=    utils.compare_dict    ${putvoltTenantDict}    ${getVoltDict}
+    Should Be True    ${result_afterPut}
diff --git a/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt b/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt
new file mode 100644
index 0000000..541cf80
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt
@@ -0,0 +1,37 @@
+*** Settings ***
+Documentation     Test suite for checking default images for R-CORD
+Suite Setup       Read InputFile
+Test Template     Verify Image Check
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/defaultImages.json
+
+*** Test Cases ***    TYPE
+Test Default Images on R-CORD
+                      IMAGE
+
+*** Keywords ***
+Read InputFile
+    ${imageList}=    utils.jsonToList    ${PATHFILE}    imagesInfo
+    Set Suite Variable    ${ilist}    ${imageList}
+
+Verify Image Check
+    [Arguments]    ${type}
+    Run Keyword If    "${type}" == "IMAGE"    Test Image Check
+
+Test Image Check
+    ${json_result}=    restApi.ApiGet    CH_CORE_IMAGES
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${imageList}=    Get Variable Value    ${ilist}
+    ${test_result}=    utils.compare_list_of_dicts    ${imageList}    ${json_result_list}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/UISliceTest.txt b/src/test/cord-api/Tests/UISliceTest.txt
new file mode 100644
index 0000000..d1cd2e9
--- /dev/null
+++ b/src/test/cord-api/Tests/UISliceTest.txt
@@ -0,0 +1,87 @@
+*** Settings ***
+Documentation     Test suite for Slice API verification
+Suite Setup       Read InputFile
+Test Template     Verify Slice API functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+| Variables |     ../Properties/RestApiProperties.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Slice.json
+| ${IP} |         ${SERVER_IP}
+| ${PORT} |       ${SERVER_PORT}
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Add Slice-1      CREATE      0
+
+Test Get Slice-1      RETRIEVE    0
+
+Test Delete Slice-1   DELETE      0
+
+Test Add Slice-2      CREATE      1
+
+Test Get Slice-2      RETRIEVE    1
+
+Test Delete Slice-2   DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${sliceList} =    utils.jsonToList    ${PATHFILE}    SliceInfo
+    Set Suite Variable    ${sList}    ${sliceList}
+    ${site}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}    /api/core/sites/1/
+    Set Suite Variable    ${site}    ${site}
+    ${creator}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}    /api/core/users/1/
+    Set Suite Variable    ${creator}    ${creator}
+
+Verify Slice API functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Slice API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Slice API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Slice API    ${listIndex}
+
+Test Post Slice API
+    [Arguments]    ${listIndex}
+    ${sliceList} =    Get Variable Value    ${sList}
+    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${site}=    Get Variable Value    ${site}
+    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   site   ${site}
+    ${creator}=    Get Variable Value    ${creator}
+    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   creator   ${creator}
+    ${api_result}=    restApi.ApiPost    CORE_SLICES    ${sliceDict}
+    Should Be True    ${api_result}
+
+Test Get Slice API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CORE_SLICES
+    Log    ${json_result}
+    ${sliceList}=    Get Variable Value    ${sList}
+    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${site}=    Get Variable Value    ${site}
+    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   site   ${site}
+    ${creator}=    Get Variable Value    ${creator}
+    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   creator   ${creator}
+    ${ID}=    utils.getFieldValueFromDict    ${sliceDict}    id
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    id    ${ID}
+    ${test_result}=    utils.compare_dict    ${sliceDict}    ${getJsonDict}
+    Should Be True    ${json_result}
+
+Test Delete Slice API
+    [Arguments]    ${listIndex}
+    ${json_getresult}=    restApi.ApiGet    CORE_SLICES
+    ${sliceList}=    Get Variable Value    ${sList}
+    ${sliceDict}=    utils.listToDict    ${sList}    ${listIndex}
+    ${sliceName}=    utils.getFieldValueFromDict    ${sliceDict}    name
+    Log    ${sliceName}
+    ${getSliceDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
+    Log    ${getSliceDict}
+    ${sliceID}=    utils.getFieldValueFromDict    ${getSliceDict}    id
+    Log    ${sliceID}
+    ${test_result}=    restApi.ApiDelete    CORE_SLICES    ${sliceID}
+    Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/data/Ch_Deployment.json b/src/test/cord-api/Tests/data/Ch_Deployment.json
new file mode 100644
index 0000000..07f0f56
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Deployment.json
@@ -0,0 +1,11 @@
+{
+    "DeploymentInfo":
+    [
+        {
+            "name": "test-deployment-1"
+        },
+        {
+            "name": "test-deployment-2"
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Flavors.json b/src/test/cord-api/Tests/data/Ch_Flavors.json
new file mode 100644
index 0000000..0437db2
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Flavors.json
@@ -0,0 +1,12 @@
+{
+     "flavorsInfo": [
+            {
+            "flavor": "mq.test",
+            "name": "mq.test"
+            },
+            {
+            "flavor": "mq.test2",
+            "name": "mq.test2"
+             }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Node.json b/src/test/cord-api/Tests/data/Ch_Node.json
new file mode 100644
index 0000000..245bcf3
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Node.json
@@ -0,0 +1,13 @@
+{
+    "NodeInfo":
+    [
+        {
+            "name": "test-node-1",
+            "site_deployment_id": 1
+        },
+        {
+            "name": "test-node-2",
+            "site_deployment_id": 1
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_SanityInstance.json b/src/test/cord-api/Tests/data/Ch_SanityInstance.json
new file mode 100644
index 0000000..d707b52
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_SanityInstance.json
@@ -0,0 +1,20 @@
+{
+     "InstanceInfo": [
+            {
+            "name": "test-instance1",
+            "image_id": 1,
+            "slice_id": 1,
+            "deployment_id": 1,
+            "node_id": 1,
+            "creator_id" : 1
+            },
+            {
+            "name": "test-instance",
+            "image_id": 1,
+            "slice_id": 1,
+            "deployment_id": 1,
+            "node_id": 1,
+            "creator_id" : 1
+             }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Service.json b/src/test/cord-api/Tests/data/Ch_Service.json
new file mode 100644
index 0000000..0dd5193
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Service.json
@@ -0,0 +1,13 @@
+{
+    "ServiceInfo":
+    [
+        {
+            "name": "test-service-1",
+            "description": "Test service No.1"
+        },
+        {
+            "name": "test-service-2",
+            "description": "Test service No.2"
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Site.json b/src/test/cord-api/Tests/data/Ch_Site.json
new file mode 100644
index 0000000..feffe3b
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Site.json
@@ -0,0 +1,15 @@
+{
+    "SiteInfo":
+    [
+        {
+            "name": "test-site-1",
+            "login_base":"testsite1",
+            "abbreviated_name":"ts1"
+        },
+        {
+            "name": "test-site-2",
+            "login_base":"testsite2",
+            "abbreviated_name":"ts2"
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Slice.json b/src/test/cord-api/Tests/data/Ch_Slice.json
new file mode 100644
index 0000000..ee795b7
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Slice.json
@@ -0,0 +1,14 @@
+{
+    "SliceInfo": [
+        {
+            "name": "mysite_test-slice-1",
+            "site_id": 1,
+            "creator_id": 1
+        },
+        {
+            "name": "mysite_test-slice-2",
+            "site_id": 2,
+            "creator_id": 2
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Subscriber.json b/src/test/cord-api/Tests/data/Ch_Subscriber.json
new file mode 100644
index 0000000..d5e81a1
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Subscriber.json
@@ -0,0 +1,28 @@
+{
+    "SubscriberInfo" : [
+    {
+            "cdn_enable": true,
+            "uplink_speed": 1000000000,
+            "downlink_speed": 1000000000,
+            "enable_uverse": true,
+            "status": "enabled",
+            "service_specific_id": "304",
+            "name": "My House"
+    },
+    {
+            "cdn_enable": false,
+            "uplink_speed": 500000000,
+            "downlink_speed": 500000000,
+            "enable_uverse": false,
+            "status": "enabled",
+            "service_specific_id": "305",
+            "name": "My House-305"
+    },
+    {
+            "cdn_enable": true,
+            "uplink_speed": 500000000,
+            "service_specific_id": "306",
+            "name": "My House-306"
+    }
+  ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_Users.json b/src/test/cord-api/Tests/data/Ch_Users.json
new file mode 100644
index 0000000..0d8b415
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_Users.json
@@ -0,0 +1,26 @@
+{
+  "UserInfo": [
+  {
+   "firstname" : "TestUser001",
+   "lastname" : "User001",
+   "password" : "TestUser001",
+   "email" : "TestUser001@onlab.us",
+   "site_id": 1
+   },
+  {
+   "firstname" : "TestUser002",
+   "lastname" : "User002",
+   "password" : "TestUser002",
+   "email" : "TestUser002@onlab.us",
+   "site_id": 1
+   },
+  {
+   "firstname" : "TestUser003",
+   "lastname" : "User003",
+   "password" : "TestUser003",
+   "email" : "TestUser003@onlab.us",
+   "site_id": 1
+   }
+ ]
+}
+
diff --git a/src/test/cord-api/Tests/data/Ch_VoltTenant.json b/src/test/cord-api/Tests/data/Ch_VoltTenant.json
new file mode 100644
index 0000000..305ba90
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_VoltTenant.json
@@ -0,0 +1,31 @@
+{
+    "voltSubscriberInfo" : [
+    {
+      "voltTenant" : 
+       {
+         "s_tag" : 114,
+         "c_tag" : 224,
+         "subscriber_root_id" : ""
+       },
+       "service_specific_id" : "304"
+    },
+    {
+     "voltTenant" : 
+      {
+        "s_tag" : "121",
+        "c_tag" : "333",
+        "subscriber_root_id" : ""
+      },
+      "service_specific_id" : "305"
+    },
+    {
+     "voltTenant" :
+      {
+        "s_tag" : "131",
+        "c_tag" : "444",
+        "subscriber_root_id" : ""
+      },
+     "service_specific_id" : "306"
+    }
+ ]
+} 
diff --git a/src/test/cord-api/Tests/data/Ch_defaultServices.json b/src/test/cord-api/Tests/data/Ch_defaultServices.json
new file mode 100644
index 0000000..4128481
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_defaultServices.json
@@ -0,0 +1,13 @@
+{
+    "ServiceInfo":
+    [
+        {"name": "ONOS_CORD"},
+        {"name": "vtn"},
+        {"name": "fabric"},
+        {"name": "ONOS_Fabric"},
+        {"name": "vrouter"},
+        {"name": "vsg"},
+        {"name": "volt"},
+        {"name": "vtr"}
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_putService.json b/src/test/cord-api/Tests/data/Ch_putService.json
new file mode 100644
index 0000000..8a962a7
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_putService.json
@@ -0,0 +1,13 @@
+{
+    "ServiceInfo":
+    [
+        {
+            "name": "test-service-1",
+            "description": "Test service No.1 - Edited"
+        },
+        {
+            "name": "test-service-2",
+            "description": "Test service No.2 - Edited"
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_putSite.json b/src/test/cord-api/Tests/data/Ch_putSite.json
new file mode 100644
index 0000000..6e1e4b3
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_putSite.json
@@ -0,0 +1,15 @@
+{
+    "SiteInfo":
+    [
+        {
+            "name": "test-site-1",
+            "login_base":"testsite1",
+            "abbreviated_name":"ts1 - edited"
+        },
+        {
+            "name": "test-site-2",
+            "login_base":"testsite2",
+            "abbreviated_name":"ts2 - edited"
+        }
+    ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_putSubscriber.json b/src/test/cord-api/Tests/data/Ch_putSubscriber.json
new file mode 100644
index 0000000..32f3607
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_putSubscriber.json
@@ -0,0 +1,23 @@
+{
+    "SubscriberInfo" : [
+    {
+            "cdn_enable": true,
+            "downlink_speed": 2000000000,
+            "service_specific_id": "304",
+            "name": "My House-Edited"
+    },
+    {
+            "uplink_speed": 100000000,
+            "enable_uverse": true,
+            "status": "disabled",
+            "service_specific_id": "305",
+            "name": "My House-305-Edited"
+    },
+    {
+            "cdn_enable": false,
+            "uplink_speed": 600000000,
+            "service_specific_id": "306",
+            "name": "My House-306-Edited"
+    }
+  ]
+}
diff --git a/src/test/cord-api/Tests/data/Ch_putVoltTenant.json b/src/test/cord-api/Tests/data/Ch_putVoltTenant.json
new file mode 100644
index 0000000..d3f4440
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Ch_putVoltTenant.json
@@ -0,0 +1,28 @@
+{
+    "voltSubscriberInfo" : [
+    {
+      "voltTenant" : 
+       {
+         "s_tag" : 118,
+         "c_tag" : 228
+       },
+       "service_specific_id" : "204"
+    },
+    {
+     "voltTenant" : 
+      {
+        "s_tag" : "112",
+        "c_tag" : "331"
+      },
+      "service_specific_id" : "305"
+    },
+    {
+     "voltTenant" :
+      {
+        "s_tag" : "112",
+        "c_tag" : "442"
+      },
+      "service_specific_id" : "306"
+    }
+ ]
+}