add setuputils to topoprocessing csit so karaf log KWs work
[integration/test.git] / csit / suites / topoprocessing / basic-topology-operations / 030_Filtration_termination_points.robot
1 *** Settings ***
2 Documentation     Test suite to verify fitration operation on different models.
3 ...               Before test starts, configurational file have to be rewriten to change listners registration datastore type from CONFIGURATION to OPERATIONAL.
4 ...               Need for this change is also a reason why main feature (odl-topoprocessing-framework) is installed after file change and not during boot.
5 ...               Tests themselves install feature required for specific model, clear karaf logs for futher synchronization, send configurational xmls and verify output.
6 ...               Topology-id on the end of each urls must match topology-id from xml. Yang models of components in topology are defined in xmls.
7 Suite Setup       Setup Environment
8 Suite Teardown    Clean Environment
9 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
10 Test Teardown     Delete Overlay Topology
11 Library           RequestsLibrary
12 Library           SSHLibrary
13 Library           XML
14 Variables         ../../../variables/topoprocessing/TopologyRequests.py
15 Variables         ../../../variables/topoprocessing/TargetFields.py
16 Variables         ../../../variables/Variables.py
17 Resource          ../../../libraries/KarafKeywords.robot
18 Resource          ../../../libraries/Utils.robot
19 Resource          ../../../libraries/TopoprocessingKeywords.robot
20
21 *** Test Cases ***
22 Filtration Range Number Network Topology Model
23     [Documentation]    Test of range number type of filtration operation on Network Topology model
24     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    network-topology-model    termination-point    network-topo:2
25     ${request}    Insert Filter    ${request}    ${FILTER_RANGE_NUMBER}    ${OVSDB_OFPORT}
26     ${request}    Set Range Number Filter    ${request}    1115    1119
27     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
28     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
29     ...    node-ref_count=5    tp_count=3    tp-ref_count=3
30     Check Filtered Termination Points in Node    ${resp.content}    bgp:6    tp:6:1
31     Check Filtered Termination Points in Node    ${resp.content}    bgp:7    tp:7:1    tp:7:2
32     Check Filtered Termination Points in Node    ${resp.content}    bgp:8
33     Check Filtered Termination Points in Node    ${resp.content}    bgp:9
34     Check Filtered Termination Points in Node    ${resp.content}    bgp:10
35
36 Filtration Range Number Inventory Model
37     [Documentation]    Test of range number type of filtration operation on Inventory model
38     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    opendaylight-inventory-model    termination-point    openflow-topo:1
39     ${request}    Insert Filter    ${request}    ${FILTER_RANGE_NUMBER}    ${OPENFLOW_NODE_CONNECTOR_PORT_NUMBER}
40     ${request}    Set Range Number Filter    ${request}    2    4
41     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
42     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
43     ...    node-ref_count=5    tp_count=5    tp-ref_count=5
44     Check Filtered Termination Points in Node    ${resp.content}    of-node:1
45     Check Filtered Termination Points in Node    ${resp.content}    of-node:2    tp:2:3    tp:2:2
46     Check Filtered Termination Points in Node    ${resp.content}    of-node:3    tp:3:1    tp:3:2
47     Check Filtered Termination Points in Node    ${resp.content}    of-node:4
48     Check Filtered Termination Points in Node    ${resp.content}    of-node:5    tp:5:1
49
50 Filtration Specific Number Network Topology Model
51     [Documentation]    Test of specific number type of filtration operation on Network Topology model
52     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    network-topology-model    termination-point    network-topo:2
53     ${request}    Insert Filter    ${request}    ${FILTER_SPECIFIC_NUMBER}    ${OVSDB_OFPORT}
54     ${request}    Set Specific Number Filter    ${request}    1119
55     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
56     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
57     ...    node-ref_count=5    tp_count=1    tp-ref_count=1
58     ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:7']/..
59     ${node}    Element to String    ${node}
60     Should Contain X Times    ${node}    <termination-point>    1
61     Check Filtered Termination Points in Node    ${resp.content}    bgp:6
62     Check Filtered Termination Points in Node    ${resp.content}    bgp:7    tp:7:1
63     Check Filtered Termination Points in Node    ${resp.content}    bgp:8
64     Check Filtered Termination Points in Node    ${resp.content}    bgp:9
65     Check Filtered Termination Points in Node    ${resp.content}    bgp:10
66
67 Filtration Specific Number Inventory Model
68     [Documentation]    Test of specific number type of filtration operation on Inventory model
69     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    opendaylight-inventory-model    termination-point    openflow-topo:1
70     ${request}    Insert Filter    ${request}    ${FILTER_SPECIFIC_NUMBER}    ${OPENFLOW_NODE_CONNECTOR_MAXIMUM_SPEED}
71     ${request}    Set Specific Number Filter    ${request}    2
72     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
73     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
74     ...    node-ref_count=5    tp_count=3    tp-ref_count=3
75     Check Filtered Termination Points in Node    ${resp.content}    of-node:1
76     Check Filtered Termination Points in Node    ${resp.content}    of-node:2    tp:2:2
77     Check Filtered Termination Points in Node    ${resp.content}    of-node:3    tp:3:1    tp:3:2
78     Check Filtered Termination Points in Node    ${resp.content}    of-node:4
79     Check Filtered Termination Points in Node    ${resp.content}    of-node:5
80
81 Filtration Specific String Network Topology Model
82     [Documentation]    Test of specific string type of filtration operation on Network Topology model
83     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    network-topology-model    termination-point    network-topo:2
84     ${request}    Insert Filter    ${request}    ${FILTER_SPECIFIC_STRING}    ${OVSDB_TP_NAME}
85     ${request}    Set Specific String Filter    ${request}    portC
86     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
87     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
88     ...    node-ref_count=5    tp_count=1    tp-ref_count=1
89     Check Filtered Termination Points in Node    ${resp.content}    bgp:6
90     Check Filtered Termination Points in Node    ${resp.content}    bgp:7    tp:7:2
91     Check Filtered Termination Points in Node    ${resp.content}    bgp:8
92     Check Filtered Termination Points in Node    ${resp.content}    bgp:9
93     Check Filtered Termination Points in Node    ${resp.content}    bgp:10
94
95 Filtration Specific String Inventory Model
96     [Documentation]    Test of specific string type of filtration operation on Inventory model
97     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    opendaylight-inventory-model    termination-point    openflow-topo:1
98     ${request}    Insert Filter    ${request}    ${FILTER_SPECIFIC_STRING}    ${OPENFLOW_NODE_CONNECTOR_NAME}
99     ${request}    Set Specific String Filter    ${request}    portB
100     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
101     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
102     ...    node-ref_count=5    tp_count=2    tp-ref_count=2
103     Check Filtered Termination Points in Node    ${resp.content}    of-node:1
104     Check Filtered Termination Points in Node    ${resp.content}    of-node:2    tp:2:1
105     Check Filtered Termination Points in Node    ${resp.content}    of-node:3
106     Check Filtered Termination Points in Node    ${resp.content}    of-node:4
107     Check Filtered Termination Points in Node    ${resp.content}    of-node:5    tp:5:1
108
109 Filtration Range String Network Topology Model
110     [Documentation]    Test of range string type of filtration operation on Network Topology model
111     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    network-topology-model    termination-point    network-topo:2
112     ${request}    Insert Filter    ${request}    ${FILTER_RANGE_STRING}    ${OVSDB_TP_NAME}
113     ${request}    Set Range String Filter    ${request}    portA    portC
114     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
115     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
116     ...    node-ref_count=5    tp_count=3    tp-ref_count=3
117     Check Filtered Termination Points in Node    ${resp.content}    bgp:6    tp:6:1
118     Check Filtered Termination Points in Node    ${resp.content}    bgp:7    tp:7:2
119     Check Filtered Termination Points in Node    ${resp.content}    bgp:8
120     Check Filtered Termination Points in Node    ${resp.content}    bgp:9
121     Check Filtered Termination Points in Node    ${resp.content}    bgp:10    tp:10:1
122
123 Filtration Range String Inventory Model
124     [Documentation]    Test of range string type of filtration operation on Inventory model
125     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    opendaylight-inventory-model    termination-point    openflow-topo:1
126     ${request}    Insert Filter    ${request}    ${FILTER_RANGE_STRING}    ${OPENFLOW_NODE_CONNECTOR_NAME}
127     ${request}    Set Range String Filter    ${request}    portA    portB
128     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
129     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
130     ...    node-ref_count=5    tp_count=3    tp-ref_count=3
131     Check Filtered Termination Points in Node    ${resp.content}    of-node:1
132     Check Filtered Termination Points in Node    ${resp.content}    of-node:2    tp:2:1    tp:2:3
133     Check Filtered Termination Points in Node    ${resp.content}    of-node:3
134     Check Filtered Termination Points in Node    ${resp.content}    of-node:4
135     Check Filtered Termination Points in Node    ${resp.content}    of-node:5    tp:5:1
136
137 Filtration Script Network Topology Model
138     [Documentation]    Test of script type of filtration operation on Network Topology model
139     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    network-topology-model    termination-point    network-topo:1
140     ${request}    Insert Filter    ${request}    ${FILTER_SCRIPT}    ${OVSDB_OFPORT}
141     ${script}    Set Variable    if (node.getValue() > 1117 ) {filterOut.setResult(true);} else {filterOut.setResult(false);}
142     ${request}    Set Script Filter    ${request}    javascript    ${script}
143     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
144     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
145     ...    node-ref_count=5    tp_count=3    tp-ref_count=3
146     Check Filtered Termination Points in Node    ${resp.content}    bgp:1
147     Check Filtered Termination Points in Node    ${resp.content}    bgp:2
148     Check Filtered Termination Points in Node    ${resp.content}    bgp:3
149     Check Filtered Termination Points in Node    ${resp.content}    bgp:4    tp:4:1    tp:4:2
150     Check Filtered Termination Points in Node    ${resp.content}    bgp:5    tp:5:1
151
152 Filtration Script Inventory Model
153     [Documentation]    Test of script type of filtration operation on Inventory model
154     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    opendaylight-inventory-model    termination-point    openflow-topo:1
155     ${request}    Insert Filter    ${request}    ${FILTER_SCRIPT}    ${OPENFLOW_NODE_CONNECTOR_NAME}
156     ${script}    Set Variable    if (node.getValue().indexOf("portB") > -1 ) {filterOut.setResult(true);} else {filterOut.setResult(false);}
157     ${request}    Set Script Filter    ${request}    javascript    ${script}
158     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
159     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
160     ...    node-ref_count=5    tp_count=3    tp-ref_count=3
161     Check Filtered Termination Points in Node    ${resp.content}    of-node:1    tp:1:1
162     Check Filtered Termination Points in Node    ${resp.content}    of-node:2    tp:2:2    tp:2:3
163     Check Filtered Termination Points in Node    ${resp.content}    of-node:3
164     Check Filtered Termination Points in Node    ${resp.content}    of-node:4
165     Check Filtered Termination Points in Node    ${resp.content}    of-node:5