8b194ae47ecadac1e3fbad1248c29329339dfe9c
[integration/test.git] / csit / libraries / GBP / RestconfUtils.robot
1 *** Settings ***
2 Documentation     Utils for Restconf operations for GBP
3 Library           RequestsLibrary
4 Library           OperatingSystem
5 Library           json
6 Variables         ../../variables/Variables.py
7 Resource          ../Utils.robot
8
9 *** Keywords ***
10 Unregister Endpoints
11     [Arguments]    ${OPER_ENDPOINTS_PATH}
12     [Documentation]    Unregister Endpoints Endpoints from ODL
13     ${result} =    RequestsLibrary.Get    session    ${OPER_ENDPOINTS_PATH}
14     ${json_result} =    json.loads    ${result.text}
15     Pass Execution If    ${json_result['endpoints']}=={}    No Endpoints available
16     ${L2_ENDPOINTS} =    Set Variable    ${json_result['endpoints']['endpoint']}
17     ${L3_ENDPOINTS} =    Set Variable    ${json_result['endpoints']['endpoint-l3']}
18     Log    ${L2_ENDPOINTS}
19     Unregister L2Endpoints    ${L2_ENDPOINTS}
20     Log    ${L3_ENDPOINTS}
21     Unregister L3Endpoints    ${L3_ENDPOINTS}
22     ${result} =    RequestsLibrary.Get    session    ${OPER_ENDPOINTS_PATH}
23     ${json_result} =    json.loads    ${result.text}
24     Should Be Empty    ${json_result['endpoints']}
25
26 Unregister L2Endpoints
27     [Arguments]    ${l2_eps}
28     [Documentation]    Unregister Endpoints L2Endpoints from ODL
29     : FOR    ${endpoint}    IN    @{l2_eps}
30     \    ${l2_data} =    Create L2 Endpoint JSON Data    ${endpoint}
31     \    Post Elements To URI    ${UNREG_ENDPOINTS_PATH}    ${l2_data}
32
33 Unregister L3Endpoints
34     [Arguments]    ${l3_eps}
35     [Documentation]    Unregister Endpoints L3Endpoints from ODL
36     : FOR    ${endpoint}    IN    @{l3_eps}
37     \    ${l3_data} =    Create L3 Endpoint JSON Data    ${endpoint}
38     \    Post Elements To URI    ${UNREG_ENDPOINTS_PATH}    ${l3_data}
39
40 Create L2 Endpoint JSON Data
41     [Arguments]    ${endpoint}
42     [Documentation]    Generate the JSON data required for unregistering L2 Endpoints
43     ${data}    Set Variable    {"input": {"l2": [{"mac-address": "${endpoint['mac-address']}", "l2-context": "${endpoint['l2-context']}"}]}}
44     [Return]    ${data}
45
46 Create L3 Endpoint JSON Data
47     [Arguments]    ${endpoint}
48     [Documentation]    Generate the JSON data required for unregistering L3 Endpoints
49     ${data}    Set Variable    {"input": {"l3": [{"l3-context": "${endpoint['l3-context']}", "ip-address": "${endpoint['ip-address']}"}]}}
50     [Return]    ${data}