3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-22 06:29:23 +01:00

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

View File

@ -8,11 +8,12 @@ import iwd
from iwd import IWD from iwd import IWD
from iwd import PSKAgent from iwd import PSKAgent
from iwd import NetworkType from iwd import NetworkType
from hostapd import HostapdCLI
import testutil import testutil
class Test(unittest.TestCase): class Test(unittest.TestCase):
def test_connection_success(self): def test_incorrect_password(self):
wd = IWD(True) wd = IWD(True)
psk_agent = PSKAgent("InvalidPassword") psk_agent = PSKAgent("InvalidPassword")
@ -34,6 +35,35 @@ class Test(unittest.TestCase):
wd.unregister_psk_agent(psk_agent) 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 @classmethod
def setUpClass(cls): def setUpClass(cls):
pass pass