[VOL-2495]Realign failure testcases
Change-Id: I82b16e3dbc2814a2881acd80d63197b2e86190f2
diff --git a/tests/functional/Voltha_FailureScenarios.robot b/tests/functional/Voltha_FailureScenarios.robot
index ca3e153..df4bde8 100644
--- a/tests/functional/Voltha_FailureScenarios.robot
+++ b/tests/functional/Voltha_FailureScenarios.robot
@@ -101,6 +101,53 @@
Should Be Equal As Strings ${countAfterRestart} ${countBforRestart}
Log to console Pod ${podName} restarted and sanity checks passed successfully
+Check ONU adapter crash not forcing authentication again
+ [Documentation] After ONU adapter restart, checks wpa log for 'authentication started'
+ ... message count to make sure auth not started again and validates EAP status and ping.
+ ... Assuming that test1 or sanity was executed where all the ONUs are authenticated/DHCP/pingable
+ [Tags] functional ONUAdaptCrash notready
+ [Setup] None
+ [Teardown] None
+ @{before_list}= Create List
+ @{after_list}= Create List
+ FOR ${I} IN RANGE 0 ${num_onus}
+ ${src}= Set Variable ${hosts.src[${I}]}
+ ${dst}= Set Variable ${hosts.dst[${I}]}
+ ${onu_device_id}= Get Device ID From SN ${src['onu']}
+ ${onu_port}= Wait Until Keyword Succeeds ${timeout} 2s Get ONU Port in ONOS ${src['onu']}
+ ... ${of_id}
+ ${before}= Run Keyword If ${has_dataplane} Check Remote File Contents For WPA Logs
+ ... True /tmp/wpa.log authentication started ${src['ip']} ${src['user']} ${src['pass']}
+ ... ${src['container_type']} ${src['container_name']}
+ Append To List ${before_list} ${before}
+ END
+ Wait Until Keyword Succeeds ${timeout} 15s Restart Pod ${NAMESPACE} adapter-open-onu
+ Wait Until Keyword Succeeds ${timeout} 2s Validate Pod Status ${podName} ${NAMESPACE}
+ ... Running
+ FOR ${I} IN RANGE 0 ${num_onus}
+ ${src}= Set Variable ${hosts.src[${I}]}
+ ${dst}= Set Variable ${hosts.dst[${I}]}
+ ${onu_device_id}= Get Device ID From SN ${src['onu']}
+ ${onu_port}= Wait Until Keyword Succeeds ${timeout} 2s Get ONU Port in ONOS ${src['onu']}
+ ... ${of_id}
+ ${after}= Run Keyword If ${has_dataplane} Check Remote File Contents For WPA Logs
+ ... True /tmp/wpa.log authentication started ${src['ip']} ${src['user']} ${src['pass']}
+ ... ${src['container_type']} ${src['container_name']}
+ Append To List ${after_list} ${after}
+ ${output}= Run Keyword If ${has_dataplane} Login And Run Command On Remote System
+ ... wpa_cli status | grep SUCCESS ${src['ip']} ${src['user']} ${src['pass']}
+ ... ${src['container_type']} ${src['container_name']}
+ Run Keyword If ${has_dataplane} Should Contain ${output} SUCCESS
+ Run Keyword If ${has_dataplane} Run Keyword And Continue On Failure
+ ... Wait Until Keyword Succeeds 60s 2s Check Ping
+ ... True ${dst['dp_iface_ip_qinq']} ${src['dp_iface_name']} ${src['ip']} ${src['user']}
+ ... ${src['pass']} ${src['container_type']} ${src['container_name']}
+ END
+ Lists Should Be Equal ${after_list} ${before_list}
+ Log ${after_list}
+ Log ${before_list}
+ Run Keyword and Ignore Error Collect Logs
+
Verify ONU after rebooting physically
[Documentation] Test the ONU funcaionality by physically turning on/off ONU.
... Prerequisite : Subscriber are authenticated/DHCP/pingable state