Tidied up robot files
[integration/test.git] / csit / suites / topoprocessing / basic-topology-operations / 010_Aggregation.robot
index d457dbb6bae654947225bf92a85a1d8b14390a2e..261bb9c25e32b49fb836e0e70fe2ed471580d644 100644 (file)
@@ -6,11 +6,12 @@ Documentation     Test suite to verify unification operation on different models
 ...               xmls and verify output. Topology-id on the end of each urls must match topology-id from xml. Yang models of components in topology are defined in xmls.
 Suite Setup       Setup Environment
 Suite Teardown    Clean Environment
-Test Teardown     Test Teardown    network-topology:network-topology/topology/topo:1
+Test Teardown     Delete Overlay Topology
 Library           RequestsLibrary
 Library           SSHLibrary
 Library           XML
 Variables         ../../../variables/topoprocessing/TopologyRequests.py
+Variables         ../../../variables/topoprocessing/TargetFields.py
 Variables         ../../../variables/Variables.py
 Resource          ../../../libraries/KarafKeywords.robot
 Resource          ../../../libraries/Utils.robot
@@ -19,164 +20,140 @@ Resource          ../../../libraries/TopoprocessingKeywords.robot
 *** Test Cases ***
 Unification Node
     [Documentation]    Test unification operation on Network Topology model
-    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    network-topology-model    node    network-topo:1    network-topo:2
-    ${request}    Insert Target Field    ${request}    0    l3-unicast-igp-topology:igp-node-attributes/isis-topology:isis-node-attributes/isis-topology:ted/isis-topology:te-router-id-ipv4    0
-    ${request}    Insert Target Field    ${request}    1    l3-unicast-igp-topology:igp-node-attributes/isis-topology:isis-node-attributes/isis-topology:ted/isis-topology:te-router-id-ipv4    0
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    9
-    : FOR    ${index}    IN RANGE    1    10
-    \    Should Contain X Times    ${resp.content}    <node-ref>bgp:${index}</node-ref>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:10']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <node-ref>bgp:10</node-ref>    1
-    Should Contain X Times    ${node}    <node-ref>bgp:5</node-ref>    1
+    ${model}    Set Variable    network-topology-model
+    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    ${model}    node    network-topo:1    network-topo:2
+    ${request}    Insert Target Field    ${request}    0    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
+    ${request}    Insert Target Field    ${request}    1    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=8    supporting-node_count=10
+    ...    tp_count=14    tp-ref_count=14
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    bgp:5    bgp:10
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:9
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:8
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    bgp:7
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:6
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    4    bgp:3    bgp:4
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:2
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    bgp:1
 
 Unification Node Inventory
     [Documentation]    Test unification operation on inventory model
-    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    opendaylight-inventory-model    node    openflow-topo:1    openflow-topo:2
-    ${request}    Insert Target Field    ${request}    0    flow-node-inventory:ip-address    0
-    ${request}    Insert Target Field    ${request}    1    flow-node-inventory:ip-address    0
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    8
-    : FOR    ${index}    IN RANGE    1    11
-    \    Should Contain X Times    ${resp.content}    <node-ref>of-node:${index}</node-ref>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:1']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <node-ref>of-node:6</node-ref>    1
-    Should Contain X Times    ${node}    <node-ref>of-node:1</node-ref>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:4']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <node-ref>of-node:10</node-ref>    1
-    Should Contain X Times    ${node}    <node-ref>of-node:4</node-ref>    1
+    ${model}    Set Variable    opendaylight-inventory-model
+    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    ${model}    node    openflow-topo:1    openflow-topo:2
+    ${request}    Insert Target Field    ${request}    0    ${OPENFLOW_NODE_IP_ADDRESS}    0
+    ${request}    Insert Target Field    ${request}    1    ${OPENFLOW_NODE_IP_ADDRESS}    0
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=7    supporting-node_count=10
+    ...    tp_count=12    tp-ref_count=12
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    of-node:10    of-node:4
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:7    of-node:9
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:8
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    of-node:6    of-node:1
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    of-node:5
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    of-node:3
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    of-node:2
 
 Unification Scripting Node
     [Documentation]    Test unification operation on Network Topology model using scripting
