d1ae92b7b698272e889dfac8f6ca17b05e1a2429
[integration/test.git] / csit / suites / topoprocessing / basic-topology-operations / 050_Aggregation_filtration.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 Teardown     Delete Overlay Topology    ${OVERLAY_TOPO_URL}
10 Library           RequestsLibrary
11 Library           SSHLibrary
12 Library           XML
13 Variables         ../../../variables/topoprocessing/TopologyRequests.py
14 Variables         ../../../variables/topoprocessing/TargetFields.py
15 Variables         ../../../variables/Variables.py
16 Resource          ../../../libraries/KarafKeywords.robot
17 Resource          ../../../libraries/Utils.robot
18 Resource          ../../../libraries/TopoprocessingKeywords.robot
19
20 *** Variables ***
21 ${OVERLAY_TOPO_URL}    ${TOPOLOGY_URL}/topo:1
22
23 *** Test Cases ***
24 Unification Filtration Node Inside Network Topology model
25     [Documentation]    Test unification filtration inside operation on Network Topology model
26     ${model}    Set Variable    network-topology-model
27     ${request}    Prepare Unification Filtration Inside Topology Request    ${UNIFICATION_FILTRATION_NT_AGGREGATE_INSIDE}    ${model}    node    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    network-topo:4
28     ${request}    Insert Filter With ID    ${request}    ${FILTER_IPV4}    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    1
29     ${request}    Insert Apply Filters    ${request}    1    1
30     ${request}    Set IPV4 Filter    ${request}    192.168.2.1/24
31     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node-id>node:    2
32     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
33     Should Contain X Times    ${resp.content}    <supporting-node>    3
34     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:18    bgp:20
35     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:19
36
37 Unification Filtration Node Inside Inventory model
38     [Documentation]    Test unification filtration inside operation on Inventory model
39     ${model}    Set Variable    opendaylight-inventory-model
40     ${request}    Prepare Unification Filtration Inside Topology Request    ${UNIFICATION_FILTRATION_NT_AGGREGATE_INSIDE}    ${model}    node    ${OPENFLOW_NODE_IP_ADDRESS}    openflow-topo:4
41     ${request}    Insert Filter With ID    ${request}    ${FILTER_IPV4}    ${OPENFLOW_NODE_IP_ADDRESS}    1
42     ${request}    Insert Apply Filters    ${request}    1    1
43     ${request}    Set IPV4 Filter    ${request}    192.168.2.1/24
44     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node-id>node:    2
45     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
46     Should Contain X Times    ${resp.content}    <supporting-node>    4
47     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:18
48     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:17    of-node:19    of-node:20
49
50 Unification Filtration Termination Point Inside Network Topology model
51     [Documentation]    Test unification filtration inside operation on Network Topology model
52     ${model}    Set Variable    network-topology-model
53     ${request}    Prepare Unification Filtration Inside Topology Request    ${UNIFICATION_FILTRATION_NT_AGGREGATE_INSIDE}    ${model}    termination-point    ${OVSDB_TP_NAME}    network-topo:5
54     ${request}    Insert Filter With ID    ${request}    ${FILTER_SPECIFIC_STRING}    ${OVSDB_TP_NAME}    1
55     ${request}    Insert Apply Filters    ${request}    1    1
56     ${request}    Set Specific String Filter    ${request}    portA
57     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node-id>node:    5
58     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
59     Should Contain X Times    ${resp.content}    <termination-point>    3
60     ${topology_id}    Set Variable    network-topo:5
61     Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:21    tp:21:1    tp:21:1
62     ...    tp:21:2    tp:21:3
63     Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:24    tp:24:1    tp:24:1
64     ...    tp:24:2
65     Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:22    tp:22:1    tp:22:1
66
67 Unification Filtration Node Network Topology model
68     [Documentation]    Test unification filtration operation on Network Topology model
69     ${model}    Set Variable    network-topology-model
70     ${target_field}    Set Variable    ${ISIS_NODE_TE_ROUTER_ID_IPV4}
71     ${request}    Prepare Unification Filtration Topology Request    ${UNIFICATION_FILTRATION_NT}    ${model}    node    ${target_field}    network-topo:4
72     ...    ${target_field}    network-topo:1
73     ${request}    Insert Filter With ID    ${request}    ${FILTER_IPV4}    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    1
74     ${request}    Insert Apply Filters    ${request}    1    1
75     ${request}    Insert Apply Filters    ${request}    2    1
76     ${request}    Set IPV4 Filter    ${request}    192.168.1.1/24
77     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node>    2
78     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
79     Should Contain X Times    ${resp.content}    <supporting-node>    4
80     Should Contain X Times    ${resp.content}    <termination-point    3
81     Should Contain X Times    ${resp.content}    <tp-ref>    3
82     Check Aggregated Node in Topology    ${model}    ${resp.content}    3    bgp:1    bgp:16
83     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:2    bgp:17
84
85 Unification Filtration Node Inventory model
86     [Documentation]    Test unification filtration operation on Inventory model
87     ${model}    Set Variable    opendaylight-inventory-model
88     ${request}    Prepare Unification Filtration Topology Request    ${UNIFICATION_FILTRATION_NT}    ${model}    node    ${OPENFLOW_NODE_IP_ADDRESS}    openflow-topo:4
89     ...    ${OPENFLOW_NODE_IP_ADDRESS}    openflow-topo:6
90     ${request}    Insert Filter With ID    ${request}    ${FILTER_IPV4}    ${OPENFLOW_NODE_IP_ADDRESS}    1
91     ${request}    Insert Apply Filters    ${request}    1    1
92     ${request}    Insert Apply Filters    ${request}    2    1
93     ${request}    Set IPV4 Filter    ${request}    192.168.1.1/24
94     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node>    2
95     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
96     Should Contain X Times    ${resp.content}    <supporting-node>    3
97     Should Contain X Times    ${resp.content}    <termination-point    0
98     Should Contain X Times    ${resp.content}    <tp-ref>    0
99     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:28
100     Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:16    of-node:26