| #!/usr/bin/env python3 |
| # |
| # Copyright 2019 - The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| from acts import asserts |
| from acts import utils |
| |
| from acts.controllers.access_point import setup_ap |
| from acts.controllers.ap_lib import hostapd_ap_preset |
| from acts.controllers.ap_lib import hostapd_constants |
| from acts_contrib.test_utils.abstract_devices.wlan_device import create_wlan_device |
| from acts_contrib.test_utils.abstract_devices.wlan_device_lib.AbstractDeviceWlanDeviceBaseTest import AbstractDeviceWlanDeviceBaseTest |
| from acts_contrib.test_utils.wifi.WifiBaseTest import WifiBaseTest |
| |
| |
| class WlanPhyComplianceABGTest(AbstractDeviceWlanDeviceBaseTest): |
| """Tests for validating 11a, 11b, and 11g PHYS. |
| |
| Test Bed Requirement: |
| * One Android device or Fuchsia device |
| * One Access Point |
| """ |
| |
| def setup_class(self): |
| super().setup_class() |
| if 'dut' in self.user_params: |
| if self.user_params['dut'] == 'fuchsia_devices': |
| self.dut = create_wlan_device(self.fuchsia_devices[0]) |
| elif self.user_params['dut'] == 'android_devices': |
| self.dut = create_wlan_device(self.android_devices[0]) |
| else: |
| raise ValueError('Invalid DUT specified in config. (%s)' % |
| self.user_params['dut']) |
| else: |
| # Default is an android device, just like the other tests |
| self.dut = create_wlan_device(self.android_devices[0]) |
| |
| self.access_point = self.access_points[0] |
| open_network = self.get_open_network(False, []) |
| open_network_min_len = self.get_open_network( |
| False, [], |
| ssid_length_2g=hostapd_constants.AP_SSID_MIN_LENGTH_2G, |
| ssid_length_5g=hostapd_constants.AP_SSID_MIN_LENGTH_5G) |
| open_network_max_len = self.get_open_network( |
| False, [], |
| ssid_length_2g=hostapd_constants.AP_SSID_MAX_LENGTH_2G, |
| ssid_length_5g=hostapd_constants.AP_SSID_MAX_LENGTH_5G) |
| self.open_network_2g = open_network['2g'] |
| self.open_network_5g = open_network['5g'] |
| self.open_network_max_len_2g = open_network_max_len['2g'] |
| self.open_network_max_len_2g['SSID'] = ( |
| self.open_network_max_len_2g['SSID'][3:]) |
| self.open_network_max_len_5g = open_network_max_len['5g'] |
| self.open_network_max_len_5g['SSID'] = ( |
| self.open_network_max_len_5g['SSID'][3:]) |
| self.open_network_min_len_2g = open_network_min_len['2g'] |
| self.open_network_min_len_2g['SSID'] = ( |
| self.open_network_min_len_2g['SSID'][3:]) |
| self.open_network_min_len_5g = open_network_min_len['5g'] |
| self.open_network_min_len_5g['SSID'] = ( |
| self.open_network_min_len_5g['SSID'][3:]) |
| |
| self.utf8_ssid_2g = '2𝔤_𝔊𝔬𝔬𝔤𝔩𝔢' |
| self.utf8_ssid_5g = '5𝔤_𝔊𝔬𝔬𝔤𝔩𝔢' |
| |
| self.utf8_ssid_2g_french = 'Château du Feÿ' |
| self.utf8_password_2g_french = 'du Feÿ Château' |
| |
| self.utf8_ssid_2g_german = 'Rat für Straßenatlas' |
| self.utf8_password_2g_german = 'für Straßenatlas Rat' |
| |
| self.utf8_ssid_2g_dutch = 'Die niet óúd, is níéuw!' |
| self.utf8_password_2g_dutch = 'niet óúd, is níéuw! Die' |
| |
| self.utf8_ssid_2g_swedish = 'Det är femtioåtta' |
| self.utf8_password_2g_swedish = 'femtioåtta Det är' |
| |
| self.utf8_ssid_2g_norwegian = 'Curaçao ØÆ æ å å å' |
| self.utf8_password_2g_norwegian = 'ØÆ Curaçao æ å å å' |
| |
| #Danish and Norwegian has the same alphabet |
| self.utf8_ssid_2g_danish = self.utf8_ssid_2g_norwegian |
| self.utf8_password_2g_danish = self.utf8_password_2g_norwegian |
| |
| self.utf8_ssid_2g_japanese = 'あなた はお母さん' |
| self.utf8_password_2g_japanese = 'そっくりね。あな' |
| |
| self.utf8_ssid_2g_spanish = '¡No á,é,í,ó,ú,ü,ñ,¿,¡' |
| self.utf8_password_2g_spanish = 'á,é,í,ó,ú,ü,ñ,¿,¡ ¡No' |
| |
| self.utf8_ssid_2g_italian = 'caffè Pinocchio è italiano?' |
| self.utf8_password_2g_italian = 'Pinocchio è italiano? caffè' |
| |
| self.utf8_ssid_2g_korean = 'ㅘㅙㅚㅛㅜㅝㅞㅟㅠ' |
| self.utf8_password_2g_korean = 'ㅜㅝㅞㅟㅠㅘㅙㅚㅛ' |
| |
| self.access_point.stop_all_aps() |
| |
| def setup_test(self): |
| if hasattr(self, "android_devices"): |
| for ad in self.android_devices: |
| ad.droid.wakeLockAcquireBright() |
| ad.droid.wakeUpNow() |
| self.dut.wifi_toggle_state(True) |
| |
| def teardown_test(self): |
| if hasattr(self, "android_devices"): |
| for ad in self.android_devices: |
| ad.droid.wakeLockRelease() |
| ad.droid.goToSleepNow() |
| self.dut.turn_location_off_and_scan_toggle_off() |
| self.dut.disconnect() |
| self.dut.reset_wifi() |
| self.access_point.stop_all_aps() |
| |
| def on_fail(self, test_name, begin_time): |
| super().on_fail(test_name, begin_time) |
| self.access_point.stop_all_aps() |
| |
| def test_associate_11b_only_long_preamble(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| preamble=False) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_short_preamble(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| preamble=True) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_minimal_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| beacon_interval=15) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_maximum_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| beacon_interval=1024) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_frag_threshold_430(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| frag_threshold=430) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_rts_threshold_256(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| rts_threshold=256) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_rts_256_frag_430(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| rts_threshold=256, |
| frag_threshold=430) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_high_dtim_low_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| dtim_period=3, |
| beacon_interval=100) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_low_dtim_high_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| dtim_period=1, |
| beacon_interval=300) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_with_default_values(self): |
| setup_ap( |
| access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=hostapd_constants.WMM_11B_DEFAULT_PARAMS) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_with_non_default_values(self): |
| setup_ap( |
| access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=hostapd_constants.WMM_NON_DEFAULT_PARAMS) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_BK(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_BE(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_VI(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VI) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_BK_BE_VI(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VI) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_BK_BE_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_BK_VI_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_WMM_ACM_on_BE_VI_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_11B_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_country_code(self): |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['UNITED_STATES']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_non_country_code(self): |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['NON_COUNTRY']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_hidden_ssid(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| hidden=True) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_vendor_ie_in_beacon_correct_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['correct_length_beacon']) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_vendor_ie_in_beacon_zero_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['zero_length_beacon_without_data']) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_vendor_ie_in_assoc_correct_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['correct_length_association_response']) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11b_only_with_vendor_ie_in_assoc_zero_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=hostapd_constants.VENDOR_IE[ |
| 'zero_length_association_' |
| 'response_without_data']) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_long_preamble(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| preamble=False) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_short_preamble(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| preamble=True) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_minimal_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| beacon_interval=15) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_maximum_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| beacon_interval=1024) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_frag_threshold_430(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| frag_threshold=430) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_rts_threshold_256(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| rts_threshold=256) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_rts_256_frag_430(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| rts_threshold=256, |
| frag_threshold=430) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_high_dtim_low_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| dtim_period=3, |
| beacon_interval=100) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_low_dtim_high_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| dtim_period=1, |
| beacon_interval=300) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_with_default_values(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=hostapd_constants. |
| WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_with_non_default_values(self): |
| setup_ap( |
| access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=hostapd_constants.WMM_NON_DEFAULT_PARAMS) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_BK(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_BE(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_VI(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VI) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_BK_BE_VI(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VI) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_BK_BE_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_BK_VI_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_WMM_ACM_on_BE_VI_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_country_code(self): |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['UNITED_STATES']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_non_country_code(self): |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['NON_COUNTRY']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_hidden_ssid(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| hidden=True) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_vendor_ie_in_beacon_correct_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['correct_length_beacon']) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_vendor_ie_in_beacon_zero_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['zero_length_beacon_without_data']) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_vendor_ie_in_assoc_correct_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['correct_length_association_response']) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11a_only_with_vendor_ie_in_assoc_zero_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_5g['SSID'], |
| additional_ap_parameters=hostapd_constants.VENDOR_IE[ |
| 'zero_length_association_' |
| 'response_without_data']) |
| asserts.assert_true(self.dut.associate(self.open_network_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_long_preamble(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| preamble=False, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_short_preamble(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| preamble=True, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_minimal_beacon_interval(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| beacon_interval=15, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_maximum_beacon_interval(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| beacon_interval=1024, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_frag_threshold_430(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| frag_threshold=430, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_rts_threshold_256(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| rts_threshold=256, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_rts_256_frag_430(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| rts_threshold=256, |
| frag_threshold=430, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_high_dtim_low_beacon_interval(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| dtim_period=3, |
| beacon_interval=100, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_low_dtim_high_beacon_interval(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| dtim_period=1, |
| beacon_interval=300, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_with_default_values(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_with_non_default_values(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.WMM_NON_DEFAULT_PARAMS) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_BK(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_BE(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_VI(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VI, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_VO(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VO, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_BK_BE_VI(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VI, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_BK_BE_VO(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VO, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_BK_VI_VO(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_WMM_ACM_on_BE_VI_VO(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO, data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_country_code(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['UNITED_STATES'], data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_non_country_code(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['NON_COUNTRY'], data_rates) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_hidden_ssid(self): |
| data_rates = utils.merge_dicts(hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| hidden=True, |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_vendor_ie_in_beacon_correct_length(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.VENDOR_IE['correct_length_beacon']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_vendor_ie_in_beacon_zero_length(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.VENDOR_IE['zero_length_beacon_without_data']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_vendor_ie_in_assoc_correct_length(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.VENDOR_IE['correct_length_association_response']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_vendor_ie_in_assoc_zero_length(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.VENDOR_IE['correct_length_association_response'], |
| hostapd_constants.VENDOR_IE['zero_length_association_' |
| 'response_without_data']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_only_long_preamble(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| preamble=False) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_short_preamble(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| preamble=True) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_minimal_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| beacon_interval=15) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_maximum_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| beacon_interval=1024) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_frag_threshold_430(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| frag_threshold=430) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_rts_threshold_256(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| rts_threshold=256) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_rts_256_frag_430(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| rts_threshold=256, |
| frag_threshold=430) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_high_dtim_low_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| dtim_period=3, |
| beacon_interval=100) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_low_dtim_high_beacon_interval(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| dtim_period=1, |
| beacon_interval=300) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_with_default_values(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=hostapd_constants. |
| WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_with_non_default_values(self): |
| setup_ap( |
| access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=hostapd_constants.WMM_NON_DEFAULT_PARAMS) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_BK(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_BE(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_VI(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VI) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_BK_BE_VI(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VI) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_BK_BE_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_BE, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_BK_VI_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BK, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_WMM_ACM_on_BE_VI_VO(self): |
| wmm_acm_bits_enabled = utils.merge_dicts( |
| hostapd_constants.WMM_PHYS_11A_11G_11N_11AC_DEFAULT_PARAMS, |
| hostapd_constants.WMM_ACM_BE, hostapd_constants.WMM_ACM_VI, |
| hostapd_constants.WMM_ACM_VO) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| force_wmm=True, |
| additional_ap_parameters=wmm_acm_bits_enabled) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_country_code(self): |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['UNITED_STATES']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_non_country_code(self): |
| country_info = utils.merge_dicts( |
| hostapd_constants.ENABLE_IEEE80211D, |
| hostapd_constants.COUNTRY_STRING['ALL'], |
| hostapd_constants.COUNTRY_CODE['NON_COUNTRY']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=country_info) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_only_with_hidden_ssid(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| hidden=True) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_vendor_ie_in_beacon_correct_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['correct_length_beacon']) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11bg_with_vendor_ie_in_beacon_zero_length(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=hostapd_constants. |
| VENDOR_IE['zero_length_beacon_without_data']) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_vendor_ie_in_assoc_correct_length(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.VENDOR_IE['correct_length_association_response']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_associate_11g_only_with_vendor_ie_in_assoc_zero_length(self): |
| data_rates = utils.merge_dicts( |
| hostapd_constants.OFDM_DATA_RATES, |
| hostapd_constants.OFDM_ONLY_BASIC_RATES, |
| hostapd_constants.VENDOR_IE['correct_length_association_response'], |
| hostapd_constants.VENDOR_IE['zero_length_association_' |
| 'response_without_data']) |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ag_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_2g['SSID'], |
| additional_ap_parameters=data_rates) |
| asserts.assert_true(self.dut.associate(self.open_network_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_minimum_ssid_length_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_min_len_2g['SSID']) |
| asserts.assert_true( |
| self.dut.associate(self.open_network_min_len_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_minimum_ssid_length_5g_11ac_80mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_min_len_5g['SSID']) |
| asserts.assert_true( |
| self.dut.associate(self.open_network_min_len_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_maximum_ssid_length_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.open_network_max_len_2g['SSID']) |
| asserts.assert_true( |
| self.dut.associate(self.open_network_max_len_2g['SSID']), |
| 'Failed to associate.') |
| |
| def test_maximum_ssid_length_5g_11ac_80mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.open_network_max_len_5g['SSID']) |
| asserts.assert_true( |
| self.dut.associate(self.open_network_max_len_5g['SSID']), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_5g_11ac_80mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_5G, |
| ssid=self.utf8_ssid_5g) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_5g), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_french_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_french) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_french), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_german_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_german) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_german), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_dutch_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_dutch) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_dutch), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_swedish_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_swedish) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_swedish), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_norwegian_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_norwegian) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_norwegian), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_danish_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_danish) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_danish), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_japanese_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_japanese) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_japanese), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_spanish_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_spanish) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_spanish), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_italian_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_italian) |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_italian), |
| 'Failed to associate.') |
| |
| def test_ssid_with_UTF8_characters_korean_2g_11n_20mhz(self): |
| setup_ap(access_point=self.access_point, |
| profile_name='whirlwind_11ab_legacy', |
| channel=hostapd_constants.AP_DEFAULT_CHANNEL_2G, |
| ssid=self.utf8_ssid_2g_korean) |
| |
| asserts.assert_true(self.dut.associate(self.utf8_ssid_2g_korean), |
| 'Failed to associate.') |