1 from gnome import gconf
2 from wifi_assistant.daemon import Daemon
3 from wifi_assistant.settings.NetworkSetting import NetworkSetting
8 url_to_open = 'http://wifi-assistant.garage.maemo.org'
9 default_browser_name = "default"
10 default_browser_options = {'url':url_to_open}
11 default_settings = NetworkSetting()
12 default_settings.setNameOfBrowserToLaunch(default_browser_name)
13 default_settings.setBrowserOptions(default_browser_options)
14 ssid = 'A Network Name'
15 settings_without_options = NetworkSetting()
16 settings_without_options.setNetworkName(ssid)
17 settings_without_options.setLaunchingOfBrowserEnabled(True)
19 class DaemonTest(unittest.TestCase):
21 def replayMocks(self):
22 self.application_settings.replay()
23 self.launcher.replay()
24 self.network_settings.replay()
27 self.launcher = Mock()
28 self.application_settings = Mock()
29 self.network_settings = Mock()
30 self.parent_window = None
32 def createTesteeWithPopupClickingYes(self):
33 given(self.application_settings).getUsePopup().willReturn(True)
34 self.testee = Daemon(self.launcher, self.application_settings, self.network_settings, self.parent_window)
36 def yes(*args, **kwargs):
38 self.testee.showDecisionDialog = yes
40 def createTesteeWithPopupClickingNo(self):
41 given(self.application_settings).getUsePopup().willReturn(True)
42 self.testee = Daemon(self.launcher, self.application_settings, self.network_settings, self.parent_window)
44 def no(*args, **kwargs):
46 self.testee.showDecisionDialog = no
48 def test_withANewNetwork_whenUserClicksYes_browserIsLaunched(self):
50 self.createTesteeWithPopupClickingYes()
51 given(self.network_settings).get(ssid).willReturn(None)
52 given(self.network_settings).getDefaultSettings().willReturn(default_settings)
56 self.testee.connectionEstablished(ssid)
59 verify(self.network_settings).getDefaultSettings()
60 verify(self.launcher).launchBrowser(default_browser_name, default_browser_options)
62 def test_withANewNetwork_whenUserClicksNo_browserIsNotLaunched(self):
63 self.createTesteeWithPopupClickingNo()
64 given(self.network_settings).get(ssid).willReturn(None)
68 self.testee.connectionEstablished(ssid)
71 verify(self.launcher, never()).launchBrowser(default_browser_name, default_browser_options)
73 def test_popupIsNotOpenedIfPopupIsDisabledInApplicationSettings(self):
74 given(self.application_settings).getUsePopup().willReturn(False)
75 self.testee = Daemon(self.launcher, self.application_settings, self.network_settings, self.parent_window)
78 self.testee.connectionEstablished(ssid)
80 verify(self.launcher, never()).launchBrowser()
81 verify(self.network_settings, never()).get(ssid)
83 def test_knownSsidWithLaunchSetToTrueUsesDefaultBrowserAndUrl(self):
84 given(self.network_settings).get(ssid).willReturn(settings_without_options)
85 given(self.network_settings).getDefaultSettings().willReturn(default_settings)
86 given(self.application_settings).getUsePopup().willReturn(True)
87 self.testee = Daemon(self.launcher, self.application_settings, self.network_settings, self.parent_window)
90 self.testee.connectionEstablished(ssid)
92 verify(self.launcher, never()).launchBrowser(default_browser_name, default_browser_options)
95 if __name__ == '__main__':