diff --git a/VERSION b/VERSION
index 38f77a6..488130a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.1
+2.0.2.dev0
diff --git a/src/test/cord-api/Tests/FabricConfig.txt b/src/test/cord-api/Tests/FabricConfig.txt
new file mode 100644
index 0000000..fc57902
--- /dev/null
+++ b/src/test/cord-api/Tests/FabricConfig.txt
@@ -0,0 +1,133 @@
+*** Settings ***
+Documentation     Test suite for FabricSwitch
+Suite Setup       Read InputFile
+Test Template     Verify FabricSwitch functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${PATHFILE}       ${CURDIR}/data/FabricSwitch.json
+${PATHFILE1}       ${CURDIR}/data/FabricSwitchPort.json
+${PATHFILE2}       ${CURDIR}/data/FabricPortInterface.json
+
+*** Test Cases ***    TYPE                         LISTINDEX
+Test Create FarbicSwitch-1
+                      CREATE                       0
+Test Get FabricSwitch-1
+                      RETRIEVE     0
+Test Create FabricSwitchPort-1
+                      PORTCREATE                       0
+Test Get FabricSwitchPort-1
+                      PORTRETRIEVE     0
+Test Create FabricPortInterface-1
+                      INTERFACECREATE                       0
+Test Get FabricPortInterface-1
+                      INTERFACERETRIEVE     0
+Test Create FarbicSwitch-2
+                      CREATE                       1
+Test Get FabricSwitch-2
+                      RETRIEVE     1
+Test Create FabricSwitchPort-2
+                      PORTCREATE                       1
+Test Get FabricSwitchPort-2
+                      PORTRETRIEVE     1
+Test Create FabricPortInterface-2
+                      INTERFACECREATE                       1
+Test Get FabricPortInterface-2
+                      INTERFACERETRIEVE     1
+Test Create FarbicSwitch-3
+                      CREATE                       2
+Test Get FabricSwitch-3
+                      RETRIEVE     2
+Test Create FarbicSwitch-4
+                      CREATE                       3
+Test Get FabricSwitch-4
+                      RETRIEVE     3
+
+*** Keywords ***
+Read InputFile
+    ${FabricList}=    utils.jsonToList    ${PATHFILE}   FabricSwitchInfo
+    Set Suite Variable    ${dlist}    ${FabricList}
+    Set Global Variable    ${Fabric_Id}    ${EMPTY}
+    ${FabricPortList}=    utils.jsonToList    ${PATHFILE1}   FabricSwitchPort
+    Set Suite Variable    ${plist}    ${FabricPortList}
+    Set Global Variable    ${SwitchPort_Id}    ${EMPTY}
+    ${FabricInterfaceList}=    utils.jsonToList    ${PATHFILE2}   FabricPortInterface
+    Set Suite Variable    ${ilist}    ${FabricInterfaceList}
+    Set Global Variable    ${FabricInterface_Id}    ${EMPTY}
+
+Verify FabricSwitch functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Create Fabric Switch    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Fabric Switch    ${listIndex}
+    Run Keyword If    "${type}" == "PORTCREATE"    Test Create Switch Port API    ${listIndex}
+    Run Keyword If    "${type}" == "PORTRETRIEVE"    Test Get Switch Port API    ${listIndex}
+    Run Keyword If    "${type}" == "INTERFACECREATE"    Test Create Fabric Interface    ${listIndex}
+    Run Keyword If    "${type}" == "INTERFACERETRIEVE"    Test Get Fabric Interface    ${listIndex}
+
+Test Create Fabric Switch
+    [Arguments]    ${listIndex}
+    ${FabricList} =    Get Variable Value    ${dlist}
+    ${FabricDict}=    utils.listToDict    ${FabricList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    FABRIC_SWITCH    ${FabricDict}
+    Should Be True    ${api_result_status}
+    ${Fabric_Id}=    Get From Dictionary    ${api_result_json}    id
+    Set Global Variable    ${Fabric_Id}
+
+Test Get Fabric Switch
+    [Arguments]    ${listIndex}
+    Log    ${Fabric_Id}
+    ${json_result}=    restApi.ApiChameleonGet    FABRIC_SWITCH    ${Fabric_Id}
+    Log    ${json_result}
+    ${FabricList} =    Get Variable Value    ${dlist}
+    ${FabricDict}=    utils.listToDict    ${FabricList}    ${listIndex}
+    Log    ${FabricDict}
+    ${test_result}=    utils.compare_dict    ${FabricDict}    ${json_result}
+    Should Be True    ${test_result}
+
+Test Create Switch Port API
+    [Arguments]    ${listIndex}
+    ${SwitchPortList} =    Get Variable Value    ${plist}
+    ${SwitchPortDict}=    utils.listToDict    ${SwitchPortList}    ${listIndex}
+    ${SwitchPortDict}=    utils.setFieldValueInDict    ${SwitchPortDict}    switch_id    ${Fabric_Id}
+    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    SWITCH_PORT    ${SwitchPortDict}
+    Should Be True    ${api_result_status}
+    ${SwitchPort_Id}=    Get From Dictionary    ${api_result_json}    id
+    Set Global Variable    ${SwitchPort_Id}
+
+Test Get Switch Port API
+    [Arguments]    ${listIndex}
+    Log    ${SwitchPort_Id}
+    ${json_result}=    restApi.ApiChameleonGet    SWITCH_PORT    ${SwitchPort_Id}
+    Log    ${json_result}
+    ${SwitchPortList} =    Get Variable Value    ${plist}
+    ${SwitchPortDict}=    utils.listToDict    ${SwitchPortList}    ${listIndex}
+    Log    ${SwitchPortDict}
+    ${test_result}=    utils.compare_dict    ${SwitchPortDict}    ${json_result}
+    Should Be True    ${test_result}
+
+Test Create Fabric Interface
+    [Arguments]    ${listIndex}
+    ${FabricInterfaceList}=    Get Variable Value    ${ilist}
+    ${FabricInterfaceDict}=    utils.listToDict    ${FabricInterfaceList}    ${listIndex}
+    ${FabricInterfaceDict}=    utils.setFieldValueInDict    ${FabricInterfaceDict}    port_id    ${SwitchPort_Id}
+    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    PORT_INTERFACE    ${FabricInterfaceDict}
+    Should Be True    ${api_result_status}
+    ${FabricInterface_Id}=    Get From Dictionary    ${api_result_json}    id
+    Set Global Variable    ${FabricInterface_Id}
+
+Test Get Fabric Interface
+    [Arguments]    ${listIndex}
+    Log    ${FabricInterface_Id}
+    ${json_result}=    restApi.ApiChameleonGet    PORT_INTERFACE    ${FabricInterface_Id}
+    Log    ${json_result}
+    ${FabricInterfaceList} =    Get Variable Value    ${ilist}
+    ${FabricInterfaceDict}=    utils.listToDict    ${FabricInterfaceList}    ${listIndex}
+    Log    ${FabricInterfaceDict}
+    ${test_result}=    utils.compare_dict    ${FabricInterfaceDict}    ${json_result}
+    Should Be True    ${test_result}
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}
diff --git a/src/test/cord-api/Tests/Subscriber_TopDown.txt b/src/test/cord-api/Tests/Subscriber_TopDown.txt
new file mode 100644
index 0000000..ce3c12d
--- /dev/null
+++ b/src/test/cord-api/Tests/Subscriber_TopDown.txt
@@ -0,0 +1,51 @@
+*** Settings ***
+Documentation     Test suite for configuring subscriber for Top Down Approach test
+Suite Setup       Read InputFile
+Test Template     Configuring Subscriber Top Down Test
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${PATHFILE}       ${CURDIR}/data/Subscriber_TopDown.json
+
+*** Test Cases ***    TYPE                         LISTINDEX
+Test Create Subscriber-1
+                      CREATE                       0
+Test Get Subscriber-1
+                      RETRIEVE                     0
+
+*** Keywords ***
+Read InputFile
+    ${SubscriberList}=    utils.jsonToList    ${PATHFILE}   SubscriberInfo 
+    Set Suite Variable    ${slist}    ${SubscriberList}
+    Set Global Variable    ${Subscriber_Id}    ${EMPTY}
+
+Configuring Subscriber Top Down Test
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Post Subscriber    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Get Subscriber    ${listIndex}
+
+Post Subscriber
+    [Arguments]    ${listIndex}
+    ${SubscriberList} =    Get Variable Value    ${slist}
+    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    VOLT_SUBSCRIBER    ${SubscriberDict}
+    Should Be True    ${api_result_status}
+    ${Subscriber_Id}=    Get From Dictionary    ${api_result_json}    id
+    Set Global Variable    ${Subscriber_Id}
+
+Get Subscriber
+    [Arguments]    ${listIndex}
+    Log    ${Subscriber_Id}
+    ${json_result}=    restApi.ApiChameleonGet    VOLT_SUBSCRIBER    ${Subscriber_Id}
+    Log    ${json_result}
+    ${SubscriberList} =    Get Variable Value    ${slist}
+    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${listIndex}
+    Log    ${SubscriberDict}
+    ${test_result}=    utils.compare_dict    ${SubscriberDict}    ${json_result}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/data/FabricPortInterface.json b/src/test/cord-api/Tests/data/FabricPortInterface.json
index c711096..7a5061b 100644
--- a/src/test/cord-api/Tests/data/FabricPortInterface.json
+++ b/src/test/cord-api/Tests/data/FabricPortInterface.json
@@ -1,20 +1,15 @@
 {
     "FabricPortInterface" : [
     {
-            "name": "OLT1-Interface-1",
-            "ips": "10.8.2.254",
-            "port_id": 1
+            "name": "OLT Leaf1- Interface-1",
+            "ips": "10.8.2.254/24",
+            "port_id": 8
     },
     {
-    
-            "name": "Interface-2",
-            "ips": "192.22.18.4",
-            "port_id": 2
-    },
-    {
-            "name": "Interface-2",
-            "ips": "192.22.18.4",
-            "port_id": 3
+            "name": "OLT Leaf2- Interface-2",
+            "ips": "10.8.3.254/24",
+            "vlanUntagged": 100,
+            "port_id": 9
     }
   ]
 }
