summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-07-22 21:12:38 +0200
committerBastien Nocera <hadess@hadess.net>2022-07-24 19:56:26 +0200
commit93d3aaa2741aa74df5c6de3e23b60def1168b292 (patch)
treed67673d8e6c3c624d87addef5bdd881e6646ab18
parentb7aade9391ab49ff551fd60e6f5c7e63f93ffd1b (diff)
downloadaccountsservice-93d3aaa2741aa74df5c6de3e23b60def1168b292.tar.gz
tests: Add test for getting user data
-rwxr-xr-xtests/test-daemon.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test-daemon.py b/tests/test-daemon.py
index 74ddd37..c238563 100755
--- a/tests/test-daemon.py
+++ b/tests/test-daemon.py
@@ -44,6 +44,8 @@ if os.geteuid() == 0 or os.getuid() == 0:
AD = 'org.freedesktop.Accounts'
AD_PATH = '/org/freedesktop/Accounts'
+AD_USER = AD + '.User'
+AD_USER_PATH = AD_PATH + '/User'
class Tests(dbusmock.DBusTestCase):
@classmethod
@@ -190,6 +192,14 @@ class Tests(dbusmock.DBusTestCase):
AD_PATH, 'org.freedesktop.DBus.Properties', None)
return proxy.Get('(ss)', AD, name)
+ def get_user_dbus_property(self, user, name):
+ '''Get property value from user D-Bus interface.'''
+
+ proxy = Gio.DBusProxy.new_sync(
+ self.dbus, Gio.DBusProxyFlags.DO_NOT_AUTO_START, None, AD,
+ user, 'org.freedesktop.DBus.Properties', None)
+ return proxy.Get('(ss)', 'org.freedesktop.Accounts.User', name)
+
def have_text_in_log(self, text):
return self.count_text_in_log(text) > 0
@@ -218,6 +228,22 @@ class Tests(dbusmock.DBusTestCase):
# Actual test cases
#
+ def test_user_properties(self):
+ '''check a user's properties'''
+
+ self.start_daemon()
+
+ res = self.proxy.call_sync('ListCachedUsers', GLib.Variant('()', ()), 0, -1, None)
+ self.assertIsNotNone(res)
+ user = res[0][0]
+ self.assertEqual(user, AD_USER_PATH + '1001')
+
+ self.assertEqual(self.get_user_dbus_property(user, 'IconFile'), self.test_dir + '/var/lib/AccountsService/icons/rupert')
+
+ # gdbus call --system --dest org.freedesktop.Accounts --object-path /org/freedesktop/Accounts --method org.freedesktop.Accounts.ListCachedUsers
+
+ self.stop_daemon()
+
def test_startup(self):
'''startup test'''