-    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    network-topology-model    node    network-topo:1    network-topo:2
-    ${request}    Insert Target Field    ${request}    0    l3-unicast-igp-topology:igp-node-attributes/isis-topology:isis-node-attributes/isis-topology:ted/isis-topology:te-router-id-ipv4    0
-    ${request}    Insert Target Field    ${request}    1    l3-unicast-igp-topology:igp-node-attributes/isis-topology:isis-node-attributes/isis-topology:ted/isis-topology:te-router-id-ipv4    0
+    ${model}    Set Variable    network-topology-model
+    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    ${model}    node    network-topo:1    network-topo:2
+    ${request}    Insert Target Field    ${request}    0    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
+    ${request}    Insert Target Field    ${request}    1    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
     ${request}    Insert Scripting into Request    ${request}    javascript    if (originalItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.1") > -1 && newItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.3") > -1 || originalItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.3") > -1 && newItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.1") > -1) {aggregable.setResult(true);} else { aggregable.setResult(false);}
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    9
-    : FOR    ${index}    IN RANGE    1    11
-    \    Should Contain X Times    ${resp.content}    <node-ref>bgp:${index}</node-ref>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:1']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <node-ref>bgp:1</node-ref>    1
-    Should Contain X Times    ${node}    <node-ref>bgp:6</node-ref>    1
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=9    supporting-node_count=10
+    ...    tp_count=14    tp-ref_count=14
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:10
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:9
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:8
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    bgp:7
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    4    bgp:1    bgp:6
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:5
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    bgp:4
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    bgp:3
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:2
 
 Unification Scripting Node Inventory
     [Documentation]    Test unification operation on inventory model using scripting
-    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    opendaylight-inventory-model    node    openflow-topo:1    openflow-topo:2
-    ${request}    Insert Target Field    ${request}    0    flow-node-inventory:ip-address    0
-    ${request}    Insert Target Field    ${request}    1    flow-node-inventory:ip-address    0
+    ${model}    Set Variable    opendaylight-inventory-model
+    ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    ${model}    node    openflow-topo:1    openflow-topo:2
+    ${request}    Insert Target Field    ${request}    0    ${OPENFLOW_NODE_IP_ADDRESS}    0
+    ${request}    Insert Target Field    ${request}    1    ${OPENFLOW_NODE_IP_ADDRESS}    0
     ${request}    Insert Scripting into Request    ${request}    javascript    if (originalItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.2") > -1 && newItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.4") > -1 || originalItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.4") > -1 && newItem.getLeafNodes().get(java.lang.Integer.valueOf('0')).getValue().indexOf("192.168.1.2") > -1) {aggregable.setResult(true);} else { aggregable.setResult(false);}
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    9
-    : FOR    ${index}    IN RANGE    1    11
-    \    Should Contain X Times    ${resp.content}    <node-ref>of-node:${index}</node-ref>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:2']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <node-ref>of-node:2</node-ref>    1
-    Should Contain X Times    ${node}    <node-ref>of-node:8</node-ref>    1
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=9    supporting-node_count=10
+    ...    tp_count=12    tp-ref_count=12
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:10
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:9
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    of-node:2    of-node:8
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:7
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:6
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    of-node:5
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    of-node:4
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    of-node:3
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    2    of-node:1
 
 Unification Node Inside
     [Documentation]    Test of unification type of aggregation inside on nodes on Network Topology model
-    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    network-topology-model    node    network-topo:1
-    ${request}    Insert Target Field    ${request}    0    l3-unicast-igp-topology:igp-node-attributes/isis-topology:isis-node-attributes/isis-topology:ted/isis-topology:te-router-id-ipv4    0
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    4
-    ${response_xml}    Parse XML    ${resp.content}
-    ${node}    Get Element    ${response_xml}    xpath=.//node/supporting-node[node-ref='bgp:3']/..
-    ${node}    Element To String    ${node}
-    Should Contain X Times    ${node}    <supporting-node>    2
-    Should Contain    ${node}    <supporting-node><node-ref>bgp:3</node-ref>
-    Should Contain    ${node}    <supporting-node><node-ref>bgp:4</node-ref>
+    ${model}    Set Variable    network-topology-model
+    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    ${model}    node    network-topo:1
+    ${request}    Insert Target Field    ${request}    0    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=4    supporting-node_count=5
+    ...    tp_count=8    tp-ref_count=8
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    1    bgp:5
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    4    bgp:3    bgp:4
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:2
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    bgp:1
 
 Unification Node Inside Inventory
     [Documentation]    Test of unification type of aggregation inside on nodes on Inventory model
-    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    opendaylight-inventory-model    node    openflow-topo:2
-    ${request}    Insert Target Field    ${request}    0    flow-node-inventory:ip-address    0
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    4
-    ${response_xml}    Parse XML    ${resp.content}
-    ${node}    Get Element    ${response_xml}    xpath=.//node/supporting-node[node-ref='of-node:7']/..
-    ${node}    Element To String    ${node}
-    Should Contain X Times    ${node}    <supporting-node>    2
-    Should Contain    ${node}    <supporting-node><node-ref>of-node:7</node-ref>
-    Should Contain    ${node}    <supporting-node><node-ref>of-node:9</node-ref>
+    ${model}    Set Variable    opendaylight-inventory-model
+    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    ${model}    node    openflow-topo:2
+    ${request}    Insert Target Field    ${request}    0    ${OPENFLOW_NODE_IP_ADDRESS}    0
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=4    supporting-node_count=5
+    ...    tp_count=0
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:10
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:7    of-node:9
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:8
+    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    of-node:6
 
 Unification Termination Point Inside
     [Documentation]    Test aggregate inside operation on termination points
