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 |