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