Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / libraries / SxpBindingOriginsLib.robot
1 *** Settings ***
2 Documentation     Library containing Keywords used for SXP binding origins testing
3 Library           ./Sxp.py
4 Resource          ./SxpLib.robot
5
6 *** Variables ***
7 ${CONFIG_REST_CONTEXT}    /restconf/operations/sxp-config-controller
8
9 *** Keywords ***
10 Revert To Default Binding Origins Configuration
11     [Arguments]    ${session}=session
12     [Documentation]    Remove CLUSTER binding origin and set default priorities to default origins
13     BuiltIn.Run Keyword And Ignore Error    SxpBindingOriginsLib.Delete Binding Origin    CLUSTER    session=${session}
14     BuiltIn.Run Keyword And Ignore Error    SxpBindingOriginsLib.Update Binding Origin    LOCAL    1    session=${session}
15     BuiltIn.Run Keyword And Ignore Error    SxpBindingOriginsLib.Update Binding Origin    NETWORK    2    session=${session}
16
17 Get Binding Origins
18     [Arguments]    ${session}=session
19     [Documentation]    Gets all binding origins via RPC from configuration
20     ${resp} =    RequestsLibrary.Get Request    ${session}    /restconf/config/sxp-config:binding-origins
21     BuiltIn.Should Be Equal As Strings    ${resp.status_code}    200
22     [Return]    ${resp}
23
24 Add Binding Origin
25     [Arguments]    ${origin}    ${priority}    ${session}=session
26     [Documentation]    Add custom binding origin to configuration
27     ${data} =    Sxp.Add Binding Origin Xml    ${origin}    ${priority}
28     SxpLib.Post To Controller    ${session}    path=add-binding-origin    data=${data}    rest_context=${CONFIG_REST_CONTEXT}
29
30 Update Binding Origin
31     [Arguments]    ${origin}    ${priority}    ${session}=session
32     [Documentation]    Update binding origin in configuration
33     ${data} =    Sxp.Update Binding Origin Xml    ${origin}    ${priority}
34     SxpLib.Post To Controller    ${session}    path=update-binding-origin    data=${data}    rest_context=${CONFIG_REST_CONTEXT}
35
36 Delete Binding Origin
37     [Arguments]    ${origin}    ${session}=session
38     [Documentation]    Delete custom binding origin from configuration
39     ${data} =    Sxp.Delete Binding Origin Xml    ${origin}
40     SxpLib.Post To Controller    ${session}    path=delete-binding-origin    data=${data}    rest_context=${CONFIG_REST_CONTEXT}
41
42 Should Contain Binding Origins
43     [Arguments]    @{origins}
44     [Documentation]    Test if data contain specified binding origins
45     ${resp} =    SxpBindingOriginsLib.Get Binding Origins
46     FOR    ${origin}    IN    @{origins}
47         ${out} =    Sxp.Find Binding Origin    ${resp.json()}    ${origin}
48         BuiltIn.Should Be True    ${out}    Missing origin: ${origin} in ${resp}
49     END
50
51 Should Not Contain Binding Origins
52     [Arguments]    @{origins}
53     [Documentation]    Test if data DONT contain specified binding origins
54     ${resp} =    SxpBindingOriginsLib.Get Binding Origins
55     FOR    ${origin}    IN    @{origins}
56         ${out} =    Sxp.Find Binding Origin    ${resp.json()}    ${origin}
57         BuiltIn.Should Be Equal As Strings    False    ${out}    Not expected origin: ${origin} in ${resp}
58     END
59
60 Should Contain Binding Origin With Priority
61     [Arguments]    ${origin}    ${priority}
62     [Documentation]    Test if data contain specified binding origin with desired priority
63     ${resp} =    SxpBindingOriginsLib.Get Binding Origins
64     ${out} =    Sxp.Find Binding Origin With Priority    ${resp.json()}    ${origin}    ${priority}
65     BuiltIn.Should Be True    ${out}    Missing origin: ${origin} with priority: ${priority} in ${resp}