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
=== modified file 'tests/autopilot/ubuntu_system_settings/tests/__init__.py'
--- tests/autopilot/ubuntu_system_settings/tests/__init__.py 2014-09-18 14:33:27 +0000
+++ tests/autopilot/ubuntu_system_settings/tests/__init__.py 2014-10-01 14:43:27 +0000
@@ -623,32 +623,6 @@
623 dbusmock.DBusTestCase):623 dbusmock.DBusTestCase):
624 """ Base class for reset settings tests"""624 """ Base class for reset settings tests"""
625625
626 def mock_for_launcher_reset(self):
627 user_obj = '/user/foo'
628 # start dbus system bus
629 self.mock_server = self.spawn_server(ACCOUNTS_IFACE, ACCOUNTS_OBJ,
630 ACCOUNTS_IFACE, system_bus=True,
631 stdout=subprocess.PIPE)
632
633 # spawn_server does not wait properly
634 # Reported as bug here: http://pad.lv/1350833
635 sleep(2)
636 self.acc_proxy = dbus.Interface(self.dbus_con.get_object(
637 ACCOUNTS_IFACE, ACCOUNTS_OBJ), dbusmock.MOCK_IFACE)
638
639 self.acc_proxy.AddMethod(ACCOUNTS_IFACE, 'FindUserById', 'x', 'o',
640 'ret = "%s"' % user_obj)
641
642 self.acc_proxy.AddObject(
643 user_obj, ACCOUNTS_USER_IFACE, {}, [])
644
645 self.user_mock = dbus.Interface(self.dbus_con.get_object(
646 ACCOUNTS_IFACE, user_obj),
647 dbusmock.MOCK_IFACE)
648
649 self.user_mock.AddMethod(
650 'org.freedesktop.DBus.Properties', 'Set', 'ssaa{sv}', '', '')
651
652 def mock_for_factory_reset(self):626 def mock_for_factory_reset(self):
653 self.mock_server = self.spawn_server(SYSTEM_IFACE, SYSTEM_SERVICE_OBJ,627 self.mock_server = self.spawn_server(SYSTEM_IFACE, SYSTEM_SERVICE_OBJ,
654 SYSTEM_IFACE, system_bus=True,628 SYSTEM_IFACE, system_bus=True,
@@ -667,9 +641,7 @@
667 klass.dbus_con = klass.get_dbus(True)641 klass.dbus_con = klass.get_dbus(True)
668642
669 def setUp(self):643 def setUp(self):
670 self.mock_for_launcher_reset()
671 self.mock_for_factory_reset()644 self.mock_for_factory_reset()
672
673 super(ResetBaseTestCase, self).setUp()645 super(ResetBaseTestCase, self).setUp()
674 self.reset_page = self.system_settings.main_view.go_to_reset_phone()646 self.reset_page = self.system_settings.main_view.go_to_reset_phone()
675647
676648
=== modified file 'tests/autopilot/ubuntu_system_settings/tests/test_reset.py'
--- tests/autopilot/ubuntu_system_settings/tests/test_reset.py 2014-07-31 23:12:24 +0000
+++ tests/autopilot/ubuntu_system_settings/tests/test_reset.py 2014-10-01 14:43:27 +0000
@@ -10,7 +10,7 @@
10from time import sleep10from time import sleep
1111
12from autopilot.matchers import Eventually12from autopilot.matchers import Eventually
13from gi.repository import Gio13from gi.repository import Gio, GLib
14from testtools.matchers import Contains, Equals14from testtools.matchers import Contains, Equals
1515
16from ubuntu_system_settings.tests import ResetBaseTestCase16from ubuntu_system_settings.tests import ResetBaseTestCase
@@ -20,8 +20,8 @@
20class ResetTestCase(ResetBaseTestCase):20class ResetTestCase(ResetBaseTestCase):
21 """Tests for Reset Page"""21 """Tests for Reset Page"""
2222
23 def set_unity_launcher_favorites(self, gsettings, favorites):23 def set_unity_launcher(self, gsettings, key, value):
24 gsettings.set_value('favorites', favorites)24 gsettings.set_value(key, value)
25 # wait for gsettings25 # wait for gsettings
26 sleep(1)26 sleep(1)
2727
@@ -33,15 +33,28 @@
3333
34 def test_reset_launcher(self):34 def test_reset_launcher(self):
35 gsettings = Gio.Settings.new('com.canonical.Unity.Launcher')35 gsettings = Gio.Settings.new('com.canonical.Unity.Launcher')
36
36 favorites = gsettings.get_value('favorites')37 favorites = gsettings.get_value('favorites')
37 self.addCleanup(38 gsettings.set_value(
38 self.set_unity_launcher_favorites, gsettings, favorites)39 'favorites',
40 GLib.Variant('as', ['application://nautilus.desktop']))
41 self.addCleanup(
42 self.set_unity_launcher, gsettings, 'favorites', favorites)
43
44 items = gsettings.get_value('items')
45 gsettings.set_value(
46 'items', GLib.Variant('as', ['application:///dialer-app.desktop']))
47 self.addCleanup(
48 self.set_unity_launcher, gsettings, 'items', items)
3949
40 self.reset_page.reset_launcher()50 self.reset_page.reset_launcher()
51 self.assertThat(
52 lambda: gsettings.get_value('favorites'),
53 Eventually(Equals(gsettings.get_default_value('favorites'))))
4154
42 self.assertThat(55 self.assertThat(
43 lambda: str(self.user_mock.GetCalls()),56 lambda: gsettings.get_value('items'),
44 Eventually(Contains('com.canonical.unity.AccountsService')))57 Eventually(Equals(gsettings.get_default_value('items'))))
4558
46 def test_factory_reset(self):59 def test_factory_reset(self):
47 self.reset_page.erase_and_reset_everything()60 self.reset_page.erase_and_reset_everything()

Subscribers

People subscribed via source and target branches