blob: 4195f7683936a30173fc97e036f42921b049a95d [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
10Library ../Framework/utils/utils.py
11Library ../Framework/restApi.py
12
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
28 ${subscriberList} = utils.jsonToList ${PATHFILE} SubscriberInfo
29 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}
40 ${subscriberDict}= utils.listToDict ${subscriberList} ${listIndex}
Suchitra Vemuri315977e2018-06-08 15:30:17 -070041 ${api_result_status} ${api_result_json}= restApi.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
45 ${json_result}= restApi.ApiChameleonGet VOLT_SUBSCRIBER ${Subscriber_Id}
Suchitra Vemurib73ec6f2018-05-10 13:34:00 -070046 Log ${json_result}
Suchitra Vemuri315977e2018-06-08 15:30:17 -070047 ${result}= utils.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
Suchitra Vemuri315977e2018-06-08 15:30:17 -070051 ${subscribed_links_ids_list}= utils.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"
54 ${getServiceLink}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
55 ${provider_service_instance_id}= Get From Dictionary ${getServiceLink} provider_service_instance_id
56 # RETRIEVE VOLT OBJECT USING PROVIDER INSTANCE ID
57 ${getVoltDict}= restApi.ApiChameleonGet VOLT_TENANT ${provider_service_instance_id}
58 # RETRIEVE SUBSCRIBED_LINKS_IDS FROM THE VOLT DICTIONARY
59 ${subscribed_links_ids_list}= utils.getFieldValueFromDict ${getVoltDict} subscribed_links_ids
60 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
61 # RETRIEVE PROVIDED_SERVICE_INSTANCE_ID
62 ${serviceLinkDict}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
63 Log ${serviceLinkDict}
64 ${VSGTenant}= Get From Dictionary ${serviceLinkDict} provider_service_instance_id
65 # Retrieve VSGTenant to retrieve instance_id
66 ${getVSG_result}= restApi.ApiChameleonGet HWVSG_TENANT ${VSGTenant}
67 Should Be True ${getVSG_result}