blob: f4634f0c26009d0d800704b9b795727024cd8cae [file] [log] [blame]
Suchitra Vemuri75746412018-08-03 15:04:05 -07001*** Settings ***
2Documentation Test suite for checking the subscriber status after discovery
3Suite Setup Read InputFile
4Test Template Subscriber Status Test
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
10Library ../Framework/utils/utils.py
Kailash Khalasi55689032018-08-15 14:50:46 -070011Library ../Framework/utils/utils.robot
Suchitra Vemuri75746412018-08-03 15:04:05 -070012Library ../Framework/restApi.py
13
14*** Variables ***
15${PATHFILE} ${CURDIR}/data/Subscriber_TopDown.json
16&{input_dict} mac_address=test ip_address=test2
17&{status} status=test
Kailash Khalasi55689032018-08-15 14:50:46 -070018${src_ip} X.X.X.X
19${src_gateway} X.X.X.X
20${src_user} user
21${src_pass} pass
22${dst_ip} X.X.X.X
23${dst_gateway} X.X.X.X
24${dst_host_ip} X.X.X.X
Suchitra Vemuri75746412018-08-03 15:04:05 -070025
26*** Test Cases *** TYPE LISTINDEX
27Test Status Subscriber-1
28 STATUS 0
29Change Subscriber status
30 STATUSCHANGE 0
31Push MACandIP Subscriber-1
32 PUSH 0
33Test Status Subscriber-2
34 STATUS 1
35Change Subscriber-2 status
36 STATUSCHANGE 1
37Push MACandIP Subscriber-2
38 PUSH 1
39
40*** Keywords ***
41Read InputFile
42 ${SubscriberList}= utils.jsonToList ${PATHFILE} SubscriberInfo
43 Set Suite Variable ${slist} ${SubscriberList}
44 Set Global Variable ${Subscriber_Id} ${EMPTY}
45 Set Global Variable ${status} ${EMPTY}
46
47Subscriber Status Test
48 [Arguments] ${type} ${listIndex}
49 Run Keyword If "${type}" == "PUSH" Push MAC and IP For Subscriber ${listIndex}
Kailash Khalasi55689032018-08-15 14:50:46 -070050 Run Keyword If "${type}" == "STATUS" Wait Until Keyword Succeeds 60s 5s Subscriber Status Check ${listIndex}
Suchitra Vemuri75746412018-08-03 15:04:05 -070051 Run Keyword If "${type}" == "STATUSCHANGE" Subscriber Status Change ${listIndex}
52
53Subscriber Status Check
54 [Arguments] ${listIndex}
55 Set Global Variable ${Subscriber_Id} ${EMPTY}
56 Log ${Subscriber_Id}
57 ${json_result}= restApi.ApiGet VOLT_SUBSCRIBER
58 Log ${json_result}
59 ${SubscriberList} = Get Variable Value ${slist}
60 ${SubscriberDict}= utils.listToDict ${SubscriberList} ${listIndex}
61 Log ${SubscriberDict}
62 ${onu_device}= utils.getFieldValueFromDict ${subscriberDict} onu_device
63 ${json_result_list}= Get From dictionary ${json_result} items
64 ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} onu_device ${onu_device}
65 ${status}= Get From Dictionary ${getJsonDict} status
66 ${Subscriber_Id}= Get From Dictionary ${getJsonDict} id
67 Set Global Variable ${Subscriber_Id}
68 Should Be Equal ${status} awaiting_auth
Kailash Khalasid1205682018-08-15 15:25:05 -070069 Wait Until Keyword Succeeds 300s 5s Test Ping FAIL ${src_user} ${src_pass} ${dst_ip}
Suchitra Vemuri75746412018-08-03 15:04:05 -070070 #Set Global Variable ${Subscriber_Id}
71
72Subscriber Status Change
73 [Arguments] ${listIndex}
74 ${status}= Create Dictionary status=enabled
75 ${api_result_status}= restApi.ApiChameleonPut VOLT_SUBSCRIBER ${status} ${Subscriber_Id}
76 Should Be True ${api_result_status}
Kailash Khalasid1205682018-08-15 15:25:05 -070077 Wait Until Keyword Succeeds 300s 5s Test Ping PASS ${src_user} ${src_pass} ${dst_ip}
Suchitra Vemuri75746412018-08-03 15:04:05 -070078
79Push MAC and IP For Subscriber
80 [Arguments] ${listIndex}
81 ${SubscriberList} = Get Variable Value ${slist}
82 ${SubscriberDict}= utils.listToDict ${SubscriberList} ${listIndex}
83 ${mac_address}= utils.getFieldValueFromDict ${subscriberDict} mac_address
84 ${ip_address}= utils.getFieldValueFromDict ${subscriberDict} ip_address
85 ${input_dict}= Create Dictionary mac_address=${mac_address} ip_address=${ip_address}
86 ${api_result_status}= restApi.ApiChameleonPut VOLT_SUBSCRIBER ${input_dict} ${Subscriber_Id}
87 Should Be True ${api_result_status}