CSIT-662: KWI - KW renaming
[csit.git] / resources / libraries / robot / testing_path.robot
index 763b34e..b7543e1 100644 (file)
@@ -16,7 +16,7 @@
 | Library | resources.libraries.python.NodePath
 
 *** Keywords ***
-| Path for 2-node testing is set
+| Configure path in 2-node circular topology
 | | [Documentation] | Compute path for testing on two given nodes in circular
 | | ...             | topology and set corresponding test case variables.
 | | ...
@@ -43,7 +43,7 @@
 | | ...
 | | ... | *Example:*
 | | ...
-| | ... | \| Given Path for 2-node testing is set \| ${nodes['TG']} \
+| | ... | \| Given Configure path in 2-node circular topology \| ${nodes['TG']} \
 | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \|
 | | ...
 | | [Arguments] | ${tg_node} | ${dut_node} | ${tg2_node}
@@ -69,7 +69,7 @@
 | | Set Test Variable | ${tg_node}
 | | Set Test Variable | ${dut_node}
 
-| Interfaces in 2-node path are up
+| Set interfaces in 2-node circular topology up
 | | [Documentation] | Set UP state on interfaces in 2-node path on nodes and
 | | ...             | wait for all interfaces are ready. Requires more than
 | | ...             | one link between nodes.
 | | ... | - No value returned.
 | | ...
 | | ... | _NOTE:_ This KW uses test variables sets in
-| | ... |         "Path for 2-node testing is set" KW.
+| | ... |         "Configure path in 2-node circular topology" KW.
 | | ...
 | | ... | *Example:*
 | | ...
-| | ... | \| Given Path for 2-node testing is set \| ${nodes['TG']} \
+| | ... | \| Given Configure path in 2-node circular topology \| ${nodes['TG']} \
 | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \|
-| | ... | \| And Interfaces in 2-node path are up \|
+| | ... | \| And Set interfaces in 2-node circular topology up \|
 | | ...
 | | Set Interface State | ${tg_node} | ${tg_to_dut_if1} | up
 | | Set Interface State | ${tg_node} | ${tg_to_dut_if2} | up
@@ -95,7 +95,7 @@
 | | Set Interface State | ${dut_node} | ${dut_to_tg_if2} | up
 | | Vpp Node Interfaces Ready Wait | ${dut_node}
 
-| Path for 3-node testing is set
+| Configure path in 3-node circular topology
 | | [Documentation] | Compute path for testing on three given nodes in circular
 | | ...             | topology and set corresponding test case variables.
 | | ...
 | | ...
 | | ... | *Example:*
 | | ...
-| | ... | \| Given Path for 3-node testing is set \| ${nodes['TG']} \
+| | ... | \| Given Configure path in 3-node circular topology \| ${nodes['TG']} \
 | | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \| ${nodes['TG']} \|
 | | ...
 | | [Arguments] | ${tg_node} | ${dut1_node} | ${dut2_node} | ${tg2_node}
 | | Set Test Variable | ${dut1_node}
 | | Set Test Variable | ${dut2_node}
 
-| Interfaces in 3-node path are up
-| | [Documentation] | Set UP state on interfaces in 3-node path on nodes and
-| | ...             | wait for all interfaces are ready.
+| Set interfaces in 3-node circular topology up
+| | [Documentation]
+| | ... | Set UP state on interfaces in 3-node path on nodes and \
+| | ... | wait until all interfaces are ready.
 | | ...
 | | ... | *Arguments:*
 | | ... | - No arguments.
 | | ... | - No value returned.
 | | ...
 | | ... | _NOTE:_ This KW uses test variables sets in
-| | ... |         "Path for 3-node testing is set" KW.
+| | ... |         "Configure path in 3-node circular topology" KW.
 | | ...
 | | ... | *Example:*
 | | ...
-| | ... | \| Given Path for 3-node testing is set \| ${nodes['TG']} \
+| | ... | \| Given Configure path in 3-node circular topology \| ${nodes['TG']} \
 | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \|
-| | ... | \| And Interfaces in 3-node path are up \|
+| | ... | \| And Set interfaces in 3-node circular topology up \|
 | | ...
 | | Set Interface State | ${tg_node} | ${tg_to_dut1} | up
 | | Set Interface State | ${tg_node} | ${tg_to_dut2} | up
 | | Set Interface State | ${dut2_node} | ${dut2_to_dut1} | up
 | | Vpp Node Interfaces Ready Wait | ${dut1_node}
 | | Vpp Node Interfaces Ready Wait | ${dut2_node}
