[SEBA-184] [WIP] White List tests
Change-Id: Iab364d56583c36de91e1a7e64731ef94b4b2a003
diff --git a/src/test/cord-api/Tests/AttWhiteList-disableTests.txt b/src/test/cord-api/Tests/AttWhiteList-disableTests.txt
new file mode 100644
index 0000000..c53097c
--- /dev/null
+++ b/src/test/cord-api/Tests/AttWhiteList-disableTests.txt
@@ -0,0 +1,93 @@
+*** Settings ***
+Documentation Test to Configure White List
+Suite Setup Read InputFile
+Test Template Configuring White List
+Library Collections
+Library String
+Library OperatingSystem
+Library XML
+Library RequestsLibrary
+Library ../Framework/utils/utils.py
+Library ../Framework/restApi.py
+
+*** Variables ***
+${PATHFILE} ${CURDIR}/data/AttWhiteList.json
+
+*** Test Cases *** TYPE LISTINDEX
+Test Service Instance States
+ STATUS_CHECK 0
+Test ONU States
+ ONU_STATUS 0
+
+*** Keywords ***
+Read InputFile
+ ${AttWhiteListList}= utils.jsonToList ${PATHFILE} AttWhiteListInfo
+ Set Suite Variable ${slist} ${AttWhiteListList}
+ Set Global Variable ${AttWorkFlowDriver_Id} ${EMPTY}
+ Set Global Variable ${AttWhiteList_Id} ${EMPTY}
+ Set Global Variable ${onu_device} ${EMPTY}
+ Set Global Variable ${AttServiceInstance_Id} ${EMPTY}
+ Set Global Variable ${authentication_status} ${EMPTY}
+
+Configuring White List
+ [Arguments] ${type} ${listIndex}
+ Run Keyword If "${type}" == "CREATE" Post White List ${listIndex}
+ Run Keyword If "${type}" == "RETRIEVE" Get White List ${listIndex}
+ Run Keyword If "${type}" == "STATUS_CHECK" Service Instance Status Check ${listIndex}
+ Run Keyword If "${type}" == "ONU_STATUS" ONU Status Check ${listIndex}
+
+Post White List
+ [Arguments] ${listIndex}
+ ${AttWhiteListList} = Get Variable Value ${slist}
+ ${AttWhiteListDict}= utils.listToDict ${AttWhiteListList} ${listIndex}
+ ${onu_device}= Get From Dictionary ${AttWhiteListDict} serial_number
+ Log ${onu_device}
+ # Retrieve ATT Service Driver Id
+ ${api_getResult}= restApi.ApiGet ATT_SERVICE
+ ${AttWorkFlowDriverList}= Get From Dictionary ${api_getResult} items
+ ${AttWorkFlowDriverDict}= utils.getDictFromListOfDict ${AttWorkFlowDriverList} leaf_model_name AttWorkflowDriverService
+ ${AttWorkFlowDriver_Id}= Get From Dictionary ${AttWorkFlowDriverDict} id
+ ${AttWhiteListDict}= utils.setFieldValueInDict ${AttWhiteListDict} owner_id ${AttWorkFlowDriver_Id}
+ Log ${AttWhiteListDict}
+ ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson ATT_WHITELIST ${AttWhiteListDict}
+ Should Be True ${api_result_status}
+ ${AttWhiteList_Id}= Get From Dictionary ${api_result_json} id
+ Set Global Variable ${AttWhiteList_Id}
+ Set Global Variable ${onu_device}
+
+Get White List
+ [Arguments] ${listIndex}
+ Log ${AttWhiteList_Id}
+ ${json_result}= restApi.ApiChameleonGet ATT_WHITELIST ${AttWhiteList_Id}
+ Log ${json_result}
+ ${AttWhiteListList} = Get Variable Value ${slist}
+ ${AttWhiteListDict}= utils.listToDict ${AttWhiteListList} ${listIndex}
+ Log ${AttWhiteListDict}
+ ${test_result}= utils.compare_dict ${AttWhiteListDict} ${json_result}
+ Should Be True ${test_result}
+
+Service Instance Status Check
+ [Arguments] ${listIndex}
+ Set Global Variable ${AttServiceInstance_Id} ${EMPTY}
+ Log ${AttServiceInstance_Id}
+ ${json_result}= restApi.ApiGet ATT_SERVICEINSTANCES
+ Log ${json_result}
+ ${json_result_list}= Get From dictionary ${json_result} items
+ ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} serial_number ${onu_device}
+ ${status}= Get From Dictionary ${getJsonDict} valid
+ ${authentication_status}= Get From Dictionary ${getJsonDict} authentication_state
+ ${AttServiceInstance_Id}= Get From Dictionary ${getJsonDict} id
+ Set Global Variable ${AttServiceInstance_Id}
+ #Should Be Equal ${status} valid
+ Should Be Equal ${authentication_status} AWAITING
+
+ONU Status Check
+ [Arguments] ${listIndex}
+ ${json_result}= restApi.ApiGet ONU_DEVICE
+ Log ${json_result}
+ ${json_result_list}= Get From dictionary ${json_result} items
+ ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} serial_number ${onu_device}
+ ${operational_status}= Get From Dictionary ${getJsonDict} oper_status
+ ${admin_status}= Get From Dictionary ${getJsonDict} admin_state
+ Should Be Equal ${operational_status} DISABLED
+ Should Be Equal ${admin_status} DISABLED
diff --git a/src/test/cord-api/Tests/AttWhiteList-enableTests.txt b/src/test/cord-api/Tests/AttWhiteList-enableTests.txt
new file mode 100644
index 0000000..872b350
--- /dev/null
+++ b/src/test/cord-api/Tests/AttWhiteList-enableTests.txt
@@ -0,0 +1,97 @@
+*** Settings ***
+Documentation Test to Configure White List
+Suite Setup Read InputFile
+Test Template Configuring White List
+Library Collections
+Library String
+Library OperatingSystem
+Library XML
+Library RequestsLibrary
+Library ../Framework/utils/utils.py
+Library ../Framework/restApi.py
+
+*** Variables ***
+${PATHFILE} ${CURDIR}/data/AttWhiteList.json
+
+*** Test Cases *** TYPE LISTINDEX
+Test Create ONUWhiteList-1
+ CREATE 0
+Test Get ONUWhiteList-1
+ RETRIEVE 0
+Test Service Instance States
+ STATUS_CHECK 0
+Test ONU States
+ ONU_STATUS 0
+
+*** Keywords ***
+Read InputFile
+ ${AttWhiteListList}= utils.jsonToList ${PATHFILE} AttWhiteListInfo
+ Set Suite Variable ${slist} ${AttWhiteListList}
+ Set Global Variable ${AttWorkFlowDriver_Id} ${EMPTY}
+ Set Global Variable ${AttWhiteList_Id} ${EMPTY}
+ Set Global Variable ${onu_device} ALPHe3d1cfa7
+ Set Global Variable ${AttServiceInstance_Id} ${EMPTY}
+ Set Global Variable ${authentication_status} ${EMPTY}
+
+Configuring White List
+ [Arguments] ${type} ${listIndex}
+ Run Keyword If "${type}" == "CREATE" Post White List ${listIndex}
+ Run Keyword If "${type}" == "RETRIEVE" Get White List ${listIndex}
+ Run Keyword If "${type}" == "STATUS_CHECK" Service Instance Status Check ${listIndex}
+ Run Keyword If "${type}" == "ONU_STATUS" ONU Status Check ${listIndex}
+
+Post White List
+ [Arguments] ${listIndex}
+ ${AttWhiteListList} = Get Variable Value ${slist}
+ ${AttWhiteListDict}= utils.listToDict ${AttWhiteListList} ${listIndex}
+ ${onu_device}= Get From Dictionary ${AttWhiteListDict} serial_number
+ Log ${onu_device}
+ # Retrieve ATT Service Driver Id
+ ${api_getResult}= restApi.ApiGet ATT_SERVICE
+ ${AttWorkFlowDriverList}= Get From Dictionary ${api_getResult} items
+ ${AttWorkFlowDriverDict}= utils.getDictFromListOfDict ${AttWorkFlowDriverList} leaf_model_name AttWorkflowDriverService
+ ${AttWorkFlowDriver_Id}= Get From Dictionary ${AttWorkFlowDriverDict} id
+ ${AttWhiteListDict}= utils.setFieldValueInDict ${AttWhiteListDict} owner_id ${AttWorkFlowDriver_Id}
+ Log ${AttWhiteListDict}
+ ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson ATT_WHITELIST ${AttWhiteListDict}
+ Should Be True ${api_result_status}
+ ${AttWhiteList_Id}= Get From Dictionary ${api_result_json} id
+ Set Global Variable ${AttWhiteList_Id}
+ Set Global Variable ${onu_device}
+
+Get White List
+ [Arguments] ${listIndex}
+ Log ${AttWhiteList_Id}
+ ${json_result}= restApi.ApiChameleonGet ATT_WHITELIST ${AttWhiteList_Id}
+ Log ${json_result}
+ ${AttWhiteListList} = Get Variable Value ${slist}
+ ${AttWhiteListDict}= utils.listToDict ${AttWhiteListList} ${listIndex}
+ Log ${AttWhiteListDict}
+ ${test_result}= utils.compare_dict ${AttWhiteListDict} ${json_result}
+ Should Be True ${test_result}
+
+Service Instance Status Check
+ [Arguments] ${listIndex}
+ Set Global Variable ${AttServiceInstance_Id} ${EMPTY}
+ Log ${AttServiceInstance_Id}
+ ${json_result}= restApi.ApiGet ATT_SERVICEINSTANTCES
+ Log ${json_result}
+ ${json_result_list}= Get From dictionary ${json_result} items
+ ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} serial_number ${onu_device}
+ ${status}= Get From Dictionary ${getJsonDict} valid
+ ${authentication_status}= Get From Dictionary ${getJsonDict} authentication_state
+ ${AttServiceInstance_Id}= Get From Dictionary ${getJsonDict} id
+ Set Global Variable ${AttServiceInstance_Id}
+ Should Be Equal ${status} valid
+ Should Be Equal ${authentication_status} AWAITING
+
+ONU Status Check
+ [Arguments] ${listIndex}
+ ${json_result}= restApi.ApiGet ONU_DEVICE
+ Log ${json_result}
+ ${json_result_list}= Get From dictionary ${json_result} items
+ ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} serial_number ${onu_device}
+ ${operational_status}= Get From Dictionary ${getJsonDict} oper_status
+ ${admin_status}= Get From Dictionary ${getJsonDict} admin_state
+ Should Be Equal ${operational_status} ACTIVE
+ Should Be Equal ${admin_status} ENABLED
diff --git a/src/test/cord-api/Tests/AttWhiteList.txt b/src/test/cord-api/Tests/AttWhiteList.txt
new file mode 100644
index 0000000..19f305e
--- /dev/null
+++ b/src/test/cord-api/Tests/AttWhiteList.txt
@@ -0,0 +1,59 @@
+*** Settings ***
+Documentation Test to Configure White List
+Suite Setup Read InputFile
+Test Template Configuring White List
+Library Collections
+Library String
+Library OperatingSystem
+Library XML
+Library RequestsLibrary
+Library ../Framework/utils/utils.py
+Library ../Framework/restApi.py
+
+*** Variables ***
+${PATHFILE} ${CURDIR}/data/AttWhiteList.json
+
+*** Test Cases *** TYPE LISTINDEX
+Test Create ONUWhiteList-1
+ CREATE 0
+Test Get ONUWhiteList-1
+ RETRIEVE 0
+
+*** Keywords ***
+Read InputFile
+ ${AttWhiteListList}= utils.jsonToList ${PATHFILE} AttWhiteListInfo
+ Set Suite Variable ${slist} ${AttWhiteListList}
+ Set Global Variable ${AttWorkFlowDriver_Id} ${EMPTY}
+ Set Global Variable ${AttWhiteList_Id} ${EMPTY}
+
+Configuring White List
+ [Arguments] ${type} ${listIndex}
+ Run Keyword If "${type}" == "CREATE" Post White List ${listIndex}
+ Run Keyword If "${type}" == "RETRIEVE" Get White List ${listIndex}
+
+Post White List
+ [Arguments] ${listIndex}
+ ${AttWhiteListList} = Get Variable Value ${slist}
+ ${AttWhiteListDict}= utils.listToDict ${AttWhiteListList} ${listIndex}
+ # Retrieve ATT Service Driver Id
+ ${api_getResult}= restApi.ApiGet ATT_SERVICE
+ ${AttWorkFlowDriverList}= Get From Dictionary ${api_getResult} items
+ ${AttWorkFlowDriverDict}= utils.getDictFromListOfDict ${AttWorkFlowDriverList} leaf_model_name AttWorkflowDriverService
+ ${AttWorkFlowDriver_Id}= Get From Dictionary ${AttWorkFlowDriverDict} id
+ ${AttWhiteListDict}= utils.setFieldValueInDict ${AttWhiteListDict} owner_id ${AttWorkFlowDriver_Id}
+ Log ${AttWhiteListDict}
+ ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson ATT_WHITELIST ${AttWhiteListDict}
+ Should Be True ${api_result_status}
+ ${AttWhiteList_Id}= Get From Dictionary ${api_result_json} id
+ Set Global Variable ${AttWhiteList_Id}
+
+Get White List
+ [Arguments] ${listIndex}
+ Log ${AttWhiteList_Id}
+ ${json_result}= restApi.ApiChameleonGet ATT_WHITELIST ${AttWhiteList_Id}
+ Log ${json_result}
+ ${AttWhiteListList} = Get Variable Value ${slist}
+ ${AttWhiteListDict}= utils.listToDict ${AttWhiteListList} ${listIndex}
+ Log ${AttWhiteListDict}
+ ${test_result}= utils.compare_dict ${AttWhiteListDict} ${json_result}
+ Should Be True ${test_result}
diff --git a/src/test/cord-api/Tests/data/AttWhiteList.json b/src/test/cord-api/Tests/data/AttWhiteList.json
index 224e700..2e41d40 100644
--- a/src/test/cord-api/Tests/data/AttWhiteList.json
+++ b/src/test/cord-api/Tests/data/AttWhiteList.json
@@ -1,27 +1,27 @@
{
- "AttWhiteList" : [
+ "AttWhiteListInfo" : [
{
"serial_number": "ALPHe3d1cfa7",
"device_id" : "of:000000000ac004da",
- "pon_port_id" : "536870912",
+ "pon_port_id" : 536870912,
"owner_id" : "1"
},
{
"serial_number": "ALPHe3d1cea3",
"device_id" : "of:000000000ac004da",
- "pon_port_id" : "536870912",
+ "pon_port_id" : 536870912,
"owner_id" : "1"
},
{
"serial_number": "ALPHe3d1cf84",
"device_id" : "of:000000000ac004da",
- "pon_port_id" : "536870912",
+ "pon_port_id" : 536870912,
"owner_id" : "1"
},
{
"serial_number": "ALPHe3d1cee9",
"device_id" : "of:000000000ac004da",
- "pon_port_id" : "536870912",
+ "pon_port_id" : 536870912,
"owner_id" : "1"
}
diff --git a/src/test/cord-api/Tests/data/AttWorkFlowDriver.json b/src/test/cord-api/Tests/data/AttWorkFlowDriver.json
index 22572b7..86d0e4e 100644
--- a/src/test/cord-api/Tests/data/AttWorkFlowDriver.json
+++ b/src/test/cord-api/Tests/data/AttWorkFlowDriver.json
@@ -1,5 +1,5 @@
{
- "AttWorkFlowDriver" : [
+ "AttWorkFlowDriverInfo" : [
{
"name": "att-workflow-driver"
}
diff --git a/src/test/cord-api/Tests/data/Att_RealOLTDevice.json b/src/test/cord-api/Tests/data/Att_RealOLTDevice.json
new file mode 100644
index 0000000..f61f5bb
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Att_RealOLTDevice.json
@@ -0,0 +1,16 @@
+{
+ "VOLTDeviceInfo" : [
+ {
+ "device_type": "openolt",
+ "host": "10.192.4.218",
+ "port": 9191,
+ "switch_datapath_id": "of:0000cc37ab5b6da8",
+ "dp_id": "of:0000cc37ab5b6da8",
+ "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_Att.json b/src/test/cord-api/Tests/data/Subscriber_Att.json
new file mode 100644
index 0000000..b2c1580
--- /dev/null
+++ b/src/test/cord-api/Tests/data/Subscriber_Att.json
@@ -0,0 +1,12 @@
+{
+ "SubscriberInfo" : [
+ {
+ "name": "My House-305",
+ "c_tag": 999,
+ "onu_device": "ALPHe3d1cfa7",
+ "nas_port_id": "PON 1/1/03/1:1.1.1",
+ "circuit_id": "foo",
+ "status": "pre-provisioned"
+ }
+ ]
+}