-    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    network-topology-model    termination-point    network-topo:1
-    ${request}    Insert Target Field    ${request}    0    ovsdb:ofport    0
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    5
-    Should Contain X Times    ${resp.content}    <termination-point>    6
-    # bgp:1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:1']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    2
-    ${tp}    Get Element    ${node}    xpath=.//termination-point[tp-ref='/network-topology:network-topology/topology/network-topo:1/node/bgp:1/termination-point/tp:1:3']
-    ${tp}    Element to String    ${tp}
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:1/termination-point/tp:1:3</tp-ref>    1
-    ${tp}    Get Element    ${node}    xpath=.//termination-point[tp-ref='/network-topology:network-topology/topology/network-topo:1/node/bgp:1/termination-point/tp:1:1']
-    ${tp}    Element to String    ${tp}
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:1/termination-point/tp:1:1</tp-ref>    1
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:1/termination-point/tp:1:2</tp-ref>    1
-    # bgp:3
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:3']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    2
-    ${tp}    Get Element    ${node}    xpath=.//termination-point[tp-ref='/network-topology:network-topology/topology/network-topo:1/node/bgp:3/termination-point/tp:3:2']
-    ${tp}    Element to String    ${tp}
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:3/termination-point/tp:3:2</tp-ref>    1
-    ${tp}    Get Element    ${node}    xpath=.//termination-point[tp-ref='/network-topology:network-topology/topology/network-topo:1/node/bgp:3/termination-point/tp:3:1']
-    ${tp}    Element to String    ${tp}
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:3/termination-point/tp:3:1</tp-ref>    1
-    # bgp:4
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:4']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    1
-    ${tp}    Get Element    ${node}    xpath=.//termination-point[tp-ref='/network-topology:network-topology/topology/network-topo:1/node/bgp:4/termination-point/tp:4:1']
-    ${tp}    Element to String    ${tp}
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:4/termination-point/tp:4:1</tp-ref>    1
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:4/termination-point/tp:4:2</tp-ref>    1
-    # bgp:5
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='bgp:5']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    1
-    ${tp}    Get Element    ${node}    xpath=.//termination-point[tp-ref='/network-topology:network-topology/topology/network-topo:1/node/bgp:5/termination-point/tp:5:1']
-    ${tp}    Element to String    ${tp}
-    Should Contain X Times    ${tp}    <tp-ref>/network-topology:network-topology/topology/network-topo:1/node/bgp:5/termination-point/tp:5:1</tp-ref>    1
+    ${model}    Set Variable    network-topology-model
+    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    ${model}    termination-point    network-topo:1
+    ${request}    Insert Target Field    ${request}    0    ${OVSDB_OFPORT}    0
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
+    ...    tp_count=6    tp-ref_count=8
+    ${topology_id}    Set Variable    network-topo:1
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:1    tp:1:1    tp:1:1
+    ...    tp:1:2
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:1    tp:1:3    tp:1:3
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:3    tp:3:1    tp:3:1
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:3    tp:3:2    tp:3:2
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:4    tp:4:1    tp:4:1
+    ...    tp:4:2
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    bgp:5    tp:5:1    tp:5:1
 
 Unification Termination Point Inside Inventory
     [Documentation]    Test aggregate inside operation on termination points
-    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    opendaylight-inventory-model    termination-point    openflow-topo:1
-    ${request}    Insert Target Field    ${request}    0    flow-node-inventory:port-number    0
-    ${resp}    Send Basic Request    ${request}    network-topology:network-topology/topology/topo:1
-    Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
-    Should Contain X Times    ${resp.content}    <node-id>node:    5
-    Should Contain X Times    ${resp.content}    <termination-point>    8
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:1']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:2']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    3
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:3']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    2
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:4']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    1
-    ${node}    Get Element    ${resp.content}    xpath=.//node/supporting-node[node-ref='of-node:5']/..
-    ${node}    Element to String    ${node}
-    Should Contain X Times    ${node}    <termination-point>    1
-    [Teardown]    Report_Failure_Due_To_Bug    4674
+    ${model}    Set Variable    opendaylight-inventory-model
+    ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    ${model}    termination-point    openflow-topo:1
+    ${request}    Insert Target Field    ${request}    0    ${OPENFLOW_NODE_CONNECTOR_PORT_NUMBER}    0
+    Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
+    ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=5    supporting-node_count=5
+    ...    tp_count=8    tp-ref_count=12
+    ${topology_id}    Set Variable    openflow-topo:1
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:5    tp:5:1    tp:5:1
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:4    tp:4:1    tp:4:1
+    ...    tp:4:2    tp:4:3
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:3    tp:3:1    tp:3:1
+    ...    tp:3:2
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:3    tp:3:3    tp:3:3
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:2    tp:2:1    tp:2:1
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:2    tp:2:2    tp:2:2
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:2    tp:2:3    tp:2:3
+    Check Aggregated Termination Point in Node    ${model}    ${resp.content}    ${topology_id}    of-node:1    tp:1:1    tp:1:1
+    ...    tp:1:2