blob: 354ede4189b79c2149a985e0eb1b7e265654621e [file] [log] [blame]
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -07001*** Settings ***
2Documentation Test suite for end-end service chain validation for RCORD Lite Profile (without hardware vSG instances)
3Suite Setup Read InputFile
Suchitra Vemurid4891862018-05-22 11:08:16 -07004Test Template Service Chain Validation For Subscriber
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -07005Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
Zack Williams821c5022020-01-15 15:11:46 -070010Library CORDRobot
11Library ImportResource resources=CORDRobot
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070012
13*** Variables ***
14${PATHFILE} ${CURDIR}/data/RCORDLite_Subscriber.json
15
16*** Test Cases *** TYPE LISTINDEX
Suchitra Vemurid4891862018-05-22 11:08:16 -070017Test Create Subscriber-1
18 SUBSCRIBER_CREATE 0
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070019
Suchitra Vemurid4891862018-05-22 11:08:16 -070020Test Create Subscriber-2
21 SUBSCRIBER_CREATE 1
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070022
23Test Create Subscriber-3
24 SUBSCRIBER_CREATE 2
25
26*** Keywords ***
27Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070028 ${subscriberList} = CORDRobot.jsonToList ${PATHFILE} SubscriberInfo
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070029 Set Suite Variable ${slist} ${subscriberList}
30 @{instanceList}= Create List
31 Set Suite Variable @{instanceList}
32
Suchitra Vemurid4891862018-05-22 11:08:16 -070033Service Chain Validation For Subscriber
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070034 [Arguments] ${type} ${listIndex}
35 Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
36
37Test Post Subscriber Create
38 [Arguments] ${listIndex}
39 ${subscriberList} = Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070040 ${subscriberDict}= CORDRobot.listToDict ${subscriberList} ${listIndex}
41 ${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson VOLT_SUBSCRIBER ${subscriberDict}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070042 Sleep 90
Suchitra Vemuri315977e2018-06-08 15:30:17 -070043 Should Be True ${api_result_status}
44 ${Subscriber_Id}= Get From Dictionary ${api_result_json} id
Zack Williams821c5022020-01-15 15:11:46 -070045 ${json_result}= CORDRobot.ApiChameleonGet VOLT_SUBSCRIBER ${Subscriber_Id}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070046 Log ${json_result}
Zack Williams821c5022020-01-15 15:11:46 -070047 ${result}= CORDRobot.compare_dict ${subscriberDict} ${json_result}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070048 Should Be True ${result}
49 ${instanceList} Create List
50 # Retrieve Subscribed_links_id from Posted Subscriber
Zack Williams821c5022020-01-15 15:11:46 -070051 ${subscribed_links_ids_list}= CORDRobot.getFieldValueFromDict ${json_result} subscribed_links_ids
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070052 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
53 # Retrieve Provided_Service_Instance_Id from "ServiceInstanceLinks"
Zack Williams821c5022020-01-15 15:11:46 -070054 ${getServiceLink}= CORDRobot.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070055 ${provider_service_instance_id}= Get From Dictionary ${getServiceLink} provider_service_instance_id
56 # RETRIEVE VOLT OBJECT USING PROVIDER INSTANCE ID
Zack Williams821c5022020-01-15 15:11:46 -070057 ${getVoltDict}= CORDRobot.ApiChameleonGet VOLT_TENANT ${provider_service_instance_id}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070058 # RETRIEVE SUBSCRIBED_LINKS_IDS FROM THE VOLT DICTIONARY
Zack Williams821c5022020-01-15 15:11:46 -070059 ${subscribed_links_ids_list}= CORDRobot.getFieldValueFromDict ${getVoltDict} subscribed_links_ids
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070060 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
61 # RETRIEVE PROVIDED_SERVICE_INSTANCE_ID
Zack Williams821c5022020-01-15 15:11:46 -070062 ${serviceLinkDict}= CORDRobot.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070063 Log ${serviceLinkDict}
64 ${VSGTenant}= Get From Dictionary ${serviceLinkDict} provider_service_instance_id
65 # Retrieve VSGTenant to retrieve instance_id
Zack Williams821c5022020-01-15 15:11:46 -070066 ${getVSG_result}= CORDRobot.ApiChameleonGet HWVSG_TENANT ${VSGTenant}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070067 Should Be True ${getVSG_result}