Parcourir la source

tests: Fix radius_das_disconnect match + non-match case

If Calling-Station-Id matches, but CUI does not, NAS is expected to
reject the request instead of accepting it. Verify that Disconnect-NAK
is returned for this.

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen il y a 10 ans
Parent
commit
c2b48088f6
1 fichiers modifiés avec 5 ajouts et 4 suppressions
  1. 5 4
      tests/hwsim/test_radius.py

+ 5 - 4
tests/hwsim/test_radius.py

@@ -469,11 +469,12 @@ def test_radius_das_disconnect(dev, apdev):
     logger.debug("RADIUS response from hostapd")
     for i in reply.keys():
         logger.debug("%s: %s" % (i, reply[i]))
-    if reply.code != pyrad.packet.DisconnectACK:
+    if reply.code != pyrad.packet.DisconnectNAK:
         raise Exception("Unexpected response code")
-
-    dev[0].wait_disconnected(timeout=10)
-    dev[0].wait_connected(timeout=10, error="Re-connection timed out")
+    if 'Error-Cause' not in reply:
+        raise Exception("Missing Error-Cause")
+    if reply['Error-Cause'][0] != 503:
+        raise Exception("Unexpected Error-Cause: {}".format(reply['Error-Cause']))
 
     logger.info("Disconnect-Request with matching CUI")
     dev[1].connect("radius-das", key_mgmt="WPA-EAP",