blob: 057aeeeeebc0c6caf235d030a47efb35a9859c99 [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}
41 ${api_result}= restApi.ApiPost VOLT_SUBSCRIBER ${subscriberDict}
42 Sleep 90
43 ${service_specific_id}= utils.getFieldValueFromDict ${subscriberDict} service_specific_id
44 ${json_result}= restApi.ApiGet VOLT_SUBSCRIBER
45 Log ${json_result}
46 ${json_result_list}= Get From Dictionary ${json_result} items
47 ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} service_specific_id ${service_specific_id}
48 ${result}= utils.compare_dict ${subscriberDict} ${getJsonDict}
49 Should Be True ${result}
50 ${instanceList} Create List
51 # Retrieve Subscribed_links_id from Posted Subscriber
52 ${subscribed_links_ids_list}= utils.getFieldValueFromDict ${getJsonDict} subscribed_links_ids
53 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
54 # Retrieve Provided_Service_Instance_Id from "ServiceInstanceLinks"
55 ${getServiceLink}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
56 ${provider_service_instance_id}= Get From Dictionary ${getServiceLink} provider_service_instance_id
57 # RETRIEVE VOLT OBJECT USING PROVIDER INSTANCE ID
58 ${getVoltDict}= restApi.ApiChameleonGet VOLT_TENANT ${provider_service_instance_id}
59 # RETRIEVE SUBSCRIBED_LINKS_IDS FROM THE VOLT DICTIONARY
60 ${subscribed_links_ids_list}= utils.getFieldValueFromDict ${getVoltDict} subscribed_links_ids
61 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
62 # RETRIEVE PROVIDED_SERVICE_INSTANCE_ID
63 ${serviceLinkDict}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
64 Log ${serviceLinkDict}
65 ${VSGTenant}= Get From Dictionary ${serviceLinkDict} provider_service_instance_id
66 # Retrieve VSGTenant to retrieve instance_id
67 ${getVSG_result}= restApi.ApiChameleonGet HWVSG_TENANT ${VSGTenant}
68 Should Be True ${getVSG_result}