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:
parent
d92e4c5663
commit
31b18a8c8b
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue