blob: ba7237a1749ae0adb7244d73c33435b4ec0cf98a [file] [log] [blame]
Suchitra Vemuri7dbf03c2018-04-25 23:06:23 -07001*** Settings ***
2Documentation Test suite for PONPort
3Suite Setup Read InputFile
4Test Template Verify PONPort functionality
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
10Library ../Framework/utils/utils.py
11Library ../Framework/restApi.py
12
13*** Variables ***
14# Update the input file for olt_device_id before running the tests
15${PATHFILE} ${CURDIR}/data/PONPort.json
16
17*** Test Cases *** TYPE LISTINDEX
18Test Create PONPort-1
19 CREATE 0
20
21Test Get PONPort-1
22 RETRIEVE 0
23Test Delete PONPort-1
24 DELETE 0
25Test Create PONPort-2
26 CREATE 1
27Test Get PONPort-2
28 RETRIEVE 1
29Test Delete PONPort-2
30 DELETE 1
31Test Create PONPort-3
32 CREATE 2
33Test Get PONPort-3
34 RETRIEVE 2
35Test Delete PONPort-3
36 DELETE 2
37
38*** Keywords ***
39Read InputFile
40 ${PONPortList}= utils.jsonToList ${PATHFILE} PONPortInfo
41 Set Suite Variable ${plist} ${PONPortList}
42 Set Suite Variable ${PONPort_Id} ${EMPTY}
43
44Verify PONPort functionality
45 [Arguments] ${type} ${listIndex}
46 Run Keyword If "${type}" == "CREATE" Test Post PONPort API ${listIndex}
47 Run Keyword If "${type}" == "RETRIEVE" Test Get PONPort API ${listIndex}
48 Run Keyword If "${type}" == "DELETE" Test Delete PONPort API ${listIndex}
49
50Test Post PONPort API
51 [Arguments] ${listIndex}
52 ${PONPortList} = Get Variable Value ${plist}
53 ${PONPortDict}= utils.listToDict ${PONPortList} ${listIndex}
54 ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson PON_PORT ${PONPortDict}
55 Should Be True ${api_result_status}
56 ${PONPort_Id}= Get From Dictionary ${api_result_json} id
57 Set Global Variable ${PONPort_Id}
58
59Test Get PONPort API
60 [Arguments] ${listIndex}
61 Log ${PONPort_Id}
62 ${json_result}= restApi.ApiChameleonGet PON_PORT ${PONPort_Id}
63 Log ${json_result}
64 ${PONPortList} = Get Variable Value ${plist}
65 ${PONPortDict}= utils.listToDict ${PONPortList} ${listIndex}
66 Log ${PONPortDict}
67 ${test_result}= utils.compare_dict ${PONPortDict} ${json_result}
68 Should Be True ${test_result}
69
70Test Delete PONPort API
71 [Arguments] ${listIndex}
72 ${test_result}= restApi.ApiChameleonDelete PON_PORT ${PONPort_Id}
73 Should Be True ${test_result}