+
+| Configure path in double-link 3-node circular topology
+| | [Documentation]
+| | ... | Compute path for testing on three given nodes in circular \
+| | ... | topology with double link and set corresponding \
+| | ... | test case variables.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${tg_node} - TG node. Type: dictionary
+| | ... | - ${dut1_node} - DUT1 node. Type: dictionary
+| | ... | - ${dut2_node} - DUT2 node. Type: dictionary
+| | ... | - ${tg2_node} - Node where the path ends. Must be the same as TG node
+| | ... |   parameter in circular topology. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned.
+| | ... |
+| | ... | _NOTE:_ This KW sets following test case variables:
+| | ... | - ${tg_node} - TG node.
+| | ... | - ${tg_to_dut1_if1} - TG interface towards DUT1 interface 1.
+| | ... | - ${tg_to_dut1_if2} - TG interface towards DUT1 interface 2.
+| | ... | - ${tg_to_dut1_mac_if1} - TG towards DUT1 MAC address interface 1.
+| | ... | - ${tg_to_dut1_mac_if2} - TG towards DUT1 MAC address interface 2.
+| | ... | - ${tg_to_dut2_if1} - TG interface towards DUT2 interface 1.
+| | ... | - ${tg_to_dut2_if2} - TG interface towards DUT2 interface 2.
+| | ... | - ${tg_to_dut2_mac_if1} - TG towards DUT2 MAC address interface 1.
+| | ... | - ${tg_to_dut2_mac_if2} - TG towards DUT2 MAC address interface 2.
+| | ... | - ${dut1_node} - DUT1 node.
+| | ... | - ${dut1_to_tg_if1} - DUT1 interface towards TG interface 1.
+| | ... | - ${dut1_to_tg_if2} - DUT1 interface towards TG interface 2.
+| | ... | - ${dut1_to_tg_mac_if1} - DUT1 towards TG MAC address interface 1.
+| | ... | - ${dut1_to_tg_mac_if2} - DUT1 towards TG MAC address interface 2.
+| | ... | - ${dut1_to_dut2_if1} - DUT1 interface towards DUT2 interface 1.
+| | ... | - ${dut1_to_dut2_if2} - DUT1 interface towards DUT2 interface 2.
+| | ... | - ${dut1_to_dut2_mac_if1} - DUT1 towards DUT2 MAC address interface 1.
+| | ... | - ${dut1_to_dut2_mac_if2} - DUT1 towards DUT2 MAC address interface 2.
+| | ... | - ${dut2_node} - DUT2 node.
+| | ... | - ${dut2_to_tg_if1} - DUT2 interface towards TG interface 1.
+| | ... | - ${dut2_to_tg_if2} - DUT2 interface towards TG interface 2.
+| | ... | - ${dut2_to_tg_mac_if1} - DUT2 towards TG MAC address interface 1.
+| | ... | - ${dut2_to_tg_mac_if2} - DUT2 towards TG MAC address interface 2.
+| | ... | - ${dut2_to_dut1_if1} - DUT2 interface towards DUT1 interface 1.
+| | ... | - ${dut2_to_dut1_if2} - DUT2 interface towards DUT1 interface 2.
+| | ... | - ${dut2_to_dut1_mac_if1} - DUT2 towards DUT1 MAC address interface 1.
+| | ... | - ${dut2_to_dut1_mac_if2} - DUT2 towards DUT1 MAC address interface 2.
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Configure path in double-link 3-node circular topology \| ${nodes['TG']} \
+| | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \| ${nodes['TG']} \|
+| | ...
+| | [Arguments] | ${tg_node} | ${dut1_node} | ${dut2_node} | ${tg2_node}
+| | Should Be Equal | ${tg_node} | ${tg2_node}
+| | # Compute path TG - DUT1 with two links in between
+| | Append Nodes | ${tg_node} | ${dut1_node} | ${tg_node}
+| | Compute Path | always_same_link=${FALSE}
+| | ${tg_to_dut1_if1} | ${tmp}= | First Interface
+| | ${tg_to_dut1_if2} | ${tmp}= | Last Interface
+| | ${dut1_to_tg_if1} | ${tmp}= | First Ingress Interface
+| | ${dut1_to_tg_if2} | ${tmp}= | Last Egress Interface
+| | # Compute path TG - DUT2 with two links in between
+| | Clear Path
+| | Append Nodes | ${tg_node} | ${dut2_node} | ${tg_node}
+| | Compute Path | always_same_link=${FALSE}
+| | ${tg_to_dut2_if1} | ${tmp}= | First Interface
+| | ${tg_to_dut2_if2} | ${tmp}= | Last Interface
+| | ${dut2_to_tg_if1} | ${tmp}= | First Ingress Interface
+| | ${dut2_to_tg_if2} | ${tmp}= | Last Egress Interface
+| | # Compute path DUT1 - DUT2 with one link in between
+| | Clear Path
+| | Append Nodes | ${dut1_node} | ${dut2_node} | ${dut1_node}
+| | Compute Path | always_same_link=${FALSE}
+| | ${dut1_to_dut2_if1} | ${tmp}= | First Interface
+| | ${dut1_to_dut2_if2} | ${tmp}= | Last Interface
+| | ${dut2_to_dut1_if1} | ${tmp}= | First Ingress Interface
+| | ${dut2_to_dut1_if2} | ${tmp}= | Last Egress Interface
+| | # Set test variables
+| | Set Test Variable | ${tg_to_dut1_if1}
+| | Set Test Variable | ${tg_to_dut1_if2}
+| | Set Test Variable | ${tg_to_dut2_if1}
+| | Set Test Variable | ${tg_to_dut2_if2}
+| | Set Test Variable | ${dut1_to_tg_if1}
+| | Set Test Variable | ${dut1_to_tg_if2}
+| | Set Test Variable | ${dut2_to_tg_if1}
+| | Set Test Variable | ${dut2_to_tg_if2}
+| | Set Test Variable | ${dut1_to_dut2_if1}
+| | Set Test Variable | ${dut1_to_dut2_if2}
+| | Set Test Variable | ${dut2_to_dut1_if1}
+| | Set Test Variable | ${dut2_to_dut1_if2}
+| | Set Test Variable | ${tg_node}
+| | Set Test Variable | ${dut1_node}
+| | Set Test Variable | ${dut2_node}
+| | # Set Mac Addresses
+| | ${tg_to_dut1_if1_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut1_if1}
+| | ${tg_to_dut1_if2_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut1_if2}
+| | ${tg_to_dut2_if1_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut2_if1}
+| | ${tg_to_dut2_if2_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut2_if2}
+| | ${dut1_to_tg_if1_mac}= | Get interface mac | ${dut1_node}
+| | ... | ${dut1_to_tg_if1}
+| | ${dut1_to_tg_if2_mac}= | Get interface mac | ${dut1_node}
+| | ... | ${dut1_to_tg_if2}
+| | ${dut1_to_dut2_if1_mac}= | Get interface mac | ${dut1_node}
+| | ... | ${dut1_to_dut2_if1}
+| | ${dut1_to_dut2_if2_mac}= | Get interface mac | ${dut1_node}
+| | ... | ${dut1_to_dut2_if2}
+| | ${dut2_to_tg_if1_mac}= | Get interface mac | ${dut2_node}
+| | ... | ${dut2_to_tg_if1}
+| | ${dut2_to_tg_if2_mac}= | Get interface mac | ${dut2_node}
+| | ... | ${dut2_to_tg_if2}
+| | ${dut2_to_dut1_if1_mac}= | Get interface mac | ${dut2_node}
+| | ... | ${dut2_to_dut1_if1}
+| | ${dut2_to_dut1_if2_mac}= | Get interface mac | ${dut2_node}
+| | ... | ${dut2_to_dut1_if2}
+| | Set Test Variable | ${tg_to_dut1_if1_mac}
+| | Set Test Variable | ${tg_to_dut1_if2_mac}
+| | Set Test Variable | ${tg_to_dut2_if1_mac}
+| | Set Test Variable | ${tg_to_dut2_if2_mac}
+| | Set Test Variable | ${dut1_to_tg_if1_mac}
+| | Set Test Variable | ${dut1_to_tg_if2_mac}
+| | Set Test Variable | ${dut1_to_dut2_if1_mac}
+| | Set Test Variable | ${dut1_to_dut2_if2_mac}
+| | Set Test Variable | ${dut2_to_tg_if1_mac}
+| | Set Test Variable | ${dut2_to_tg_if2_mac}
+| | Set Test Variable | ${dut2_to_dut1_if1_mac}
+| | Set Test Variable | ${dut2_to_dut1_if2_mac}
+
+| Set interfaces in double-link 3-node circular topology up
+| | [Documentation]
+| | ... | Set UP state on interfaces in 3-node double link path \
+| | ... | wait until all interfaces are ready.
+| | ...
+| | ... | *Arguments:*
+| | ... | - No arguments.
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned.
+| | ...
+| | ... | _NOTE:_ This KW uses test variables sets in
+| | ... |         "Configure path in double-link 3-node circular topology" KW.
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Configure path in double-link 3-node circular topology \| ${nodes['TG']} \
+| | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \|
+| | ... | \| Interfaces in Double-Link 3-node testing are UP \|
+| | ...
+| | Set Interface State | ${tg_node} | ${tg_to_dut1_if1} | up
+| | Set Interface State | ${tg_node} | ${tg_to_dut1_if2} | up
+| | Set Interface State | ${tg_node} | ${tg_to_dut2_if1} | up
+| | Set Interface State | ${tg_node} | ${tg_to_dut2_if2} | up
+| | Set Interface State | ${dut1_node} | ${dut1_to_tg_if1} | up
+| | Set Interface State | ${dut1_node} | ${dut1_to_tg_if2} | up
+| | Set Interface State | ${dut2_node} | ${dut2_to_tg_if1} | up
+| | Set Interface State | ${dut2_node} | ${dut2_to_tg_if2} | up
+| | Set Interface State | ${dut1_node} | ${dut1_to_dut2_if1} | up
+| | Set Interface State | ${dut1_node} | ${dut1_to_dut2_if2} | up
+| | Set Interface State | ${dut2_node} | ${dut2_to_dut1_if1} | up
+| | Set Interface State | ${dut2_node} | ${dut2_to_dut1_if2} | up
+| | Vpp Node Interfaces Ready Wait | ${dut1_node}
+| | Vpp Node Interfaces Ready Wait | ${dut2_node}
\ No newline at end of file