enhancing physical pod e2e tests
Change-Id: Ia03607c858e11dab3fb64f4303d68cc47f344d23
diff --git a/src/test/cord-api/Framework/Subscriber.robot b/src/test/cord-api/Framework/Subscriber.robot
index 864bef2..e4791f0 100644
--- a/src/test/cord-api/Framework/Subscriber.robot
+++ b/src/test/cord-api/Framework/Subscriber.robot
@@ -27,11 +27,22 @@
SSHLibrary.Write sudo wpa_supplicant -B -i ${iface} -Dwired -c /etc/wpa_supplicant/${conf_file}
Read Until [sudo] password for ${user}:
SSHLibrary.Write ${pass}
- ${result}= Read Until ${prompt}
+ ${result}= Read Until wpa_supplicant
+ Log To Console \n\n ${result}\n
SSHLibrary.Close Connection
Should Contain ${result} Successfully initialized wpa_supplicant
[Return] ${result}
+Delete IP Addresses from Interface on Remote Host
+ [Arguments] ${ip} ${user} ${pass} ${interface} ${prompt}=$ ${prompt_timeout}=60s
+ ${conn_id}= SSHLibrary.Open Connection ${ip} prompt=${prompt} timeout=${prompt_timeout}
+ SSHLibrary.Login ${user} ${pass}
+ SSHLibrary.Write sudo ip addr flush dev ${interface}; echo $?
+ Read Until [sudo] password for ${user}:
+ SSHLibrary.Write ${pass}
+ ${result}= Read Until ${prompt}
+ SSHLibrary.Close Connection
+
Subscriber Status Check
[Arguments] ${onu_device}
[Documentation] Returns Status from Subscribers List for a particular ONU device
@@ -70,13 +81,60 @@
${api_result}= restApi.ApiChameleonDelete VOLT_SUBSCRIBER ${id}
Should Be True ${api_result}
-Delete IP Addresses from Interface on Remote Host
- [Arguments] ${ip} ${user} ${pass} ${interface} ${prompt}=$ ${prompt_timeout}=60s
- [Documentation] Deletes all ip addresses assigned to a particular interface on a remote host
+Add Double Vlan Interface on Host
+ [Arguments] ${ip} ${user} ${pass} ${interface} ${stag} ${ctag} ${prompt}=$ ${prompt_timeout}=60s
${conn_id}= SSHLibrary.Open Connection ${ip} prompt=${prompt} timeout=${prompt_timeout}
SSHLibrary.Login ${user} ${pass}
- SSHLibrary.Write sudo ip addr flush dev ${interface}; echo $?
+ SSHLibrary.Write sudo ip link add link ${interface} name ${interface}.${stag} type vlan id ${stag}
+ Read Until [sudo] password for ${user}:
+ SSHLibrary.Write ${pass}
+ SSHLibrary.Write sudo ip link set ${interface}.${stag} up
+ ${result}= Read Until ${prompt}
+ SSHLibrary.Write sudo ip link add link ${interface}.${stag} name ${interface}.${stag}.${ctag} type vlan id ${ctag}
+ ${result}= Read Until ${prompt}
+ SSHLibrary.Write sudo ip link set ${interface}.${stag}.${ctag} up
+ ${result}= Read Until ${prompt}
+ SSHLibrary.Write ifconfig ${interface}.${stag}.${ctag}
+ ${result}= Read Until ${prompt}
+ SSHLibrary.Close Connection
+
+Delete Interface on Remote Host
+ [Arguments] ${ip} ${user} ${pass} ${interface} ${prompt}=$ ${prompt_timeout}=60s
+ ${conn_id}= SSHLibrary.Open Connection ${ip} prompt=${prompt} timeout=${prompt_timeout}
+ SSHLibrary.Login ${user} ${pass}
+ SSHLibrary.Write sudo ip link del ${interface}
+ Read Until [sudo] password for ${user}:
+ SSHLibrary.Write ${pass}
+ Read Until ${prompt}
+ SSHLibrary.Close Connection
+
+Add Ip Address on Interface on Host
+ [Arguments] ${ip} ${user} ${pass} ${ip_address} ${interface} ${prompt}=$ ${prompt_timeout}=60s
+ ${conn_id}= SSHLibrary.Open Connection ${ip} prompt=${prompt} timeout=${prompt_timeout}
+ SSHLibrary.Login ${user} ${pass}
+ SSHLibrary.Write sudo ip addr add ${ip_address} dev ${interface}
+ Read Until [sudo] password for ${user}:
+ SSHLibrary.Write ${pass}
+ Read Until ${prompt}
+ SSHLibrary.Close Connection
+
+Start DHCP Server on Remote Host
+ [Arguments] ${ip} ${user} ${pass} ${interface} ${prompt}=$ ${prompt_timeout}=60s
+ ${conn_id}= SSHLibrary.Open Connection ${ip} prompt=${prompt} timeout=${prompt_timeout}
+ SSHLibrary.Login ${user} ${pass}
+ SSHLibrary.Write sudo dhcpd -cf /etc/dhcp/dhcpd.conf ${interface}
Read Until [sudo] password for ${user}:
SSHLibrary.Write ${pass}
${result}= Read Until ${prompt}
+ Should Contain ${result} Listening on LPF/${interface}
SSHLibrary.Close Connection
+
+Add Route to Remote Host
+ [Arguments] ${ip} ${user} ${pass} ${subnet} ${gateway} ${interface} ${prompt}=$ ${prompt_timeout}=60s
+ ${conn_id}= SSHLibrary.Open Connection ${ip} prompt=${prompt} timeout=${prompt_timeout}
+ SSHLibrary.Login ${user} ${pass}
+ SSHLibrary.Write sudo ip route add ${subnet} via ${gateway} dev ${interface}
+ Read Until [sudo] password for ${user}:
+ SSHLibrary.Write ${pass}
+ ${result}= Read Until ${prompt}
+ SSHLibrary.Close Connection
\ No newline at end of file