1 from gnome import gconf
2 from wifi_assistant.settings.network_settings import NetworkSettings
3 from wifi_assistant.settings.network_setting import NetworkSetting
7 class NetworkSettingsTest(unittest.TestCase):
10 self.gc = gconf.client_get_default()
11 self.root = '/apps/maemo/wifi/unit_tests'
12 self._clearGConf(self.root)
13 self._setupDefaultValues(self.root)
14 self.testee = NetworkSettings(self.gc, self.root)
17 def _setupDefaultValues(self, dir):
18 #settings = NetworkSetting()
19 #settings.setBrowserOption("url", "http://wifi-assistant.wendt.se/")
20 #settings.setNameOfBrowserToLaunch("default")
21 #settings.setNetworkName("default_settings")
22 #self.testee.save(settings)
23 #self.gc.set_string(dir + '/default_settings/options/url', 'http://wifi-assistant.wendt.se/')
24 #self.gc.set_string(dir + '/default_settings/browser', 'default')
25 # moved this into code for now
29 def _clearGConf(self, dir):
30 # there's no recursive_unset available
31 all_entries = self.gc.all_entries(dir)
32 for entry in all_entries:
33 self.gc.unset(entry.get_key())
34 for sub_dir in self.gc.all_dirs(dir):
35 self._clearGConf(sub_dir)
36 self.gc.suggest_sync()
40 def _createSettings(self, ssid):
41 return NetworkSetting({'name':ssid})
44 def test_an_unkown_ssid_returns_None(self):
45 settings = self.testee.get('unknown')
46 assert settings is None
49 def test_saving_works(self):
51 settings = self._createSettings(ssid)
53 # make sure it's empty first
54 assert self.testee.get(ssid) is None
56 self.testee.save(settings)
57 assert self.testee.get(ssid) is not None
60 def test_removing_network_setting_works(self):
62 settings = self._createSettings(ssid)
64 # make sure it's empty first
65 assert self.testee.get(ssid) is None
67 self.testee.save(settings)
68 assert self.testee.get(ssid) is not None
70 self.testee.delete(settings)
71 value = self.testee.get(ssid)
75 def test_network_name_can_contain_space_dash_and_underscore(self):
76 ssid = 'This Is-My_Network'
77 settings = self._createSettings(ssid)
79 # make sure it's empty first
80 assert self.testee.get(ssid) is None
82 self.testee.save(settings)
83 value = self.testee.get(ssid)
84 assert value is not None
85 assert value.getNetworkName() == ssid
88 def test_default_settings(self):
89 defaults = self.testee.getDefaultSettings()
90 assert defaults.getNameOfBrowserToLaunch() == 'default'
91 browser_options = defaults.getBrowserOptions()
92 assert defaults.getLaunchingOfBrowserEnabled() is True
93 assert browser_options is not None
94 assert browser_options.has_key('url')
95 assert "http://" in browser_options['url']
99 ssid = 'This Is-My_Network'
100 settings = self._createSettings(ssid)
101 self.testee.save(settings)
103 store = self.testee.getListStore()
104 assert store is not None
105 store_len = len(store)
106 assert store_len == 1
109 def test_adding_same_network_twice_joins_and_overwrites_settings(self):
111 # FIXME: the list store needs update instead of append etc
114 if __name__ == '__main__':