blob: 22c7bdb27a04116020d413c3ac07a130179a5053 [file] [log] [blame]
Suchitra Vemurib3478552018-04-27 18:05:27 -07001*** Settings ***
2Documentation Test suite for end-end service chain validation for Legacy RCORD Profile (with hardware vSG instances)
3Suite Setup Read InputFile
4Test Template Verify Service Chain Validation for Subscribers
5Library 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/Ch_Subscriber.json
15
16*** Test Cases *** TYPE LISTINDEX
17Test Create Subscriber-1
18 SUBSCRIBER_CREATE 0
19
20Test Create Subscriber-2
21 SUBSCRIBER_CREATE 1
22
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
33Verify Service Chain Validation for Subscribers
34 [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 VSG_TENANT ${VSGTenant}
68 ${instance_id}= Get From Dictionary ${getVSG_result} instance_id
69 Append To List ${instanceList} ${instance_id}
70 Log ${instanceList}
71 Set Global Variable ${instanceList}
72 # VALIDATE INSTANCE IS PRESENT IN /CORE/INSTANCES
73 ${get_CoreInstanceresult}= restApi.ApiChameleonGet CH_CORE_INSTANCES ${instance_id}
74 Should Be True ${get_CoreInstanceresult}