auto-t: add test for deauth after authentication

This code path is not exercised in the autotest but commonly does
happen in the real world. There is no associated bug with this, but
its helpful to have this event triggered in case something got
introduced in the future.
This commit is contained in:
James Prestwood 2024-06-25 06:06:22 -07:00 committed by Denis Kenzior
parent d92e4c5663
commit 31b18a8c8b
1 changed files with 31 additions and 1 deletions

View File

@ -8,11 +8,12 @@ import iwd
from iwd import IWD
from iwd import PSKAgent
from iwd import NetworkType
from hostapd import HostapdCLI
import testutil
class Test(unittest.TestCase):
def test_connection_success(self):
def test_incorrect_password(self):
wd = IWD(True)
psk_agent = PSKAgent("InvalidPassword")
@ -34,6 +35,35 @@ class Test(unittest.TestCase):
wd.unregister_psk_agent(psk_agent)
def test_deauth_after_connection(self):
wd = IWD(True)
hostapd = HostapdCLI(config="ssidWPA2.conf")
psk_agent = PSKAgent("secret123")
wd.register_psk_agent(psk_agent)
devices = wd.list_devices(1)
self.assertIsNotNone(devices)
device = devices[0]
ordered_network = device.get_ordered_network('ssidWPA2')
self.assertEqual(ordered_network.type, NetworkType.psk)
condition = 'not obj.connected'
wd.wait_for_object_condition(ordered_network.network_object, condition)
ordered_network.network_object.connect(wait=False)
device.wait_for_event("authenticating")
# Trigger a deauth just after authenticating
hostapd.deauthenticate(device.address)
device.wait_for_event("disconnected")
wd.unregister_psk_agent(psk_agent)
@classmethod
def setUpClass(cls):
pass