blob: 07434142267ea46ea3b1cc8bea229e23ea60a080 [file] [log] [blame]
Suchitra Vemuridfba40e2018-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
11Library ../Framework/restApi.py
12
13*** Variables ***
14${PATHFILE} ${CURDIR}/data/Subscriber_TopDown.json
15&{input_dict} mac_address=test ip_address=test2
16&{status} status=test
17
18*** Test Cases *** TYPE LISTINDEX
19Test Status Subscriber-1
20 STATUS 0
21Change Subscriber status
22 STATUSCHANGE 0
23Push MACandIP Subscriber-1
24 PUSH 0
25Test Status Subscriber-2
26 STATUS 1
27Change Subscriber-2 status
28 STATUSCHANGE 1
29Push MACandIP Subscriber-2
30 PUSH 1
31
32*** Keywords ***
33Read InputFile
34 ${SubscriberList}= utils.jsonToList ${PATHFILE} SubscriberInfo
35 Set Suite Variable ${slist} ${SubscriberList}
36 Set Global Variable ${Subscriber_Id} ${EMPTY}
37 Set Global Variable ${status} ${EMPTY}
38
39Subscriber Status Test
40 [Arguments] ${type} ${listIndex}
41 Run Keyword If "${type}" == "PUSH" Push MAC and IP For Subscriber ${listIndex}
42 Run Keyword If "${type}" == "STATUS" Subscriber Status Check ${listIndex}
43 Run Keyword If "${type}" == "STATUSCHANGE" Subscriber Status Change ${listIndex}
44
45Subscriber Status Check
46 [Arguments] ${listIndex}
47 Set Global Variable ${Subscriber_Id} ${EMPTY}
48 Log ${Subscriber_Id}
49 ${json_result}= restApi.ApiGet VOLT_SUBSCRIBER
50 Log ${json_result}
51 ${SubscriberList} = Get Variable Value ${slist}
52 ${SubscriberDict}= utils.listToDict ${SubscriberList} ${listIndex}
53 Log ${SubscriberDict}
54 ${onu_device}= utils.getFieldValueFromDict ${subscriberDict} onu_device
55 ${json_result_list}= Get From dictionary ${json_result} items
56 ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} onu_device ${onu_device}
57 ${status}= Get From Dictionary ${getJsonDict} status
58 ${Subscriber_Id}= Get From Dictionary ${getJsonDict} id
59 Set Global Variable ${Subscriber_Id}
60 Should Be Equal ${status} awaiting_auth
61 #Set Global Variable ${Subscriber_Id}
62
63Subscriber Status Change
64 [Arguments] ${listIndex}
65 ${status}= Create Dictionary status=enabled
66 ${api_result_status}= restApi.ApiChameleonPut VOLT_SUBSCRIBER ${status} ${Subscriber_Id}
67 Should Be True ${api_result_status}
68
69Push MAC and IP For Subscriber
70 [Arguments] ${listIndex}
71 ${SubscriberList} = Get Variable Value ${slist}
72 ${SubscriberDict}= utils.listToDict ${SubscriberList} ${listIndex}
73 ${mac_address}= utils.getFieldValueFromDict ${subscriberDict} mac_address
74 ${ip_address}= utils.getFieldValueFromDict ${subscriberDict} ip_address
75 ${input_dict}= Create Dictionary mac_address=${mac_address} ip_address=${ip_address}
76 ${api_result_status}= restApi.ApiChameleonPut VOLT_SUBSCRIBER ${input_dict} ${Subscriber_Id}
77 Should Be True ${api_result_status}