19 from testscenarios
import multiply_scenarios
27 from autopilot.matchers
import Eventually
28 from testtools.matchers
import Equals, NotEquals
31 class TestIndicatorBaseTestCase(tests.IndicatorTestCase):
33 scenarios = [tests.IndicatorTestCase.device_emulation_scenarios[0]]
36 super(TestIndicatorBaseTestCase, self).setUp()
38 self.launch_indicator_service()
41 self.indicator = indicators.TestIndicator(self.main_window)
43 self.indicator.is_indicator_icon_visible(),
44 Eventually(Equals(
True), timeout=20)
46 self.indicator_page = self.indicator.open()
48 def launch_indicator_service(self):
49 launch_service_fixture = \
50 fixture_setup.LaunchMockIndicatorService(self.action_delay)
51 self.useFixture(launch_service_fixture)
56 """Test that an action causes the server to update"""
59 (
'Low', {
'action_delay': 0}),
60 (
'Medium', {
'action_delay': 2500}),
61 (
'High', {
'action_delay': 8000}),
63 scenarios = multiply_scenarios(
65 TestIndicatorBaseTestCase.scenarios
68 def test_switch_reaches_server_value(self):
69 switch = self.indicator_page.get_switcher()
70 switch_menu = self.indicator_page.get_switch_menu()
73 final_value = switch.checked
76 switch_menu.serverChecked,
77 Eventually(Equals(final_value), timeout=20)
80 def test_slider_reaches_server_value(self):
81 slider = self.indicator_page.get_slider()
82 slider_menu = self.indicator_page.get_slider_menu()
84 old_value = slider.value
86 final_value = slider.value
89 slider_menu.serverValue,
90 Eventually(NotEquals(old_value), timeout=20)
94 slider_menu.serverValue,
95 Eventually(Equals(final_value), timeout=20)
101 """Test that switching multiple times will buffer activations
103 See https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1390136 .
107 def test_switch_buffers_actvations(self):
109 switch = self.indicator_page.get_switcher()
110 switch.change_state()
111 intermediate_value = switch.checked
114 switch.change_state()
115 final_value = switch.checked
118 switch_menu = self.indicator_page.get_switch_menu()
120 switch_menu.serverChecked,
121 Eventually(Equals(intermediate_value), timeout=20)
134 switch_menu.serverChecked,
135 Eventually(Equals(final_value), timeout=20)
141 Equals(switch_menu.serverChecked)
144 def test_slider_buffers_activations(self):
146 slider = self.indicator_page.get_slider()
147 original_value = slider.value
152 final_value = slider.value
156 slider_menu = self.indicator_page.get_slider_menu()
158 slider_menu.serverValue,
159 Eventually(NotEquals(original_value), timeout=20)
164 slider_menu.serverValue,
165 NotEquals(final_value)
177 slider_menu.serverValue,
178 Eventually(Equals(final_value), timeout=20)
184 Equals(slider_menu.serverValue)
190 """Test that an action which does not respond in time will revert
191 to original value if not actioned in time.
193 See https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1390136 .
197 def test_switch_reverts_on_late_response(self):
199 switch = self.indicator_page.get_switcher()
200 switch_menu = self.indicator_page.get_switch_menu()
202 original_value = switch.checked
203 switch.change_state()
209 Eventually(Equals(original_value), timeout=20)
215 Equals(switch_menu.serverChecked)
218 def test_slider_reverts_on_late_response(self):
220 slider = self.indicator_page.get_slider()
221 slider_menu = self.indicator_page.get_slider_menu()
223 original_value = slider.value
230 Eventually(Equals(original_value), timeout=20)
236 Equals(slider_menu.serverValue)