diff --git a/src/test/cord-api/Tests/data/FabricSwitch.json b/src/test/cord-api/Tests/data/FabricSwitch.json
index e9cdcb6..6f32b22 100644
--- a/src/test/cord-api/Tests/data/FabricSwitch.json
+++ b/src/test/cord-api/Tests/data/FabricSwitch.json
@@ -2,39 +2,39 @@
     "FabricSwitchInfo" : [
     {
             "driver": "ofdpa3",
-            "ipv4Loopback": "192.168.9.100",
-            "ipv4NodeSid": 17,
-            "isEdgeRouter": True,
+            "ipv4Loopback": "192.168.9.22",
+            "ipv4NodeSid": 18,
+            "isEdgeRouter": true,
             "name": "Fabric Switch - Leaf1",
             "ofId": "of:0000cc37abd93769",
-            "routerMac": "00:22:33"
+            "routerMac": "00:00:00:00:00:01"
     },
     {
             "driver": "ofdpa3",
-            "ipv4Loopback": "192.168.9.101",
+            "ipv4Loopback": "192.168.9.23",
             "ipv4NodeSid": 17,
-            "isEdgeRouter": True,
-            "name": "Fabric Switch- Leaf2",
+            "isEdgeRouter": true,
+            "name": "Fabric Switch - Leaf2",
             "ofId": "of:0000cc37abb6b564",
-            "routerMac": "99:88:00"
+            "routerMac": "00:00:00:00:00:02"
     },
     {
             "driver": "ofdpa3",
-            "ipv4Loopback": "192.168.9.100",
-            "ipv4NodeSid": 17,
-            "isEdgeRouter": False,
+            "ipv4Loopback": "192.168.9.24",
+            "ipv4NodeSid": 19,
+            "isEdgeRouter": false,
             "name": "Fabric Switch - Spine1",
             "ofId": "of:0000cc37ab5b6da8",
-            "routerMac": "44:33:55"
+            "routerMac": "00:00:00:00:00:03"
     },
     {
             "driver": "ofdpa3",
-            "ipv4Loopback": "192.168.9.100",
-            "ipv4NodeSid": 17,
-            "isEdgeRouter": False,
+            "ipv4Loopback": "192.168.9.25",
+            "ipv4NodeSid": 20,
+            "isEdgeRouter": false,
             "name": "Fabric Switch - Spine2",
             "ofId": "of:0000cc37abd9386d",
-            "routerMac": "String"
+            "routerMac": "00:00:00:00:00:04"
     }
   ]
 }
