1*32a95656SCy Schubert# Test cases for Device Provisioning Protocol (DPP) version 3 2*32a95656SCy Schubert# Copyright (c) 2021, Qualcomm Innovation Center, Inc. 3*32a95656SCy Schubert# 4*32a95656SCy Schubert# This software may be distributed under the terms of the BSD license. 5*32a95656SCy Schubert# See README for more details. 6*32a95656SCy Schubert 7*32a95656SCy Schubertfrom test_dpp import check_dpp_capab, run_dpp_auto_connect 8*32a95656SCy Schubert 9*32a95656SCy Schubertdef test_dpp_network_intro_version(dev, apdev): 10*32a95656SCy Schubert """DPP Network Introduction and protocol version""" 11*32a95656SCy Schubert check_dpp_capab(dev[0], min_ver=3) 12*32a95656SCy Schubert 13*32a95656SCy Schubert try: 14*32a95656SCy Schubert id, hapd = run_dpp_auto_connect(dev, apdev, 1, stop_after_prov=True) 15*32a95656SCy Schubert dev[0].select_network(id, freq=2412) 16*32a95656SCy Schubert dev[0].wait_connected() 17*32a95656SCy Schubert finally: 18*32a95656SCy Schubert dev[0].set("dpp_config_processing", "0", allow_fail=True) 19*32a95656SCy Schubert 20*32a95656SCy Schubertdef test_dpp_network_intro_version_change(dev, apdev): 21*32a95656SCy Schubert """DPP Network Introduction and protocol version change""" 22*32a95656SCy Schubert check_dpp_capab(dev[0], min_ver=3) 23*32a95656SCy Schubert 24*32a95656SCy Schubert try: 25*32a95656SCy Schubert dev[0].set("dpp_version_override", "2") 26*32a95656SCy Schubert id, hapd = run_dpp_auto_connect(dev, apdev, 1, stop_after_prov=True) 27*32a95656SCy Schubert dev[0].set("dpp_version_override", "3") 28*32a95656SCy Schubert dev[0].select_network(id, freq=2412) 29*32a95656SCy Schubert dev[0].wait_connected() 30*32a95656SCy Schubert finally: 31*32a95656SCy Schubert dev[0].set("dpp_config_processing", "0", allow_fail=True) 32*32a95656SCy Schubert 33*32a95656SCy Schubertdef test_dpp_network_intro_version_missing_req(dev, apdev): 34*32a95656SCy Schubert """DPP Network Introduction and protocol version missing from request""" 35*32a95656SCy Schubert check_dpp_capab(dev[0], min_ver=3) 36*32a95656SCy Schubert 37*32a95656SCy Schubert try: 38*32a95656SCy Schubert dev[0].set("dpp_version_override", "2") 39*32a95656SCy Schubert id, hapd = run_dpp_auto_connect(dev, apdev, 1, stop_after_prov=True) 40*32a95656SCy Schubert dev[0].set("dpp_version_override", "3") 41*32a95656SCy Schubert dev[0].set("dpp_test", "92") 42*32a95656SCy Schubert dev[0].select_network(id, freq=2412) 43*32a95656SCy Schubert ev = dev[0].wait_event(["DPP-INTRO"], timeout=10) 44*32a95656SCy Schubert if ev is None: 45*32a95656SCy Schubert raise Exception("DPP network introduction result not seen on STA") 46*32a95656SCy Schubert if "status=8" not in ev: 47*32a95656SCy Schubert raise Exception("Unexpected network introduction result on STA: " + ev) 48*32a95656SCy Schubert finally: 49*32a95656SCy Schubert dev[0].set("dpp_config_processing", "0", allow_fail=True) 50