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