diff --git a/src/test/cord-api/Tests/data/FabricSwitchPort.json b/src/test/cord-api/Tests/data/FabricSwitchPort.json
index 643194b..bfc2fee 100644
--- a/src/test/cord-api/Tests/data/FabricSwitchPort.json
+++ b/src/test/cord-api/Tests/data/FabricSwitchPort.json
@@ -1,8 +1,12 @@
 {
     "FabricSwitchPort" : [
     {
-            "portId": 7
+            "portId": 7,
             "switch_id": 1
+    },
+    {
+            "portId": 5,
+            "switch_id" : 6
     }
   ]
 }
diff --git a/src/test/cord-api/Tests/data/RealOLTDevice.json b/src/test/cord-api/Tests/data/RealOLTDevice.json
new file mode 100644
index 0000000..802c3d1
--- /dev/null
+++ b/src/test/cord-api/Tests/data/RealOLTDevice.json
@@ -0,0 +1,15 @@
+{
+    "VOLTDeviceInfo" : [
+    {
+            "device_type": "openolt",
+            "host": "10.192.4.218",
+            "port": 9191,
+            "switch_datapath_id": "of:0000cc37abd93769",
+            "switch_port": "7",
+            "outer_tpid": "0x8100",
+            "name": "olt-1",
+            "uplink": "128",
+            "volt_service_id": 2
+    }
+  ]
+}
diff --git a/src/test/cord-api/Tests/data/Subscriber_TopDown.json b/src/test/cord-api/Tests/data/Subscriber_TopDown.json
new file mode 100644
index 0000000..89c82e2
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Subscriber_TopDown.json
@@ -0,0 +1,20 @@
+{
+    "SubscriberInfo" : [
+     {
+            "name": "My House-305",
+            "c_tag": 999,
+            "mac_address" : "08:35:71:06:b9:69",
+            "ip_address" : "10.8.2.105",
+            "onu_device": "ALPHe3d1cfa7"
+     },
+     {
+            "name": "My House-306",
+            "c_tag": 998,
+            "mac_address" : "08:35:71:08:7d:8f",
+            "ip_address" : "10.8.2.106",
+            "onu_device": "ALPHe3d1cea3",
+            "downlink_speed": 100000000,
+            "uplink_speed": 100000000
+     }
+  ]
+}
