| OLD | NEW |
| (Empty) |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 import unittest | |
| 6 | |
| 7 import ap_configurator_factory | |
| 8 import dlink_ap_configurator | |
| 9 import linksys_ap_configurator | |
| 10 | |
| 11 import pyauto_ap_configurator # must preceed pyauto | |
| 12 import pyauto | |
| 13 | |
| 14 | |
| 15 class ConfiguratorTest(pyauto.PyUITest): | |
| 16 """This test needs to be run against the UI interface. | |
| 17 | |
| 18 The purpose of this test is to act as a basic acceptance test when developing | |
| 19 a new AP configurator class. Use this to make sure all core functionality is | |
| 20 implemented. | |
| 21 | |
| 22 This test does not verify that everything works. | |
| 23 | |
| 24 """ | |
| 25 | |
| 26 def setUp(self): | |
| 27 pyauto.PyUITest.setUp(self) | |
| 28 factory = ap_configurator_factory.APConfiguratorFactory(self) | |
| 29 # Set self.ap to the one you want to test against. | |
| 30 self.ap = factory.GetAPConfiguratorByShortName('DAP-1522') | |
| 31 | |
| 32 def testMakeNoChanges(self): | |
| 33 """Test saving with no changes doesn't throw an error.""" | |
| 34 # Set to a known state. | |
| 35 self.ap.SetRadio(True) | |
| 36 self.ap.ApplySettings() | |
| 37 # Set the same setting again. | |
| 38 self.ap.SetRadio(True) | |
| 39 self.ap.ApplySettings() | |
| 40 | |
| 41 def testRadio(self): | |
| 42 """Test we can adjust the radio setting.""" | |
| 43 self.ap.SetRadio(True) | |
| 44 self.ap.ApplySettings() | |
| 45 self.ap.SetRadio(False) | |
| 46 self.ap.ApplySettings() | |
| 47 | |
| 48 def testChannel(self): | |
| 49 """Test adjusting the channel.""" | |
| 50 self.ap.SetRadio(4) | |
| 51 self.ap.ApplySettings() | |
| 52 | |
| 53 def testVisibility(self): | |
| 54 """Test adjusting the visibility.""" | |
| 55 self.ap.SetVisibility(False) | |
| 56 self.ap.ApplySettings() | |
| 57 self.ap.SetVisibility(True) | |
| 58 self.ap.ApplySettings() | |
| 59 | |
| 60 def testSSID(self): | |
| 61 """Test setting the SSID.""" | |
| 62 self.ap.SetSSID('AP-automated-ssid') | |
| 63 self.ap.ApplySettings() | |
| 64 | |
| 65 def testSecurityWEP(self): | |
| 66 """Test configuring WEP security.""" | |
| 67 self.ap.SetSecurityWEP('45678', self.ap.wep_authentication_open) | |
| 68 self.ap.ApplySettings() | |
| 69 self.ap.SetSecurityWEP('90123', self.ap.wep_authentication_shared) | |
| 70 self.ap.ApplySettings() | |
| 71 | |
| 72 def testPrioritySets(self): | |
| 73 """Test that commands are run in the right priority.""" | |
| 74 self.ap.SetRadio(False) | |
| 75 self.ap.SetVisibility(True) | |
| 76 self.ap.SetSSID('priority_test') | |
| 77 self.ap.ApplySettings() | |
| 78 | |
| 79 def testSecurityAndGeneralSettings(self): | |
| 80 """Test updating settings that are general and security related.""" | |
| 81 self.ap.SetRadio(False) | |
| 82 self.ap.SetVisibility(True) | |
| 83 self.ap.SetSecurityWEP('88888', self.ap.wep_authentication_open) | |
| 84 self.ap.SetSSID('sec&gen_test') | |
| 85 self.ap.ApplySettings() | |
| 86 | |
| 87 def testModes(self): | |
| 88 """Tests switching modes.""" | |
| 89 modes_info = self.ap.GetSupportedModes() | |
| 90 self.assertFalse(not modes_info, | |
| 91 msg='Returned an invalid mode list. Is this method' | |
| 92 ' implemented?') | |
| 93 for band_modes in modes_info: | |
| 94 for mode in band_modes['modes']: | |
| 95 self.ap.SetMode(mode) | |
| 96 self.ap.ApplySettings() | |
| 97 | |
| 98 def testModesWithBand(self): | |
| 99 """Tests switching modes that support adjusting the band.""" | |
| 100 # Check if we support self.kModeN across multiple bands | |
| 101 modes_info = self.ap.GetSupportedModes() | |
| 102 n_bands = [] | |
| 103 for band_modes in modes_info: | |
| 104 if self.ap.mode_n in band_modes['modes']: | |
| 105 n_bands.append(band_modes['band']) | |
| 106 if len(n_bands) > 1: | |
| 107 for n_band in n_bands: | |
| 108 self.ap.SetMode(self.ap.mode_n, band=n_band) | |
| 109 self.ap.ApplySettings() | |
| 110 | |
| 111 def testFastCycleSecurity(self): | |
| 112 """Mini stress for changing security settings rapidly.""" | |
| 113 self.ap.SetRadio(True) | |
| 114 self.ap.SetSecurityWEP('77777', self.ap.wep_authentication_open) | |
| 115 self.ap.SetSecurityDisabled() | |
| 116 self.ap.SetSecurityWPAPSK('qwertyuiolkjhgfsdfg') | |
| 117 self.ap.ApplySettings() | |
| 118 | |
| 119 def testCycleSecurity(self): | |
| 120 """Test switching between different security settings.""" | |
| 121 self.ap.SetRadio(True) | |
| 122 self.ap.SetSecurityWEP('77777', self.ap.wep_authentication_open) | |
| 123 self.ap.ApplySettings() | |
| 124 self.ap.SetSecurityDisabled() | |
| 125 self.ap.ApplySettings() | |
| 126 self.ap.SetSecurityWPAPSK('qwertyuiolkjhgfsdfg') | |
| 127 self.ap.ApplySettings() | |
| 128 | |
| 129 def testActionsWhenRadioDisabled(self): | |
| 130 """Test making changes when the radio is diabled.""" | |
| 131 self.ap.SetRadio(False) | |
| 132 self.ap.ApplySettings() | |
| 133 self.ap.SetSecurityWEP('77777', self.ap.wep_authentication_open) | |
| 134 self.ap.SetRadio(False) | |
| 135 self.ap.ApplySettings() | |
| 136 | |
| 137 | |
| 138 if __name__ == '__main__': | |
| 139 pyauto_ap_configurator.Main() | |
| OLD | NEW |