Merge lp:~jonas-drange/ubuntu-system-settings/update-reset-launcher-test into lp:~mzanetti/ubuntu-system-settings/update-reset-launcher

Proposed by Jonas G. Drange
Status: Merged
Merged at revision: 1098
Proposed branch: lp:~jonas-drange/ubuntu-system-settings/update-reset-launcher-test
Merge into: lp:~mzanetti/ubuntu-system-settings/update-reset-launcher
Diff against target: 103 lines (+20/-35)
2 files modified
tests/autopilot/ubuntu_system_settings/tests/__init__.py (+0/-28)
tests/autopilot/ubuntu_system_settings/tests/test_reset.py (+20/-7)
To merge this branch: bzr merge lp:~jonas-drange/ubuntu-system-settings/update-reset-launcher-test
Reviewer Review Type Date Requested Status
Michael Zanetti Approve
Review via email: mp+236704@code.launchpad.net

Commit message

[reset] use Gio to assert that favorites were reset

To post a comment you must log in.
1098. By Jonas G. Drange

test both favorites and items

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Unfortunately this doesn't catch bugs in the code... (also valid for the existing test on favorites already, probably some more)

This test still passes against current trunk, even though that code doesn't reset items. Why, you ask? Because when you run this test (either on desktop or a freshly flashed phone) the launcher's item already are set to the default. So just checking if they are still set to the default after the test doesn't cut it, you'd need to change them before the reset call.

review: Needs Fixing
1099. By Jonas G. Drange

set favs/items to something random so the assertion makes sense

Revision history for this message
Michael Zanetti (mzanetti) wrote :

yep. expectedly fails against trunk, but works against my branch now. Thanks a lot!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/autopilot/ubuntu_system_settings/tests/__init__.py'
2--- tests/autopilot/ubuntu_system_settings/tests/__init__.py 2014-09-18 14:33:27 +0000
3+++ tests/autopilot/ubuntu_system_settings/tests/__init__.py 2014-10-01 14:43:27 +0000
4@@ -623,32 +623,6 @@
5 dbusmock.DBusTestCase):
6 """ Base class for reset settings tests"""
7
8- def mock_for_launcher_reset(self):
9- user_obj = '/user/foo'
10- # start dbus system bus
11- self.mock_server = self.spawn_server(ACCOUNTS_IFACE, ACCOUNTS_OBJ,
12- ACCOUNTS_IFACE, system_bus=True,
13- stdout=subprocess.PIPE)
14-
15- # spawn_server does not wait properly
16- # Reported as bug here: http://pad.lv/1350833
17- sleep(2)
18- self.acc_proxy = dbus.Interface(self.dbus_con.get_object(
19- ACCOUNTS_IFACE, ACCOUNTS_OBJ), dbusmock.MOCK_IFACE)
20-
21- self.acc_proxy.AddMethod(ACCOUNTS_IFACE, 'FindUserById', 'x', 'o',
22- 'ret = "%s"' % user_obj)
23-
24- self.acc_proxy.AddObject(
25- user_obj, ACCOUNTS_USER_IFACE, {}, [])
26-
27- self.user_mock = dbus.Interface(self.dbus_con.get_object(
28- ACCOUNTS_IFACE, user_obj),
29- dbusmock.MOCK_IFACE)
30-
31- self.user_mock.AddMethod(
32- 'org.freedesktop.DBus.Properties', 'Set', 'ssaa{sv}', '', '')
33-
34 def mock_for_factory_reset(self):
35 self.mock_server = self.spawn_server(SYSTEM_IFACE, SYSTEM_SERVICE_OBJ,
36 SYSTEM_IFACE, system_bus=True,
37@@ -667,9 +641,7 @@
38 klass.dbus_con = klass.get_dbus(True)
39
40 def setUp(self):
41- self.mock_for_launcher_reset()
42 self.mock_for_factory_reset()
43-
44 super(ResetBaseTestCase, self).setUp()
45 self.reset_page = self.system_settings.main_view.go_to_reset_phone()
46
47
48=== modified file 'tests/autopilot/ubuntu_system_settings/tests/test_reset.py'
49--- tests/autopilot/ubuntu_system_settings/tests/test_reset.py 2014-07-31 23:12:24 +0000
50+++ tests/autopilot/ubuntu_system_settings/tests/test_reset.py 2014-10-01 14:43:27 +0000
51@@ -10,7 +10,7 @@
52 from time import sleep
53
54 from autopilot.matchers import Eventually
55-from gi.repository import Gio
56+from gi.repository import Gio, GLib
57 from testtools.matchers import Contains, Equals
58
59 from ubuntu_system_settings.tests import ResetBaseTestCase
60@@ -20,8 +20,8 @@
61 class ResetTestCase(ResetBaseTestCase):
62 """Tests for Reset Page"""
63
64- def set_unity_launcher_favorites(self, gsettings, favorites):
65- gsettings.set_value('favorites', favorites)
66+ def set_unity_launcher(self, gsettings, key, value):
67+ gsettings.set_value(key, value)
68 # wait for gsettings
69 sleep(1)
70
71@@ -33,15 +33,28 @@
72
73 def test_reset_launcher(self):
74 gsettings = Gio.Settings.new('com.canonical.Unity.Launcher')
75+
76 favorites = gsettings.get_value('favorites')
77- self.addCleanup(
78- self.set_unity_launcher_favorites, gsettings, favorites)
79+ gsettings.set_value(
80+ 'favorites',
81+ GLib.Variant('as', ['application://nautilus.desktop']))
82+ self.addCleanup(
83+ self.set_unity_launcher, gsettings, 'favorites', favorites)
84+
85+ items = gsettings.get_value('items')
86+ gsettings.set_value(
87+ 'items', GLib.Variant('as', ['application:///dialer-app.desktop']))
88+ self.addCleanup(
89+ self.set_unity_launcher, gsettings, 'items', items)
90
91 self.reset_page.reset_launcher()
92+ self.assertThat(
93+ lambda: gsettings.get_value('favorites'),
94+ Eventually(Equals(gsettings.get_default_value('favorites'))))
95
96 self.assertThat(
97- lambda: str(self.user_mock.GetCalls()),
98- Eventually(Contains('com.canonical.unity.AccountsService')))
99+ lambda: gsettings.get_value('items'),
100+ Eventually(Equals(gsettings.get_default_value('items'))))
101
102 def test_factory_reset(self):
103 self.reset_page.erase_and_reset_everything()

Subscribers

People subscribed via source and target branches