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